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/conscrypt/conscrypt/ClientSocketPerfTest.java b/apct-tests/perftests/core/src/android/conscrypt/conscrypt/ClientSocketPerfTest.java
index 9e45c4a..bcc0a3b 100644
--- a/apct-tests/perftests/core/src/android/conscrypt/conscrypt/ClientSocketPerfTest.java
+++ b/apct-tests/perftests/core/src/android/conscrypt/conscrypt/ClientSocketPerfTest.java
@@ -112,36 +112,20 @@
         for (EndpointFactory endpointFactory : EndpointFactory.values()) {
             for (ChannelType channelType : ChannelType.values()) {
                 for (PerfTestProtocol protocol : PerfTestProtocol.values()) {
-                    params.add(
-                            new Object[] {
-                                new Config(
-                                        endpointFactory,
-                                        endpointFactory,
-                                        64,
-                                        "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
-                                        channelType,
-                                        protocol)
-                            });
-                    params.add(
-                            new Object[] {
-                                new Config(
-                                        endpointFactory,
-                                        endpointFactory,
-                                        512,
-                                        "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
-                                        channelType,
-                                        protocol)
-                            });
-                    params.add(
-                            new Object[] {
-                                new Config(
-                                        endpointFactory,
-                                        endpointFactory,
-                                        4096,
-                                        "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
-                                        channelType,
-                                        protocol)
-                            });
+                    for (int messageSize : ConscryptParams.messageSizes) {
+                        for (String cipher : ConscryptParams.ciphers) {
+                            params.add(
+                                    new Object[] {
+                                            new Config(
+                                                    endpointFactory,
+                                                    endpointFactory,
+                                                    messageSize,
+                                                    cipher,
+                                                    channelType,
+                                                    protocol)
+                                    });
+                        }
+                    }
                 }
             }
         }
diff --git a/apct-tests/perftests/core/src/android/conscrypt/conscrypt/ConscryptParams.java b/apct-tests/perftests/core/src/android/conscrypt/conscrypt/ConscryptParams.java
new file mode 100644
index 0000000..e5131b8
--- /dev/null
+++ b/apct-tests/perftests/core/src/android/conscrypt/conscrypt/ConscryptParams.java
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+package android.conscrypt;
+
+import java.util.List;
+
+public class ConscryptParams {
+    public static final List<String> ciphers = List.of(
+        "TLS_RSA_WITH_AES_128_GCM_SHA256",
+        "TLS_RSA_WITH_AES_256_GCM_SHA384",
+        "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+        "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+        "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256"
+    );
+
+    public static final List<Integer> messageSizes = List.of(
+        64,
+        512,
+        4096
+    );
+}
\ No newline at end of file
diff --git a/apct-tests/perftests/core/src/android/conscrypt/conscrypt/EngineHandshakePerfTest.java b/apct-tests/perftests/core/src/android/conscrypt/conscrypt/EngineHandshakePerfTest.java
index cd0ac96..341d8e6 100644
--- a/apct-tests/perftests/core/src/android/conscrypt/conscrypt/EngineHandshakePerfTest.java
+++ b/apct-tests/perftests/core/src/android/conscrypt/conscrypt/EngineHandshakePerfTest.java
@@ -87,11 +87,13 @@
         }
     }
 
+
     public Collection getParams() {
         final List<Object[]> params = new ArrayList<>();
         for (BufferType bufferType : BufferType.values()) {
-            params.add(new Object[] {new Config(bufferType,
-                "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", 100)});
+            for (String cipher : ConscryptParams.ciphers) {
+                params.add(new Object[] {new Config(bufferType, cipher, 100)});
+            }
         }
         return params;
     }
diff --git a/apct-tests/perftests/core/src/android/conscrypt/conscrypt/EngineWrapPerfTest.java b/apct-tests/perftests/core/src/android/conscrypt/conscrypt/EngineWrapPerfTest.java
index 1fee218..23b642e 100644
--- a/apct-tests/perftests/core/src/android/conscrypt/conscrypt/EngineWrapPerfTest.java
+++ b/apct-tests/perftests/core/src/android/conscrypt/conscrypt/EngineWrapPerfTest.java
@@ -37,10 +37,10 @@
 import static org.junit.Assert.assertEquals;
 
 import java.nio.ByteBuffer;
-import java.util.Locale;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
+import java.util.Locale;
 import javax.net.ssl.SSLEngine;
 import javax.net.ssl.SSLEngineResult;
 import javax.net.ssl.SSLException;
@@ -94,12 +94,11 @@
     public Collection getParams() {
         final List<Object[]> params = new ArrayList<>();
         for (BufferType bufferType : BufferType.values()) {
-            params.add(new Object[] {new Config(bufferType, 64,
-                                    "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256")});
-            params.add(new Object[] {new Config(bufferType, 512,
-                                    "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256")});
-            params.add(new Object[] {new Config(bufferType, 4096,
-                                    "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256")});
+            for (int messageSize : ConscryptParams.messageSizes) {
+                for (String cipher : ConscryptParams.ciphers) {
+                    params.add(new Object[] {new Config(bufferType, messageSize, cipher)});
+                }
+            }
         }
         return params;
     }
diff --git a/apct-tests/perftests/core/src/android/conscrypt/conscrypt/ServerSocketPerfTest.java b/apct-tests/perftests/core/src/android/conscrypt/conscrypt/ServerSocketPerfTest.java
index 90a87ce..343bb12 100644
--- a/apct-tests/perftests/core/src/android/conscrypt/conscrypt/ServerSocketPerfTest.java
+++ b/apct-tests/perftests/core/src/android/conscrypt/conscrypt/ServerSocketPerfTest.java
@@ -102,15 +102,12 @@
         final List<Object[]> params = new ArrayList<>();
         for (EndpointFactory endpointFactory : EndpointFactory.values()) {
             for (ChannelType channelType : ChannelType.values()) {
-                params.add(new Object[] {new Config(endpointFactory,
-                    endpointFactory, 64,
-                    "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", channelType)});
-                params.add(new Object[] {new Config(endpointFactory,
-                    endpointFactory, 512,
-                    "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", channelType)});
-                params.add(new Object[] {new Config(endpointFactory,
-                    endpointFactory, 4096,
-                    "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", channelType)});
+                for (int messageSize : ConscryptParams.messageSizes) {
+                    for (String cipher : ConscryptParams.ciphers) {
+                        params.add(new Object[] {new Config(endpointFactory,
+                            endpointFactory, messageSize, cipher, channelType)});
+                    }
+                }
             }
         }
         return params;
diff --git a/apct-tests/perftests/core/src/android/os/TracePerfTest.java b/apct-tests/perftests/core/src/android/os/TracePerfTest.java
index d905124..00e1c1f 100644
--- a/apct-tests/perftests/core/src/android/os/TracePerfTest.java
+++ b/apct-tests/perftests/core/src/android/os/TracePerfTest.java
@@ -147,7 +147,7 @@
                 .addField(1 /* sending_thread_name */, "foo")
                 .endNested()
                 .endProto()
-                .addTerminatingFlow(5)
+                .setTerminatingFlow(5)
                 .emit();
 
         BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
@@ -158,7 +158,7 @@
                     .addField(1 /* sending_thread_name */, "foo")
                     .endNested()
                     .endProto()
-                    .addTerminatingFlow(5)
+                    .setTerminatingFlow(5)
                     .emit();
         }
     }
diff --git a/apct-tests/perftests/healthconnect/OWNERS b/apct-tests/perftests/healthconnect/OWNERS
index da0b46a..7c9e769 100644
--- a/apct-tests/perftests/healthconnect/OWNERS
+++ b/apct-tests/perftests/healthconnect/OWNERS
@@ -1,6 +1,4 @@
 # Bug component: 1219472
 
-arkivanov@google.com
 jstembridge@google.com
-pratyushmore@google.com
 itsleo@google.com
diff --git a/apex/jobscheduler/service/aconfig/job.aconfig b/apex/jobscheduler/service/aconfig/job.aconfig
index 29df80f..876274e 100644
--- a/apex/jobscheduler/service/aconfig/job.aconfig
+++ b/apex/jobscheduler/service/aconfig/job.aconfig
@@ -116,3 +116,13 @@
         purpose: PURPOSE_BUGFIX
     }
 }
+
+flag {
+    name: "additional_quota_for_system_installer"
+    namespace: "backstage_power"
+    description: "Offer additional quota for system installer"
+    bug: "398264531"
+    metadata {
+        purpose: PURPOSE_BUGFIX
+    }
+}
diff --git a/apex/jobscheduler/service/java/com/android/server/alarm/AlarmManagerService.java b/apex/jobscheduler/service/java/com/android/server/alarm/AlarmManagerService.java
index f89b13d..251776e 100644
--- a/apex/jobscheduler/service/java/com/android/server/alarm/AlarmManagerService.java
+++ b/apex/jobscheduler/service/java/com/android/server/alarm/AlarmManagerService.java
@@ -2995,6 +2995,8 @@
             pw.print(Flags.FLAG_START_USER_BEFORE_SCHEDULED_ALARMS,
                     Flags.startUserBeforeScheduledAlarms());
             pw.println();
+            pw.print(Flags.FLAG_ACQUIRE_WAKELOCK_BEFORE_SEND, Flags.acquireWakelockBeforeSend());
+            pw.println();
             pw.decreaseIndent();
             pw.println();
 
@@ -5367,6 +5369,9 @@
                         // to do any wakelock or stats tracking, so we have nothing
                         // left to do here but go on to the next thing.
                         mSendFinishCount++;
+                        if (Flags.acquireWakelockBeforeSend()) {
+                            mWakeLock.release();
+                        }
                         return;
                     }
                 } else {
@@ -5404,6 +5409,9 @@
                         // stats management to do.  It threw before we posted the delayed
                         // timeout message, so we're done here.
                         mListenerFinishCount++;
+                        if (Flags.acquireWakelockBeforeSend()) {
+                            mWakeLock.release();
+                        }
                         return;
                     }
                 }
diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/QuotaController.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/QuotaController.java
index 637c726..54d337e 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/controllers/QuotaController.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/QuotaController.java
@@ -494,6 +494,9 @@
 
     private long mEjLimitAdditionSpecialMs = QcConstants.DEFAULT_EJ_LIMIT_ADDITION_SPECIAL_MS;
 
+    private long mAllowedTimePeriodAdditionaInstallerMs =
+            QcConstants.DEFAULT_ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER_MS;
+
     /**
      * The period of time used to calculate expedited job sessions. Apps can only have expedited job
      * sessions totalling {@link #mEJLimitsMs}[bucket within this period of time (without factoring
@@ -1095,6 +1098,18 @@
         return baseLimitMs;
     }
 
+    private long getAllowedTimePerPeriodMsLocked(final int userId, @NonNull final String pkgName,
+            final int standbyBucket) {
+        final long baseLimitMs = mAllowedTimePerPeriodMs[standbyBucket];
+        if (Flags.adjustQuotaDefaultConstants()
+                && Flags.additionalQuotaForSystemInstaller()
+                && standbyBucket == EXEMPTED_INDEX
+                && mSystemInstallers.contains(userId, pkgName)) {
+            return baseLimitMs + mAllowedTimePeriodAdditionaInstallerMs;
+        }
+        return baseLimitMs;
+    }
+
     /**
      * Returns the amount of time, in milliseconds, until the package would have reached its
      * duration quota, assuming it has a job counting towards its quota the entire time. This takes
@@ -1112,25 +1127,26 @@
 
         List<TimedEvent> events = mTimingEvents.get(userId, packageName);
         final ExecutionStats stats = getExecutionStatsLocked(userId, packageName, standbyBucket);
+        final long allowedTimePerPeriodMs =
+                getAllowedTimePerPeriodMsLocked(userId, packageName, standbyBucket);
         if (events == null || events.size() == 0) {
             // Regular ACTIVE case. Since the bucket size equals the allowed time, the app jobs can
             // essentially run until they reach the maximum limit.
-            if (stats.windowSizeMs == mAllowedTimePerPeriodMs[standbyBucket]) {
+            if (stats.windowSizeMs == allowedTimePerPeriodMs) {
                 return mMaxExecutionTimeMs;
             }
-            return mAllowedTimePerPeriodMs[standbyBucket];
+            return allowedTimePerPeriodMs;
         }
 
         final long startWindowElapsed = nowElapsed - stats.windowSizeMs;
         final long startMaxElapsed = nowElapsed - MAX_PERIOD_MS;
-        final long allowedTimePerPeriodMs = mAllowedTimePerPeriodMs[standbyBucket];
         final long allowedTimeRemainingMs = allowedTimePerPeriodMs - stats.executionTimeInWindowMs;
         final long maxExecutionTimeRemainingMs =
                 mMaxExecutionTimeMs - stats.executionTimeInMaxPeriodMs;
 
         // Regular ACTIVE case. Since the bucket size equals the allowed time, the app jobs can
         // essentially run until they reach the maximum limit.
-        if (stats.windowSizeMs == mAllowedTimePerPeriodMs[standbyBucket]) {
+        if (stats.windowSizeMs == allowedTimePerPeriodMs) {
             return calculateTimeUntilQuotaConsumedLocked(
                     events, startMaxElapsed, maxExecutionTimeRemainingMs);
         }
@@ -1270,7 +1286,8 @@
             appStats[standbyBucket] = stats;
         }
         if (refreshStatsIfOld) {
-            final long bucketAllowedTimeMs = mAllowedTimePerPeriodMs[standbyBucket];
+            final long bucketAllowedTimeMs =
+                    getAllowedTimePerPeriodMsLocked(userId, packageName, standbyBucket);
             final long bucketWindowSizeMs = mBucketPeriodsMs[standbyBucket];
             final int jobCountLimit = mMaxBucketJobCounts[standbyBucket];
             final int sessionCountLimit = mMaxBucketSessionCounts[standbyBucket];
@@ -1845,9 +1862,10 @@
         final boolean isUnderJobCountQuota = isUnderJobCountQuotaLocked(stats);
         final boolean isUnderTimingSessionCountQuota = isUnderSessionCountQuotaLocked(stats);
         final long remainingEJQuota = getRemainingEJExecutionTimeLocked(userId, packageName);
-
+        final long allowedTimePerPeriosMs =
+                getAllowedTimePerPeriodMsLocked(userId, packageName, standbyBucket);
         final boolean inRegularQuota =
-                stats.executionTimeInWindowMs < mAllowedTimePerPeriodMs[standbyBucket]
+                stats.executionTimeInWindowMs < allowedTimePerPeriosMs
                         && stats.executionTimeInMaxPeriodMs < mMaxExecutionTimeMs
                         && isUnderJobCountQuota
                         && isUnderTimingSessionCountQuota;
@@ -3037,6 +3055,9 @@
         static final String KEY_ALLOWED_TIME_PER_PERIOD_RESTRICTED_MS =
                 QC_CONSTANT_PREFIX + "allowed_time_per_period_restricted_ms";
         @VisibleForTesting
+        static final String KEY_ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER_MS =
+                QC_CONSTANT_PREFIX + "allowed_time_per_period_addition_installer_ms";
+        @VisibleForTesting
         static final String KEY_IN_QUOTA_BUFFER_MS =
                 QC_CONSTANT_PREFIX + "in_quota_buffer_ms";
         @VisibleForTesting
@@ -3169,6 +3190,8 @@
                 10 * 60 * 1000L; // 10 minutes
         private static final long DEFAULT_ALLOWED_TIME_PER_PERIOD_RESTRICTED_MS =
                 10 * 60 * 1000L; // 10 minutes
+        private static final long DEFAULT_ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER_MS =
+                10 * 60 * 1000L; // 10 minutes
         private static final long DEFAULT_IN_QUOTA_BUFFER_MS =
                 30 * 1000L; // 30 seconds
         // Legacy default window size for EXEMPTED bucket
@@ -3509,6 +3532,9 @@
          */
         public long EJ_LIMIT_ADDITION_INSTALLER_MS = DEFAULT_EJ_LIMIT_ADDITION_INSTALLER_MS;
 
+        public long ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER_MS =
+                DEFAULT_ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER_MS;
+
         /**
          * The period of time used to calculate expedited job sessions. Apps can only have expedited
          * job sessions totalling EJ_LIMIT_<bucket>_MS within this period of time (without factoring
@@ -3603,6 +3629,7 @@
                 case KEY_ALLOWED_TIME_PER_PERIOD_FREQUENT_MS:
                 case KEY_ALLOWED_TIME_PER_PERIOD_RARE_MS:
                 case KEY_ALLOWED_TIME_PER_PERIOD_RESTRICTED_MS:
+                case KEY_ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER_MS:
                 case KEY_IN_QUOTA_BUFFER_MS:
                 case KEY_MAX_EXECUTION_TIME_MS:
                 case KEY_WINDOW_SIZE_ACTIVE_MS:
@@ -3847,7 +3874,7 @@
                     KEY_ALLOWED_TIME_PER_PERIOD_EXEMPTED_MS, KEY_ALLOWED_TIME_PER_PERIOD_ACTIVE_MS,
                     KEY_ALLOWED_TIME_PER_PERIOD_WORKING_MS, KEY_ALLOWED_TIME_PER_PERIOD_FREQUENT_MS,
                     KEY_ALLOWED_TIME_PER_PERIOD_RARE_MS, KEY_ALLOWED_TIME_PER_PERIOD_RESTRICTED_MS,
-                    KEY_IN_QUOTA_BUFFER_MS,
+                    KEY_ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER_MS, KEY_IN_QUOTA_BUFFER_MS,
                     KEY_MAX_EXECUTION_TIME_MS,
                     KEY_WINDOW_SIZE_EXEMPTED_MS, KEY_WINDOW_SIZE_ACTIVE_MS,
                     KEY_WINDOW_SIZE_WORKING_MS,
@@ -3871,6 +3898,9 @@
             ALLOWED_TIME_PER_PERIOD_RESTRICTED_MS =
                     properties.getLong(KEY_ALLOWED_TIME_PER_PERIOD_RESTRICTED_MS,
                             DEFAULT_ALLOWED_TIME_PER_PERIOD_RESTRICTED_MS);
+            ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER_MS =
+                    properties.getLong(KEY_ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER_MS,
+                            DEFAULT_ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER_MS);
             IN_QUOTA_BUFFER_MS = properties.getLong(KEY_IN_QUOTA_BUFFER_MS,
                     DEFAULT_IN_QUOTA_BUFFER_MS);
             MAX_EXECUTION_TIME_MS = properties.getLong(KEY_MAX_EXECUTION_TIME_MS,
@@ -3995,6 +4025,18 @@
                 mBucketPeriodsMs[RESTRICTED_INDEX] = newRestrictedPeriodMs;
                 mShouldReevaluateConstraints = true;
             }
+
+            if (Flags.additionalQuotaForSystemInstaller()) {
+                // The additions must be in the range
+                // [0 minutes, exempted window size - active limit].
+                long newAdditionInstallerMs = Math.max(0,
+                        Math.min(mBucketPeriodsMs[EXEMPTED_INDEX] - newAllowedTimeExemptedMs,
+                                ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER_MS));
+                if (mAllowedTimePeriodAdditionaInstallerMs != newAdditionInstallerMs) {
+                    mAllowedTimePeriodAdditionaInstallerMs = newAdditionInstallerMs;
+                    mShouldReevaluateConstraints = true;
+                }
+            }
         }
 
         private void updateRateLimitingConstantsLocked() {
@@ -4159,6 +4201,8 @@
                     .println();
             pw.print(KEY_ALLOWED_TIME_PER_PERIOD_RESTRICTED_MS,
                     ALLOWED_TIME_PER_PERIOD_RESTRICTED_MS).println();
+            pw.print(KEY_ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER_MS,
+                    ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER_MS).println();
             pw.print(KEY_IN_QUOTA_BUFFER_MS, IN_QUOTA_BUFFER_MS).println();
             pw.print(KEY_WINDOW_SIZE_EXEMPTED_MS, WINDOW_SIZE_EXEMPTED_MS).println();
             pw.print(KEY_WINDOW_SIZE_ACTIVE_MS, WINDOW_SIZE_ACTIVE_MS).println();
@@ -4335,6 +4379,11 @@
     }
 
     @VisibleForTesting
+    long getAllowedTimePeriodAdditionInstallerMs() {
+        return mAllowedTimePeriodAdditionaInstallerMs;
+    }
+
+    @VisibleForTesting
     long getEjLimitAdditionSpecialMs() {
         return mEjLimitAdditionSpecialMs;
     }
@@ -4435,6 +4484,8 @@
                 + ": " + Flags.enforceQuotaPolicyToFgsJobs());
         pw.println("    " + Flags.FLAG_ENFORCE_QUOTA_POLICY_TO_TOP_STARTED_JOBS
                 + ": " + Flags.enforceQuotaPolicyToTopStartedJobs());
+        pw.println("    " + Flags.FLAG_ADDITIONAL_QUOTA_FOR_SYSTEM_INSTALLER
+                + ": " + Flags.additionalQuotaForSystemInstaller());
         pw.println();
 
         pw.println("Current elapsed time: " + sElapsedRealtimeClock.millis());
diff --git a/api/OWNERS b/api/OWNERS
index f2bcf13..31ffa8c 100644
--- a/api/OWNERS
+++ b/api/OWNERS
@@ -1,4 +1,3 @@
-hansson@google.com
 
 # Modularization team
 file:platform/packages/modules/common:/OWNERS
diff --git a/boot/boot-image-profile.txt b/boot/boot-image-profile.txt
index 8f987c2..d7c409f 100644
--- a/boot/boot-image-profile.txt
+++ b/boot/boot-image-profile.txt
@@ -120,9 +120,9 @@
 HSPLandroid/accounts/IAccountManagerResponse$Stub;->getMaxTransactionId()I
 HSPLandroid/accounts/IAccountManagerResponse$Stub;->getTransactionName(I)Ljava/lang/String;
 HSPLandroid/accounts/IAccountManagerResponse$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-SPLandroid/adpf/FeatureFlagsImpl;-><init>()V
-SPLandroid/adpf/FeatureFlagsImpl;->adpfViewrootimplActionDownBoost()Z
-SPLandroid/adpf/Flags;-><clinit>()V
+HSPLandroid/adpf/FeatureFlagsImpl;-><init>()V
+HSPLandroid/adpf/FeatureFlagsImpl;->adpfViewrootimplActionDownBoost()Z
+HSPLandroid/adpf/Flags;-><clinit>()V
 HSPLandroid/adpf/Flags;->adpfViewrootimplActionDownBoost()Z
 HSPLandroid/animation/AnimationHandler$$ExternalSyntheticLambda0;-><init>(Landroid/animation/AnimationHandler;)V
 HSPLandroid/animation/AnimationHandler$$ExternalSyntheticLambda0;->doFrame(J)V
@@ -166,7 +166,7 @@
 HSPLandroid/animation/Animator$AnimatorConstantState;->newInstance()Landroid/animation/Animator;
 HSPLandroid/animation/Animator$AnimatorConstantState;->newInstance()Ljava/lang/Object;
 HSPLandroid/animation/Animator$AnimatorListener;->onAnimationEnd(Landroid/animation/Animator;Z)V+]Landroid/animation/Animator$AnimatorListener;megamorphic_types
-HSPLandroid/animation/Animator$AnimatorListener;->onAnimationStart(Landroid/animation/Animator;Z)V+]Landroid/animation/Animator$AnimatorListener;megamorphic_types
+HSPLandroid/animation/Animator$AnimatorListener;->onAnimationStart(Landroid/animation/Animator;Z)V+]Landroid/animation/Animator$AnimatorListener;missing_types
 HSPLandroid/animation/Animator;-><init>()V
 HSPLandroid/animation/Animator;->addListener(Landroid/animation/Animator$AnimatorListener;)V
 HSPLandroid/animation/Animator;->addPauseListener(Landroid/animation/Animator$AnimatorPauseListener;)V
@@ -240,6 +240,7 @@
 HSPLandroid/animation/AnimatorSet;->doAnimationFrame(J)Z
 HSPLandroid/animation/AnimatorSet;->end()V
 HSPLandroid/animation/AnimatorSet;->endAnimation()V
+HSPLandroid/animation/AnimatorSet;->endAnimation(Z)V+]Landroid/animation/AnimatorSet$SeekState;Landroid/animation/AnimatorSet$SeekState;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLandroid/animation/AnimatorSet;->ensureChildStartAndEndTimes()[J
 HSPLandroid/animation/AnimatorSet;->findLatestEventIdForTime(J)I
 HSPLandroid/animation/AnimatorSet;->findNextIndex(J[J)I
@@ -552,7 +553,7 @@
 HSPLandroid/app/Activity$HostCallbacks;->onUseFragmentManagerInflaterFactory()Z
 HSPLandroid/app/Activity;-><init>()V
 HSPLandroid/app/Activity;->attach(Landroid/content/Context;Landroid/app/ActivityThread;Landroid/app/Instrumentation;Landroid/os/IBinder;ILandroid/app/Application;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/CharSequence;Landroid/app/Activity;Ljava/lang/String;Landroid/app/Activity$NonConfigurationInstances;Landroid/content/res/Configuration;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;Landroid/view/Window;Landroid/view/ViewRootImpl$ActivityConfigCallback;Landroid/os/IBinder;Landroid/os/IBinder;)V
-HSPLandroid/app/Activity;->attach(Landroid/content/Context;Landroid/app/ActivityThread;Landroid/app/Instrumentation;Landroid/os/IBinder;ILandroid/app/Application;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/CharSequence;Landroid/app/Activity;Ljava/lang/String;Landroid/app/Activity$NonConfigurationInstances;Landroid/content/res/Configuration;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;Landroid/view/Window;Landroid/view/ViewRootImpl$ActivityConfigCallback;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/os/IBinder;)V
+HSPLandroid/app/Activity;->attach(Landroid/content/Context;Landroid/app/ActivityThread;Landroid/app/Instrumentation;Landroid/os/IBinder;ILandroid/app/Application;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/CharSequence;Landroid/app/Activity;Ljava/lang/String;Landroid/app/Activity$NonConfigurationInstances;Landroid/content/res/Configuration;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;Landroid/view/Window;Landroid/view/ViewRootImpl$ActivityConfigCallback;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/os/IBinder;)V+]Landroid/app/FragmentController;Landroid/app/FragmentController;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/view/LayoutInflater;Lcom/android/internal/policy/PhoneLayoutInflater;]Landroid/view/Window;Lcom/android/internal/policy/PhoneWindow;
 HSPLandroid/app/Activity;->attachBaseContext(Landroid/content/Context;)V
 HSPLandroid/app/Activity;->cancelInputsAndStartExitTransition(Landroid/os/Bundle;)V
 HSPLandroid/app/Activity;->collectActivityLifecycleCallbacks()[Ljava/lang/Object;
@@ -715,7 +716,7 @@
 HSPLandroid/app/ActivityManager$$ExternalSyntheticLambda2;->fetchValue()Ljava/lang/Object;
 HSPLandroid/app/ActivityManager$2;-><init>(Landroid/app/ActivityManager;)V
 HSPLandroid/app/ActivityManager$4;->create()Landroid/app/IActivityManager;
-SPLandroid/app/ActivityManager$4;->create()Ljava/lang/Object;
+HSPLandroid/app/ActivityManager$4;->create()Ljava/lang/Object;
 HSPLandroid/app/ActivityManager$AppTask;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo;
 HSPLandroid/app/ActivityManager$MemoryInfo;-><init>()V
 HSPLandroid/app/ActivityManager$MemoryInfo;->copyTo(Landroid/app/ActivityManager$MemoryInfo;)V
@@ -765,7 +766,7 @@
 HSPLandroid/app/ActivityManager$TaskDescription;->setPrimaryColor(I)V
 HSPLandroid/app/ActivityManager$TaskDescription;->setStatusBarColor(I)V
 HSPLandroid/app/ActivityManager$TaskDescription;->writeToParcel(Landroid/os/Parcel;I)V
-SPLandroid/app/ActivityManager;->$r8$lambda$KfaWjLSz8MRDCTZ5k_6RKNsGfys(Landroid/app/ActivityManager;)Ljava/util/List;
+HSPLandroid/app/ActivityManager;->$r8$lambda$KfaWjLSz8MRDCTZ5k_6RKNsGfys(Landroid/app/ActivityManager;)Ljava/util/List;
 HSPLandroid/app/ActivityManager;->$r8$lambda$ZuQeTlxj3UIhJqa0jkPJ3FavvSc(Landroid/app/ActivityManager;)Landroid/app/ActivityManager$MemoryInfo;
 HSPLandroid/app/ActivityManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
 HSPLandroid/app/ActivityManager;->addOnUidImportanceListener(Landroid/app/ActivityManager$OnUidImportanceListener;I)V
@@ -794,7 +795,7 @@
 HSPLandroid/app/ActivityManager;->isLowMemoryKillReportSupported()Z
 HSPLandroid/app/ActivityManager;->isLowRamDevice()Z
 HSPLandroid/app/ActivityManager;->isLowRamDeviceStatic()Z
-SPLandroid/app/ActivityManager;->isProcStateCached(I)Z
+HSPLandroid/app/ActivityManager;->isProcStateCached(I)Z
 HSPLandroid/app/ActivityManager;->isProcStateJankPerceptible(I)Z
 HSPLandroid/app/ActivityManager;->isRunningInTestHarness()Z
 HSPLandroid/app/ActivityManager;->isRunningInUserTestHarness()Z
@@ -803,7 +804,7 @@
 HSPLandroid/app/ActivityManager;->isUserRunning(I)Z
 HSPLandroid/app/ActivityManager;->lambda$getMemoryInfo$0()Landroid/app/ActivityManager$MemoryInfo;
 HSPLandroid/app/ActivityManager;->lambda$getMyMemoryState$3()Landroid/app/ActivityManager$RunningAppProcessInfo;
-SPLandroid/app/ActivityManager;->lambda$getRunningAppProcesses$2()Ljava/util/List;
+HSPLandroid/app/ActivityManager;->lambda$getRunningAppProcesses$2()Ljava/util/List;
 HSPLandroid/app/ActivityManager;->staticGetLargeMemoryClass()I
 HSPLandroid/app/ActivityManager;->staticGetMemoryClass()I
 HSPLandroid/app/ActivityOptions$SourceInfo;-><init>(IJ)V
@@ -830,12 +831,13 @@
 HSPLandroid/app/ActivityThread$$ExternalSyntheticLambda1;-><init>()V
 HSPLandroid/app/ActivityThread$$ExternalSyntheticLambda1;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/app/ActivityThread$$ExternalSyntheticLambda4;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLandroid/app/ActivityThread$2;-><init>(Landroid/app/ActivityThread;Landroid/app/IActivityManager;)V
-HSPLandroid/app/ActivityThread$3;-><init>(Landroid/app/ActivityThread;)V
+SPLandroid/app/ActivityThread$3;-><init>(Landroid/app/ActivityThread;Landroid/app/IActivityManager;)V
 HSPLandroid/app/ActivityThread$4;-><init>(Landroid/app/ActivityThread;)V
-SPLandroid/app/ActivityThread$4;->setContentCaptureOptions(Landroid/content/ContentCaptureOptions;)V
-SPLandroid/app/ActivityThread$5;-><init>(Landroid/app/ActivityThread;)V
-SPLandroid/app/ActivityThread$5;->run()V
+HSPLandroid/app/ActivityThread$4;->run()V
+HSPLandroid/app/ActivityThread$5;-><init>(Landroid/app/ActivityThread;)V
+SPLandroid/app/ActivityThread$5;->setContentCaptureOptions(Landroid/content/ContentCaptureOptions;)V
+SPLandroid/app/ActivityThread$6;-><init>(Landroid/app/ActivityThread;)V
+HSPLandroid/app/ActivityThread$6;->run()V
 HSPLandroid/app/ActivityThread$ActivityClientRecord$1;-><init>(Landroid/app/ActivityThread$ActivityClientRecord;)V
 HSPLandroid/app/ActivityThread$ActivityClientRecord;->-$$Nest$misPreHoneycomb(Landroid/app/ActivityThread$ActivityClientRecord;)Z
 HSPLandroid/app/ActivityThread$ActivityClientRecord;-><init>(Landroid/os/IBinder;Landroid/content/Intent;ILandroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/util/List;Ljava/util/List;Landroid/app/ActivityOptions$SceneTransitionInfo;ZLandroid/app/ProfilerInfo;Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/os/IBinder;ZLandroid/os/IBinder;Landroid/os/IBinder;Landroid/window/ActivityWindowInfo;)V
@@ -855,7 +857,7 @@
 HSPLandroid/app/ActivityThread$ApplicationThread$$ExternalSyntheticLambda2;-><init>()V
 HSPLandroid/app/ActivityThread$ApplicationThread$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLandroid/app/ActivityThread$ApplicationThread;-><init>(Landroid/app/ActivityThread;)V
-SPLandroid/app/ActivityThread$ApplicationThread;->bindApplication(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Ljava/lang/String;ZLandroid/content/pm/ProviderInfoList;Landroid/content/ComponentName;Landroid/app/ProfilerInfo;Landroid/os/Bundle;Landroid/app/IInstrumentationWatcher;Landroid/app/IUiAutomationConnection;IZZZZLandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/util/Map;Landroid/os/Bundle;Ljava/lang/String;Landroid/content/AutofillOptions;Landroid/content/ContentCaptureOptions;[J[JLandroid/os/SharedMemory;Ljava/io/FileDescriptor;JJ)V
+HSPLandroid/app/ActivityThread$ApplicationThread;->bindApplication(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Ljava/lang/String;ZLandroid/content/pm/ProviderInfoList;Landroid/content/ComponentName;Landroid/app/ProfilerInfo;Landroid/os/Bundle;Landroid/app/IInstrumentationWatcher;Landroid/app/IUiAutomationConnection;IZZZZLandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/util/Map;Landroid/os/Bundle;Ljava/lang/String;Landroid/content/AutofillOptions;Landroid/content/ContentCaptureOptions;[J[JLandroid/os/SharedMemory;Ljava/io/FileDescriptor;JJ)V
 HSPLandroid/app/ActivityThread$ApplicationThread;->clearDnsCache()V
 HSPLandroid/app/ActivityThread$ApplicationThread;->dispatchPackageBroadcast(I[Ljava/lang/String;)V
 HSPLandroid/app/ActivityThread$ApplicationThread;->dumpCacheInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V
@@ -886,7 +888,7 @@
 HSPLandroid/app/ActivityThread$ApplicationThread;->setNetworkBlockSeq(J)V
 HSPLandroid/app/ActivityThread$ApplicationThread;->setProcessState(I)V
 HSPLandroid/app/ActivityThread$ApplicationThread;->unstableProviderDied(Landroid/os/IBinder;)V
-SPLandroid/app/ActivityThread$ApplicationThread;->updateCompatOverrideDisplayRotation(Landroid/content/res/CompatibilityInfo;)V
+HSPLandroid/app/ActivityThread$ApplicationThread;->updateCompatOverrideDisplayRotation(Landroid/content/res/CompatibilityInfo;)V
 HSPLandroid/app/ActivityThread$ApplicationThread;->updateCompatOverrideScale(Landroid/content/res/CompatibilityInfo;)V
 HSPLandroid/app/ActivityThread$BindServiceData;-><init>()V
 HSPLandroid/app/ActivityThread$BindServiceData;->toString()Ljava/lang/String;
@@ -1029,7 +1031,7 @@
 HSPLandroid/app/ActivityThread;->isProtectedComponent(Landroid/content/pm/ComponentInfo;Ljava/lang/String;)Z
 HSPLandroid/app/ActivityThread;->isProtectedComponent(Landroid/content/pm/ServiceInfo;)Z
 HSPLandroid/app/ActivityThread;->isSystem()Z
-HSPLandroid/app/ActivityThread;->lambda$attach$6(Landroid/content/res/Configuration;)V
+HSPLandroid/app/ActivityThread;->lambda$attach$6(Landroid/content/res/Configuration;)V+]Landroid/app/ConfigurationController;Landroid/app/ConfigurationController;
 HSPLandroid/app/ActivityThread;->main([Ljava/lang/String;)V
 HSPLandroid/app/ActivityThread;->onCoreSettingsChange()V
 HSPLandroid/app/ActivityThread;->peekPackageInfo(Ljava/lang/String;Z)Landroid/app/LoadedApk;
@@ -1096,8 +1098,9 @@
 HSPLandroid/app/AlertDialog;-><init>(Landroid/content/Context;IZ)V
 HSPLandroid/app/AlertDialog;->onCreate(Landroid/os/Bundle;)V
 HSPLandroid/app/AlertDialog;->resolveDialogTheme(Landroid/content/Context;I)I
-SPLandroid/app/AppCompatCallbacks;-><init>([J[J)V
+HSPLandroid/app/AppCompatCallbacks;-><init>([J[J)V
 HSPLandroid/app/AppCompatCallbacks;->isChangeEnabled(J)Z
+HSPLandroid/app/AppCompatCallbacks;->reportChange(JIZ)V+]Lcom/android/internal/compat/ChangeReporter;Lcom/android/internal/compat/ChangeReporter;
 HSPLandroid/app/AppComponentFactory;-><init>()V
 HSPLandroid/app/AppComponentFactory;->instantiateActivity(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Activity;
 HSPLandroid/app/AppComponentFactory;->instantiateApplication(Ljava/lang/ClassLoader;Ljava/lang/String;)Landroid/app/Application;
@@ -1128,6 +1131,7 @@
 HSPLandroid/app/AppOpsManager$PackageOps;->getOps()Ljava/util/List;
 HSPLandroid/app/AppOpsManager$PackageOps;->getPackageName()Ljava/lang/String;
 HSPLandroid/app/AppOpsManager$PausedNotedAppOpsCollection;-><init>(ILandroid/util/ArrayMap;)V
+SPLandroid/app/AppOpsManager;->-$$Nest$smgetService()Lcom/android/internal/app/IAppOpsService;
 HSPLandroid/app/AppOpsManager;-><init>(Landroid/content/Context;Lcom/android/internal/app/IAppOpsService;)V
 HSPLandroid/app/AppOpsManager;->checkOp(IILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->checkOpNoThrow(IILjava/lang/String;)I
@@ -1245,7 +1249,7 @@
 HSPLandroid/app/ApplicationExitInfo;->getStatus()I
 HSPLandroid/app/ApplicationExitInfo;->getTimestamp()J
 HSPLandroid/app/ApplicationLoaders$CachedClassLoader;-><init>()V
-SPLandroid/app/ApplicationLoaders$CachedClassLoader;-><init>(Landroid/app/ApplicationLoaders-IA;)V
+HSPLandroid/app/ApplicationLoaders$CachedClassLoader;-><init>(Landroid/app/ApplicationLoaders-IA;)V
 HSPLandroid/app/ApplicationLoaders;->addNative(Ljava/lang/ClassLoader;Ljava/util/Collection;)V
 HSPLandroid/app/ApplicationLoaders;->createAndCacheNonBootclasspathSystemClassLoader(Landroid/content/pm/SharedLibraryInfo;)V
 HSPLandroid/app/ApplicationLoaders;->createAndCacheNonBootclasspathSystemClassLoaders(Ljava/util/List;)V
@@ -1256,12 +1260,12 @@
 HSPLandroid/app/ApplicationLoaders;->getDefault()Landroid/app/ApplicationLoaders;
 HSPLandroid/app/ApplicationLoaders;->getSharedLibraryClassLoaderWithSharedLibraries(Ljava/lang/String;IZLjava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)Ljava/lang/ClassLoader;
 HSPLandroid/app/ApplicationLoaders;->sharedLibrariesEquals(Ljava/util/List;Ljava/util/List;)Z
-SPLandroid/app/ApplicationPackageManager$1;-><init>(Landroid/app/PropertyInvalidatedCache$Args;Ljava/lang/String;Landroid/app/PropertyInvalidatedCache$QueryHandler;)V
+HSPLandroid/app/ApplicationPackageManager$1;-><init>(Landroid/app/PropertyInvalidatedCache$Args;Ljava/lang/String;Landroid/app/PropertyInvalidatedCache$QueryHandler;)V
 HSPLandroid/app/ApplicationPackageManager$1;->recompute(Landroid/app/ApplicationPackageManager$HasSystemFeatureQuery;)Ljava/lang/Boolean;
 HSPLandroid/app/ApplicationPackageManager$1;->recompute(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/app/ApplicationPackageManager$2;-><init>(Landroid/app/ApplicationPackageManager;Landroid/content/pm/PackageManager$OnChecksumsReadyListener;)V
 HSPLandroid/app/ApplicationPackageManager$2;->onChecksumsReady(Ljava/util/List;)V
-SPLandroid/app/ApplicationPackageManager$3;-><init>(ILjava/lang/String;)V
+HSPLandroid/app/ApplicationPackageManager$3;-><init>(ILjava/lang/String;)V
 HSPLandroid/app/ApplicationPackageManager$3;->recompute(Ljava/lang/Integer;)Landroid/app/ApplicationPackageManager$GetPackagesForUidResult;
 HSPLandroid/app/ApplicationPackageManager$3;->recompute(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/app/ApplicationPackageManager$GetPackagesForUidResult;-><init>([Ljava/lang/String;)V
@@ -1273,7 +1277,7 @@
 HSPLandroid/app/ApplicationPackageManager$ResourceName;-><init>(Ljava/lang/String;I)V
 HSPLandroid/app/ApplicationPackageManager$ResourceName;->equals(Ljava/lang/Object;)Z
 HSPLandroid/app/ApplicationPackageManager$ResourceName;->hashCode()I
-SPLandroid/app/ApplicationPackageManager;-><clinit>()V
+HSPLandroid/app/ApplicationPackageManager;-><clinit>()V
 HSPLandroid/app/ApplicationPackageManager;-><init>(Landroid/app/ContextImpl;Landroid/content/pm/IPackageManager;)V
 HSPLandroid/app/ApplicationPackageManager;->addOnPermissionsChangeListener(Landroid/content/pm/PackageManager$OnPermissionsChangedListener;)V
 HSPLandroid/app/ApplicationPackageManager;->checkPermission(Ljava/lang/String;Ljava/lang/String;)I
@@ -1419,16 +1423,16 @@
 HSPLandroid/app/BroadcastOptions;->makeBasic()Landroid/app/BroadcastOptions;
 HSPLandroid/app/BroadcastOptions;->setTemporaryAppWhitelistDuration(J)V
 HSPLandroid/app/BroadcastOptions;->toBundle()Landroid/os/Bundle;
-SPLandroid/app/BroadcastStickyCache$$ExternalSyntheticLambda0;-><init>(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;Landroid/content/IntentFilter;Ljava/lang/String;II)V
+HSPLandroid/app/BroadcastStickyCache$$ExternalSyntheticLambda0;-><init>(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;Landroid/content/IntentFilter;Ljava/lang/String;II)V
 HSPLandroid/app/BroadcastStickyCache$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-SPLandroid/app/BroadcastStickyCache$StickyBroadcastFilter$$ExternalSyntheticRecord0;->m(Ljava/lang/Object;Ljava/lang/Object;)I
-SPLandroid/app/BroadcastStickyCache$StickyBroadcastFilter;-><init>(Landroid/content/IntentFilter;Ljava/lang/String;)V
-SPLandroid/app/BroadcastStickyCache$StickyBroadcastFilter;-><init>(Landroid/content/IntentFilter;Ljava/lang/String;Landroid/app/BroadcastStickyCache-IA;)V
-SPLandroid/app/BroadcastStickyCache$StickyBroadcastFilter;->action()Ljava/lang/String;
-SPLandroid/app/BroadcastStickyCache$StickyBroadcastFilter;->filter()Landroid/content/IntentFilter;
-SPLandroid/app/BroadcastStickyCache$StickyBroadcastFilter;->hashCode()I
+HSPLandroid/app/BroadcastStickyCache$StickyBroadcastFilter$$ExternalSyntheticRecord0;->m(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLandroid/app/BroadcastStickyCache$StickyBroadcastFilter;-><init>(Landroid/content/IntentFilter;Ljava/lang/String;)V
+HSPLandroid/app/BroadcastStickyCache$StickyBroadcastFilter;-><init>(Landroid/content/IntentFilter;Ljava/lang/String;Landroid/app/BroadcastStickyCache-IA;)V
+HSPLandroid/app/BroadcastStickyCache$StickyBroadcastFilter;->action()Ljava/lang/String;
+HSPLandroid/app/BroadcastStickyCache$StickyBroadcastFilter;->filter()Landroid/content/IntentFilter;
+HSPLandroid/app/BroadcastStickyCache$StickyBroadcastFilter;->hashCode()I
 HSPLandroid/app/BroadcastStickyCache;->findIpcDataCache(Landroid/content/IntentFilter;)Landroid/os/IpcDataCache;
-SPLandroid/app/BroadcastStickyCache;->getConfig(Ljava/lang/String;)Landroid/os/IpcDataCache$Config;
+HSPLandroid/app/BroadcastStickyCache;->getConfig(Ljava/lang/String;)Landroid/os/IpcDataCache$Config;
 HSPLandroid/app/BroadcastStickyCache;->getIntent(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;Landroid/content/IntentFilter;Ljava/lang/String;II)Landroid/content/Intent;+]Landroid/os/IpcDataCache;Landroid/os/IpcDataCache;
 HSPLandroid/app/BroadcastStickyCache;->lambda$getIntent$0(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;Landroid/content/IntentFilter;Ljava/lang/String;IILjava/lang/Void;)Landroid/content/Intent;
 HSPLandroid/app/ClientTransactionHandler;-><init>()V
@@ -1443,7 +1447,7 @@
 HSPLandroid/app/ConfigurationController;->getPendingConfiguration(Z)Landroid/content/res/Configuration;
 HSPLandroid/app/ConfigurationController;->handleConfigurationChanged(Landroid/content/res/Configuration;)V
 HSPLandroid/app/ConfigurationController;->handleConfigurationChanged(Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)V
-HSPLandroid/app/ConfigurationController;->handleConfigurationChangedInner(Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)V+]Landroid/app/ActivityThreadInternal;Landroid/app/ActivityThread;]Landroid/app/ConfigurationController;Landroid/app/ConfigurationController;]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLandroid/app/ConfigurationController;->handleConfigurationChangedInner(Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)V+]Landroid/app/ActivityThreadInternal;Landroid/app/ActivityThread;]Landroid/app/Application;Landroid/app/Application;]Landroid/app/ConfigurationController;Landroid/app/ConfigurationController;]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLandroid/app/ConfigurationController;->performConfigurationChanged(Landroid/content/ComponentCallbacks2;Landroid/content/res/Configuration;)V
 HSPLandroid/app/ConfigurationController;->setCompatConfiguration(Landroid/content/res/Configuration;)V
 HSPLandroid/app/ConfigurationController;->setConfiguration(Landroid/content/res/Configuration;)V
@@ -1683,12 +1687,12 @@
 HSPLandroid/app/DownloadManager;->query(Landroid/app/DownloadManager$Query;)Landroid/database/Cursor;
 HSPLandroid/app/DownloadManager;->query(Landroid/app/DownloadManager$Query;[Ljava/lang/String;)Landroid/database/Cursor;
 HSPLandroid/app/EventLogTags;->writeWmOnTopResumedGainedCalled(ILjava/lang/String;Ljava/lang/String;)V
-SPLandroid/app/FeatureFlagsImpl;->appStartInfoTimestamps()Z
+HSPLandroid/app/FeatureFlagsImpl;->appStartInfoTimestamps()Z
 HSPLandroid/app/FeatureFlagsImpl;->enableCurrentModeTypeBinderCache()Z
 HSPLandroid/app/FeatureFlagsImpl;->jankPerceptibleNarrow()Z
 HSPLandroid/app/FeatureFlagsImpl;->nmBinderPerfCacheChannels()Z
-SPLandroid/app/FeatureFlagsImpl;->nmBinderPerfPermissionCheck()Z
-SPLandroid/app/FeatureFlagsImpl;->nmBinderPerfThrottleNotify()Z
+HSPLandroid/app/FeatureFlagsImpl;->nmBinderPerfPermissionCheck()Z
+HSPLandroid/app/FeatureFlagsImpl;->nmBinderPerfThrottleNotify()Z
 HSPLandroid/app/FeatureFlagsImpl;->notifChannelCropVibrationEffects()Z
 HSPLandroid/app/FeatureFlagsImpl;->notificationChannelVibrationEffectApi()Z
 HSPLandroid/app/FeatureFlagsImpl;->picIsolateCacheByUid()Z
@@ -1696,16 +1700,16 @@
 HSPLandroid/app/FeatureFlagsImpl;->rateLimitGetMemoryInfo()Z
 HSPLandroid/app/FeatureFlagsImpl;->rateLimitGetMyMemoryState()Z
 HSPLandroid/app/FeatureFlagsImpl;->rateLimitGetRunningAppProcesses()Z
-SPLandroid/app/FeatureFlagsImpl;->reportPostgcMemoryMetrics()Z
-SPLandroid/app/FeatureFlagsImpl;->skipBgMemTrimOnFgApp()Z
+HSPLandroid/app/FeatureFlagsImpl;->reportPostgcMemoryMetrics()Z
+HSPLandroid/app/FeatureFlagsImpl;->skipBgMemTrimOnFgApp()Z
 HSPLandroid/app/FeatureFlagsImpl;->sortSectionByTime()Z
 HSPLandroid/app/FeatureFlagsImpl;->useStickyBcastCache()Z
 HSPLandroid/app/Flags;->appStartInfoTimestamps()Z
 HSPLandroid/app/Flags;->jankPerceptibleNarrow()Z+]Landroid/app/FeatureFlags;Landroid/app/FeatureFlagsImpl;
 HSPLandroid/app/Flags;->nmBinderPerfThrottleNotify()Z+]Landroid/app/FeatureFlags;Landroid/app/FeatureFlagsImpl;
-SPLandroid/app/Flags;->picIsolateCacheByUid()Z
-SPLandroid/app/Flags;->picIsolatedCacheStatistics()Z
-SPLandroid/app/Flags;->reportPostgcMemoryMetrics()Z
+HSPLandroid/app/Flags;->picIsolateCacheByUid()Z
+HSPLandroid/app/Flags;->picIsolatedCacheStatistics()Z
+HSPLandroid/app/Flags;->reportPostgcMemoryMetrics()Z
 HSPLandroid/app/Flags;->useStickyBcastCache()Z+]Landroid/app/FeatureFlags;Landroid/app/FeatureFlagsImpl;
 HSPLandroid/app/Fragment$1;-><init>(Landroid/app/Fragment;)V
 HSPLandroid/app/Fragment;-><init>()V
@@ -1925,7 +1929,7 @@
 HSPLandroid/app/IActivityManager$Stub$Proxy;->checkPermission(Ljava/lang/String;II)I
 HSPLandroid/app/IActivityManager$Stub$Proxy;->checkPermissionForDevice(Ljava/lang/String;III)I
 HSPLandroid/app/IActivityManager$Stub$Proxy;->checkUriPermission(Landroid/net/Uri;IIIILandroid/os/IBinder;)I
-SPLandroid/app/IActivityManager$Stub$Proxy;->finishAttachApplication(JJ)V
+HSPLandroid/app/IActivityManager$Stub$Proxy;->finishAttachApplication(JJ)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;IZ)Landroid/app/ContentProviderHolder;
 HSPLandroid/app/IActivityManager$Stub$Proxy;->getCurrentUser()Landroid/content/pm/UserInfo;
@@ -1951,7 +1955,7 @@
 HSPLandroid/app/IActivityManager$Stub$Proxy;->registerStrictModeCallback(Landroid/os/IBinder;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->registerUidObserver(Landroid/app/IUidObserver;IILjava/lang/String;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->removeContentProvider(Landroid/os/IBinder;Z)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->reportStartInfoViewTimestamps(JJ)V
+HSPLandroid/app/IActivityManager$Stub$Proxy;->reportStartInfoViewTimestamps(JJ)V+]Landroid/app/IActivityManager$Stub$Proxy;Landroid/app/IActivityManager$Stub$Proxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;
 HSPLandroid/app/IActivityManager$Stub$Proxy;->revokeUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->serviceDoneExecuting(Landroid/os/IBinder;IIILandroid/content/Intent;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->setRenderThread(I)V
@@ -2094,7 +2098,7 @@
 HSPLandroid/app/IntentService;->onDestroy()V
 HSPLandroid/app/IntentService;->onStart(Landroid/content/Intent;I)V
 HSPLandroid/app/IntentService;->onStartCommand(Landroid/content/Intent;II)I
-SPLandroid/app/JobSchedulerImpl;-><init>(Landroid/app/JobSchedulerImpl;Ljava/lang/String;)V
+HSPLandroid/app/JobSchedulerImpl;-><init>(Landroid/app/JobSchedulerImpl;Ljava/lang/String;)V
 HSPLandroid/app/JobSchedulerImpl;-><init>(Landroid/content/Context;Landroid/app/job/IJobScheduler;)V
 HSPLandroid/app/JobSchedulerImpl;-><init>(Landroid/content/Context;Landroid/app/job/IJobScheduler;Ljava/lang/String;)V
 HSPLandroid/app/JobSchedulerImpl;->cancel(I)V
@@ -2435,14 +2439,17 @@
 HSPLandroid/app/NotificationChannelGroup;->getTrimmedString(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/app/NotificationChannelGroup;->isBlocked()Z
 HSPLandroid/app/NotificationChannelGroup;->writeToParcel(Landroid/os/Parcel;I)V
-SPLandroid/app/NotificationManager$1;-><init>(Landroid/app/NotificationManager;)V
+HSPLandroid/app/NotificationManager$1;-><init>(Landroid/app/NotificationManager;)V
 HSPLandroid/app/NotificationManager$Policy$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/NotificationManager$Policy;
 HSPLandroid/app/NotificationManager$Policy$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/NotificationManager$Policy;-><init>(IIIIII)V
 HSPLandroid/app/NotificationManager$Policy;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/app/NotificationManager$Policy;->equals(Ljava/lang/Object;)Z
 HSPLandroid/app/NotificationManager$Policy;->suppressedVisualEffectsEqual(II)Z
-SPLandroid/app/NotificationManager;-><init>(Landroid/content/Context;)V
+SPLandroid/app/NotificationManager$RateLimiter;-><clinit>()V
+HSPLandroid/app/NotificationManager$RateLimiter;-><init>(Landroid/app/NotificationManager;Ljava/lang/String;Ljava/lang/String;F)V
+SPLandroid/app/NotificationManager$RateLimiter;-><init>(Landroid/app/NotificationManager;Ljava/lang/String;Ljava/lang/String;FLandroid/app/NotificationManager-IA;)V
+HSPLandroid/app/NotificationManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/app/NotificationManager;-><init>(Landroid/content/Context;Ljava/time/InstantSource;)V
 HSPLandroid/app/NotificationManager;->areNotificationsEnabled()Z
 HSPLandroid/app/NotificationManager;->cancel(I)V
@@ -2473,7 +2480,7 @@
 HSPLandroid/app/NotificationManager;->notifyAsUser(Ljava/lang/String;ILandroid/app/Notification;Landroid/os/UserHandle;)V
 HSPLandroid/app/NotificationManager;->service()Landroid/app/INotificationManager;
 HSPLandroid/app/NotificationManager;->zenModeToInterruptionFilter(I)I
-SPLandroid/app/PendingIntent$$ExternalSyntheticLambda0;->execute(Ljava/lang/Runnable;)V
+HSPLandroid/app/PendingIntent$$ExternalSyntheticLambda0;->execute(Ljava/lang/Runnable;)V
 HSPLandroid/app/PendingIntent$$ExternalSyntheticLambda2;->get()Ljava/lang/Object;
 HSPLandroid/app/PendingIntent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/PendingIntent;
 HSPLandroid/app/PendingIntent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -2531,17 +2538,17 @@
 HSPLandroid/app/PictureInPictureParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/PictureInPictureParams;
 HSPLandroid/app/PictureInPictureParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/PictureInPictureParams;-><init>(Landroid/os/Parcel;)V
-SPLandroid/app/PropertyInvalidatedCache$Args;->-$$Nest$fgetmApi(Landroid/app/PropertyInvalidatedCache$Args;)Ljava/lang/String;
-SPLandroid/app/PropertyInvalidatedCache$Args;->-$$Nest$fgetmCacheNulls(Landroid/app/PropertyInvalidatedCache$Args;)Z
-SPLandroid/app/PropertyInvalidatedCache$Args;->-$$Nest$fgetmIsolateUids(Landroid/app/PropertyInvalidatedCache$Args;)Z
-SPLandroid/app/PropertyInvalidatedCache$Args;->-$$Nest$fgetmMaxEntries(Landroid/app/PropertyInvalidatedCache$Args;)I
-SPLandroid/app/PropertyInvalidatedCache$Args;->-$$Nest$fgetmModule(Landroid/app/PropertyInvalidatedCache$Args;)Ljava/lang/String;
-SPLandroid/app/PropertyInvalidatedCache$Args;->-$$Nest$fgetmTestMode(Landroid/app/PropertyInvalidatedCache$Args;)Z
-SPLandroid/app/PropertyInvalidatedCache$Args;-><init>(Ljava/lang/String;)V
+HSPLandroid/app/PropertyInvalidatedCache$Args;->-$$Nest$fgetmApi(Landroid/app/PropertyInvalidatedCache$Args;)Ljava/lang/String;
+HSPLandroid/app/PropertyInvalidatedCache$Args;->-$$Nest$fgetmCacheNulls(Landroid/app/PropertyInvalidatedCache$Args;)Z
+HSPLandroid/app/PropertyInvalidatedCache$Args;->-$$Nest$fgetmIsolateUids(Landroid/app/PropertyInvalidatedCache$Args;)Z
+HSPLandroid/app/PropertyInvalidatedCache$Args;->-$$Nest$fgetmMaxEntries(Landroid/app/PropertyInvalidatedCache$Args;)I
+HSPLandroid/app/PropertyInvalidatedCache$Args;->-$$Nest$fgetmModule(Landroid/app/PropertyInvalidatedCache$Args;)Ljava/lang/String;
+HSPLandroid/app/PropertyInvalidatedCache$Args;->-$$Nest$fgetmTestMode(Landroid/app/PropertyInvalidatedCache$Args;)Z
+HSPLandroid/app/PropertyInvalidatedCache$Args;-><init>(Ljava/lang/String;)V
 HSPLandroid/app/PropertyInvalidatedCache$Args;-><init>(Ljava/lang/String;Ljava/lang/String;IZZZ)V
 HSPLandroid/app/PropertyInvalidatedCache$Args;->api(Ljava/lang/String;)Landroid/app/PropertyInvalidatedCache$Args;
-SPLandroid/app/PropertyInvalidatedCache$Args;->cacheNulls(Z)Landroid/app/PropertyInvalidatedCache$Args;
-SPLandroid/app/PropertyInvalidatedCache$Args;->isolateUids(Z)Landroid/app/PropertyInvalidatedCache$Args;
+HSPLandroid/app/PropertyInvalidatedCache$Args;->cacheNulls(Z)Landroid/app/PropertyInvalidatedCache$Args;
+HSPLandroid/app/PropertyInvalidatedCache$Args;->isolateUids(Z)Landroid/app/PropertyInvalidatedCache$Args;
 HSPLandroid/app/PropertyInvalidatedCache$Args;->maxEntries(I)Landroid/app/PropertyInvalidatedCache$Args;
 HSPLandroid/app/PropertyInvalidatedCache$CacheMap$1;-><init>(Landroid/app/PropertyInvalidatedCache$CacheMap;IFZ)V
 HSPLandroid/app/PropertyInvalidatedCache$CacheMap$1;->removeEldestEntry(Ljava/util/Map$Entry;)Z+]Landroid/app/PropertyInvalidatedCache$CacheMap$1;Landroid/app/PropertyInvalidatedCache$CacheMap$1;
@@ -2556,28 +2563,28 @@
 HSPLandroid/app/PropertyInvalidatedCache$NoPreloadHolder;->next()J
 HSPLandroid/app/PropertyInvalidatedCache$NonceHandler;-><init>(Ljava/lang/String;)V
 HSPLandroid/app/PropertyInvalidatedCache$NonceHandler;->getNonce()J+]Landroid/app/PropertyInvalidatedCache$NonceHandler;Landroid/app/PropertyInvalidatedCache$NonceSharedMem;,Landroid/app/PropertyInvalidatedCache$NonceSysprop;
-SPLandroid/app/PropertyInvalidatedCache$NonceSharedMem;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/app/PropertyInvalidatedCache$NonceSharedMem;-><init>(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/app/PropertyInvalidatedCache$NonceSharedMem;->getNonceInternal()J+]Landroid/app/PropertyInvalidatedCache$NonceStore;Landroid/app/PropertyInvalidatedCache$NonceStore;
 HSPLandroid/app/PropertyInvalidatedCache$NonceSharedMem;->initialize(Z)I+]Landroid/app/PropertyInvalidatedCache$NonceStore;Landroid/app/PropertyInvalidatedCache$NonceStore;
-SPLandroid/app/PropertyInvalidatedCache$NonceStore;-><clinit>()V
-SPLandroid/app/PropertyInvalidatedCache$NonceStore;-><init>(JZ)V
+HSPLandroid/app/PropertyInvalidatedCache$NonceStore;-><clinit>()V
+HSPLandroid/app/PropertyInvalidatedCache$NonceStore;-><init>(JZ)V
 HSPLandroid/app/PropertyInvalidatedCache$NonceStore;->getHandleForName(Ljava/lang/String;)I
-SPLandroid/app/PropertyInvalidatedCache$NonceStore;->getInstance()Landroid/app/PropertyInvalidatedCache$NonceStore;
+HSPLandroid/app/PropertyInvalidatedCache$NonceStore;->getInstance()Landroid/app/PropertyInvalidatedCache$NonceStore;
 HSPLandroid/app/PropertyInvalidatedCache$NonceStore;->getNonce(I)J
 HSPLandroid/app/PropertyInvalidatedCache$NonceStore;->refreshStringBlockLocked()V
 HSPLandroid/app/PropertyInvalidatedCache$NonceStore;->throwIfBadHandle(I)V
-SPLandroid/app/PropertyInvalidatedCache$NonceStore;->updateStringMapLocked([B)V
-SPLandroid/app/PropertyInvalidatedCache$NonceSysprop;-><init>(Ljava/lang/String;)V
+HSPLandroid/app/PropertyInvalidatedCache$NonceStore;->updateStringMapLocked([B)V
+HSPLandroid/app/PropertyInvalidatedCache$NonceSysprop;-><init>(Ljava/lang/String;)V
 HSPLandroid/app/PropertyInvalidatedCache$NonceSysprop;->getNonceInternal()J
 HSPLandroid/app/PropertyInvalidatedCache$QueryHandler;-><init>()V
 HSPLandroid/app/PropertyInvalidatedCache$QueryHandler;->shouldBypassCache(Ljava/lang/Object;)Z
 HSPLandroid/app/PropertyInvalidatedCache;->-$$Nest$fgetmHighWaterMark(Landroid/app/PropertyInvalidatedCache;)J
 HSPLandroid/app/PropertyInvalidatedCache;->-$$Nest$fgetmMaxEntries(Landroid/app/PropertyInvalidatedCache;)I
 HSPLandroid/app/PropertyInvalidatedCache;->-$$Nest$fputmHighWaterMark(Landroid/app/PropertyInvalidatedCache;J)V
-SPLandroid/app/PropertyInvalidatedCache;->-$$Nest$smnativeGetByteBlock(JI[B)I
+HSPLandroid/app/PropertyInvalidatedCache;->-$$Nest$smnativeGetByteBlock(JI[B)I
 HSPLandroid/app/PropertyInvalidatedCache;->-$$Nest$smnativeGetByteBlockHash(J)I
-SPLandroid/app/PropertyInvalidatedCache;->-$$Nest$smnativeGetMaxByte(J)I
-SPLandroid/app/PropertyInvalidatedCache;->-$$Nest$smnativeGetMaxNonce(J)I
+HSPLandroid/app/PropertyInvalidatedCache;->-$$Nest$smnativeGetMaxByte(J)I
+HSPLandroid/app/PropertyInvalidatedCache;->-$$Nest$smnativeGetMaxNonce(J)I
 HSPLandroid/app/PropertyInvalidatedCache;->-$$Nest$smnativeGetNonce(JI)J
 HSPLandroid/app/PropertyInvalidatedCache;->-$$Nest$smthrowIfInvalidModule(Ljava/lang/String;)V
 HSPLandroid/app/PropertyInvalidatedCache;-><init>(ILjava/lang/String;)V
@@ -2589,12 +2596,12 @@
 HSPLandroid/app/PropertyInvalidatedCache;->cacheName()Ljava/lang/String;
 HSPLandroid/app/PropertyInvalidatedCache;->clear()V
 HSPLandroid/app/PropertyInvalidatedCache;->createPropertyName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-SPLandroid/app/PropertyInvalidatedCache;->createSystemCacheKey(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/app/PropertyInvalidatedCache;->createSystemCacheKey(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/app/PropertyInvalidatedCache;->disableLocal()V
 HSPLandroid/app/PropertyInvalidatedCache;->getActiveCaches()Ljava/util/ArrayList;
 HSPLandroid/app/PropertyInvalidatedCache;->getCurrentNonce()J
 HSPLandroid/app/PropertyInvalidatedCache;->getNonceHandler(Ljava/lang/String;)Landroid/app/PropertyInvalidatedCache$NonceHandler;+]Ljava/util/concurrent/ConcurrentHashMap;Ljava/util/concurrent/ConcurrentHashMap;
-SPLandroid/app/PropertyInvalidatedCache;->inSharedMemoryDenyList(Ljava/lang/String;)Z
+HSPLandroid/app/PropertyInvalidatedCache;->inSharedMemoryDenyList(Ljava/lang/String;)Z
 HSPLandroid/app/PropertyInvalidatedCache;->invalidateCache(Ljava/lang/String;)V
 HSPLandroid/app/PropertyInvalidatedCache;->isDisabled()Z
 HSPLandroid/app/PropertyInvalidatedCache;->isReservedNonce(J)Z
@@ -2603,7 +2610,7 @@
 HSPLandroid/app/PropertyInvalidatedCache;->recompute(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/app/PropertyInvalidatedCache;->refresh(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/app/PropertyInvalidatedCache;->registerCache()V
-SPLandroid/app/PropertyInvalidatedCache;->sharedMemoryOkay(Ljava/lang/String;)Z
+HSPLandroid/app/PropertyInvalidatedCache;->sharedMemoryOkay(Ljava/lang/String;)Z
 HSPLandroid/app/PropertyInvalidatedCache;->throwIfInvalidCacheKey(Ljava/lang/String;)V
 HSPLandroid/app/PropertyInvalidatedCache;->throwIfInvalidModule(Ljava/lang/String;)V
 HSPLandroid/app/QueuedWork$QueuedWorkHandler;-><init>(Landroid/os/Looper;)V
@@ -2657,9 +2664,9 @@
 HSPLandroid/app/ResourcesManager$PathCollector;->isSameAsOriginal()Z+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLandroid/app/ResourcesManager$UpdateHandler;-><init>(Landroid/app/ResourcesManager;)V
 HSPLandroid/app/ResourcesManager$UpdateHandler;->onLoadersChanged(Landroid/content/res/Resources;Ljava/util/List;)V+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Ljava/util/List;Ljava/util/ArrayList;
-SPLandroid/app/ResourcesManager;->-$$Nest$fgetmLock(Landroid/app/ResourcesManager;)Ljava/lang/Object;
-SPLandroid/app/ResourcesManager;->-$$Nest$mfindKeyForResourceImplLocked(Landroid/app/ResourcesManager;Landroid/content/res/ResourcesImpl;)Landroid/content/res/ResourcesKey;
-SPLandroid/app/ResourcesManager;->-$$Nest$mfindOrCreateResourcesImplForKeyLocked(Landroid/app/ResourcesManager;Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
+HSPLandroid/app/ResourcesManager;->-$$Nest$fgetmLock(Landroid/app/ResourcesManager;)Ljava/lang/Object;
+HSPLandroid/app/ResourcesManager;->-$$Nest$mfindKeyForResourceImplLocked(Landroid/app/ResourcesManager;Landroid/content/res/ResourcesImpl;)Landroid/content/res/ResourcesKey;
+HSPLandroid/app/ResourcesManager;->-$$Nest$mfindOrCreateResourcesImplForKeyLocked(Landroid/app/ResourcesManager;Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
 HSPLandroid/app/ResourcesManager;-><init>()V
 HSPLandroid/app/ResourcesManager;->addApplicationPathsLocked(Ljava/lang/String;[Ljava/lang/String;)V
 HSPLandroid/app/ResourcesManager;->appendLibAssetsForMainAssetPath(Ljava/lang/String;[Ljava/lang/String;)V
@@ -2768,10 +2775,10 @@
 HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->remove(Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;
 HSPLandroid/app/SharedPreferencesImpl$MemoryCommitResult;-><init>(JZLjava/util/List;Ljava/util/Set;Ljava/util/Map;)V
 HSPLandroid/app/SharedPreferencesImpl$MemoryCommitResult;->setDiskWriteResult(ZZ)V
-SPLandroid/app/SharedPreferencesImpl$SharedPreferencesThreadFactory;-><init>()V
-SPLandroid/app/SharedPreferencesImpl$SharedPreferencesThreadFactory;-><init>(Landroid/app/SharedPreferencesImpl-IA;)V
+HSPLandroid/app/SharedPreferencesImpl$SharedPreferencesThreadFactory;-><init>()V
+HSPLandroid/app/SharedPreferencesImpl$SharedPreferencesThreadFactory;-><init>(Landroid/app/SharedPreferencesImpl-IA;)V
 HSPLandroid/app/SharedPreferencesImpl$SharedPreferencesThreadFactory;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
-SPLandroid/app/SharedPreferencesImpl;->$r8$lambda$gCIQI__z13DI5jNIqnAnYLWLcMc(Landroid/app/SharedPreferencesImpl;)V
+HSPLandroid/app/SharedPreferencesImpl;->$r8$lambda$gCIQI__z13DI5jNIqnAnYLWLcMc(Landroid/app/SharedPreferencesImpl;)V
 HSPLandroid/app/SharedPreferencesImpl;->-$$Nest$fgetmCurrentMemoryStateGeneration(Landroid/app/SharedPreferencesImpl;)J
 HSPLandroid/app/SharedPreferencesImpl;->-$$Nest$fgetmDiskWritesInFlight(Landroid/app/SharedPreferencesImpl;)I
 HSPLandroid/app/SharedPreferencesImpl;->-$$Nest$fgetmListeners(Landroid/app/SharedPreferencesImpl;)Ljava/util/WeakHashMap;
@@ -2783,7 +2790,7 @@
 HSPLandroid/app/SharedPreferencesImpl;->-$$Nest$fputmMap(Landroid/app/SharedPreferencesImpl;Ljava/util/Map;)V
 HSPLandroid/app/SharedPreferencesImpl;->-$$Nest$menqueueDiskWrite(Landroid/app/SharedPreferencesImpl;Landroid/app/SharedPreferencesImpl$MemoryCommitResult;Ljava/lang/Runnable;)V
 HSPLandroid/app/SharedPreferencesImpl;->-$$Nest$mwriteToFile(Landroid/app/SharedPreferencesImpl;Landroid/app/SharedPreferencesImpl$MemoryCommitResult;Z)V
-SPLandroid/app/SharedPreferencesImpl;-><clinit>()V
+HSPLandroid/app/SharedPreferencesImpl;-><clinit>()V
 HSPLandroid/app/SharedPreferencesImpl;-><init>(Ljava/io/File;I)V
 HSPLandroid/app/SharedPreferencesImpl;->awaitLoadedLocked()V
 HSPLandroid/app/SharedPreferencesImpl;->contains(Ljava/lang/String;)Z
@@ -2849,12 +2856,12 @@
 HSPLandroid/app/SystemServiceRegistry$129;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$12;->createService(Landroid/app/ContextImpl;)Landroid/view/textclassifier/TextClassificationManager;
 HSPLandroid/app/SystemServiceRegistry$12;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-SPLandroid/app/SystemServiceRegistry$130;->createService(Landroid/app/ContextImpl;)Landroid/hardware/devicestate/DeviceStateManager;
+HSPLandroid/app/SystemServiceRegistry$130;->createService(Landroid/app/ContextImpl;)Landroid/hardware/devicestate/DeviceStateManager;
 HSPLandroid/app/SystemServiceRegistry$130;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$131;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$138;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$13;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$149;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;+]Landroid/app/SystemServiceRegistry$ContextAwareServiceProducerWithBinder;Landroid/app/job/JobSchedulerFrameworkInitializer$$ExternalSyntheticLambda0;,Landroid/app/job/JobSchedulerFrameworkInitializer$$ExternalSyntheticLambda1;,Landroid/app/role/RoleFrameworkInitializer$$ExternalSyntheticLambda0;,Landroid/net/wifi/WifiFrameworkInitializer$$ExternalSyntheticLambda0;
+HSPLandroid/app/SystemServiceRegistry$149;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$14;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$150;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;+]Landroid/app/SystemServiceRegistry$ContextAwareServiceProducerWithoutBinder;Landroid/telephony/TelephonyFrameworkInitializer$$ExternalSyntheticLambda1;
 HSPLandroid/app/SystemServiceRegistry$15;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
@@ -2864,7 +2871,7 @@
 HSPLandroid/app/SystemServiceRegistry$20;->createService(Landroid/app/ContextImpl;)Landroid/app/admin/DevicePolicyManager;
 HSPLandroid/app/SystemServiceRegistry$20;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;+]Landroid/app/SystemServiceRegistry$20;Landroid/app/SystemServiceRegistry$20;
 HSPLandroid/app/SystemServiceRegistry$21;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-SPLandroid/app/SystemServiceRegistry$22;->createService(Landroid/app/ContextImpl;)Landroid/os/BatteryManager;
+HSPLandroid/app/SystemServiceRegistry$22;->createService(Landroid/app/ContextImpl;)Landroid/os/BatteryManager;
 HSPLandroid/app/SystemServiceRegistry$22;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$23;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$24;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
@@ -2883,7 +2890,7 @@
 HSPLandroid/app/SystemServiceRegistry$32;->createService(Landroid/app/ContextImpl;)Landroid/location/LocationManager;
 HSPLandroid/app/SystemServiceRegistry$32;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$33;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Landroid/app/NotificationManager;+]Landroid/content/Context;Landroid/app/ContextImpl;
+HSPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Landroid/app/NotificationManager;+]Landroid/content/Context;missing_types
 HSPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$35;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$36;->createService(Landroid/app/ContextImpl;)Landroid/os/PowerManager;
@@ -2898,19 +2905,19 @@
 HSPLandroid/app/SystemServiceRegistry$41;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$42;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$43;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-SPLandroid/app/SystemServiceRegistry$44;->createService(Landroid/app/ContextImpl;)Landroid/os/storage/StorageManager;
+HSPLandroid/app/SystemServiceRegistry$44;->createService(Landroid/app/ContextImpl;)Landroid/os/storage/StorageManager;
 HSPLandroid/app/SystemServiceRegistry$44;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$45;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$46;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$47;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-SPLandroid/app/SystemServiceRegistry$48;->createService(Landroid/app/ContextImpl;)Landroid/telephony/TelephonyRegistryManager;
+HSPLandroid/app/SystemServiceRegistry$48;->createService(Landroid/app/ContextImpl;)Landroid/telephony/TelephonyRegistryManager;
 HSPLandroid/app/SystemServiceRegistry$48;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$49;->createService(Landroid/app/ContextImpl;)Landroid/telecom/TelecomManager;
 HSPLandroid/app/SystemServiceRegistry$49;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$4;->createService(Landroid/app/ContextImpl;)Landroid/app/ActivityManager;
 HSPLandroid/app/SystemServiceRegistry$4;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$50;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-SPLandroid/app/SystemServiceRegistry$51;->createService(Landroid/app/ContextImpl;)Landroid/app/UiModeManager;
+HSPLandroid/app/SystemServiceRegistry$51;->createService(Landroid/app/ContextImpl;)Landroid/app/UiModeManager;
 HSPLandroid/app/SystemServiceRegistry$51;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$52;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$53;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
@@ -2938,6 +2945,8 @@
 HSPLandroid/app/SystemServiceRegistry$78;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$7;->createService(Landroid/app/ContextImpl;)Landroid/app/AlarmManager;
 HSPLandroid/app/SystemServiceRegistry$7;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+SPLandroid/app/SystemServiceRegistry$81;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/UsageStatsManager;
+SPLandroid/app/SystemServiceRegistry$81;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$84;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$85;->createService(Landroid/app/ContextImpl;)Landroid/appwidget/AppWidgetManager;
 HSPLandroid/app/SystemServiceRegistry$85;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
@@ -2947,7 +2956,7 @@
 HSPLandroid/app/SystemServiceRegistry$89;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$8;->createService(Landroid/app/ContextImpl;)Landroid/media/AudioManager;
 HSPLandroid/app/SystemServiceRegistry$8;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-SPLandroid/app/SystemServiceRegistry$90;->createService(Landroid/app/ContextImpl;)Landroid/content/pm/ShortcutManager;
+HSPLandroid/app/SystemServiceRegistry$90;->createService(Landroid/app/ContextImpl;)Landroid/content/pm/ShortcutManager;
 HSPLandroid/app/SystemServiceRegistry$90;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$91;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$92;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
@@ -2983,17 +2992,17 @@
 HSPLandroid/app/TaskStackListener;->onTaskRemoved(I)V
 HSPLandroid/app/TaskStackListener;->onTaskRequestedOrientationChanged(II)V
 HSPLandroid/app/UiModeManager$1;-><init>(Landroid/app/UiModeManager;)V
-SPLandroid/app/UiModeManager$1;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-SPLandroid/app/UiModeManager$1;->apply(Ljava/lang/Void;)Ljava/lang/Integer;
-SPLandroid/app/UiModeManager$2;-><init>(Landroid/app/UiModeManager;)V
+HSPLandroid/app/UiModeManager$1;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/app/UiModeManager$1;->apply(Ljava/lang/Void;)Ljava/lang/Integer;
+HSPLandroid/app/UiModeManager$2;-><init>(Landroid/app/UiModeManager;)V
 HSPLandroid/app/UiModeManager$Globals;->-$$Nest$fgetmService(Landroid/app/UiModeManager$Globals;)Landroid/app/IUiModeManager;
 HSPLandroid/app/UiModeManager$Globals;-><init>(Landroid/app/IUiModeManager;)V
 HSPLandroid/app/UiModeManager$OnProjectionStateChangedListenerResourceManager;-><init>()V
-SPLandroid/app/UiModeManager;->-$$Nest$mgetCurrentModeTypeFromServer(Landroid/app/UiModeManager;)Ljava/lang/Integer;
+HSPLandroid/app/UiModeManager;->-$$Nest$mgetCurrentModeTypeFromServer(Landroid/app/UiModeManager;)Ljava/lang/Integer;
 HSPLandroid/app/UiModeManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/app/UiModeManager;->getActiveProjectionTypes()I
 HSPLandroid/app/UiModeManager;->getCurrentModeType()I
-SPLandroid/app/UiModeManager;->getCurrentModeTypeFromServer()Ljava/lang/Integer;
+HSPLandroid/app/UiModeManager;->getCurrentModeTypeFromServer()Ljava/lang/Integer;
 HSPLandroid/app/UriGrantsManager$1;->create()Landroid/app/IUriGrantsManager;
 HSPLandroid/app/UriGrantsManager$1;->create()Ljava/lang/Object;
 HSPLandroid/app/UriGrantsManager;->getService()Landroid/app/IUriGrantsManager;
@@ -3341,6 +3350,10 @@
 HSPLandroid/app/job/JobInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/job/JobParameters$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/job/JobParameters;
 HSPLandroid/app/job/JobParameters$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+SPLandroid/app/job/JobParameters$JobCleanupCallback;->disableCleaner()V
+SPLandroid/app/job/JobParameters$JobCleanupCallback;->enableCleaner()V
+SPLandroid/app/job/JobParameters$JobCleanupCallback;->isCleanerEnabled()Z
+HSPLandroid/app/job/JobParameters$JobCleanupCallback;->run()V+]Landroid/app/job/IJobCallback;Landroid/app/job/IJobCallback$Stub$Proxy;]Landroid/app/job/JobParameters$JobCleanupCallback;Landroid/app/job/JobParameters$JobCleanupCallback;
 HSPLandroid/app/job/JobParameters;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/app/job/JobParameters;->completeWork(Landroid/app/job/JobWorkItem;)V
 HSPLandroid/app/job/JobParameters;->dequeueWork()Landroid/app/job/JobWorkItem;
@@ -3354,6 +3367,7 @@
 HSPLandroid/app/job/JobParameters;->getTransientExtras()Landroid/os/Bundle;
 HSPLandroid/app/job/JobParameters;->getTriggeredContentAuthorities()[Ljava/lang/String;
 HSPLandroid/app/job/JobParameters;->getTriggeredContentUris()[Landroid/net/Uri;
+HSPLandroid/app/job/JobParameters;->initCleaner(Landroid/app/job/JobParameters$JobCleanupCallback;)V
 HSPLandroid/app/job/JobParameters;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/job/JobScheduler;-><init>()V
 HSPLandroid/app/job/JobScheduler;->sanitizeNamespace(Ljava/lang/String;)Ljava/lang/String;
@@ -3426,8 +3440,8 @@
 HSPLandroid/app/servertransaction/ActivityResultItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;)V
 HSPLandroid/app/servertransaction/ActivityResultItem;->getPostExecutionState()I
 HSPLandroid/app/servertransaction/ActivityTransactionItem;->getActivityToken()Landroid/os/IBinder;
-SPLandroid/app/servertransaction/BaseClientRequest;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/app/servertransaction/PendingTransactionActions;)V
-SPLandroid/app/servertransaction/BaseClientRequest;->preExecute(Landroid/app/ClientTransactionHandler;)V
+HSPLandroid/app/servertransaction/BaseClientRequest;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/app/servertransaction/PendingTransactionActions;)V
+HSPLandroid/app/servertransaction/BaseClientRequest;->preExecute(Landroid/app/ClientTransactionHandler;)V
 HSPLandroid/app/servertransaction/ClientTransaction$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/ClientTransaction;
 HSPLandroid/app/servertransaction/ClientTransaction$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/servertransaction/ClientTransaction;-><init>(Landroid/os/Parcel;)V
@@ -3441,13 +3455,13 @@
 HSPLandroid/app/servertransaction/ClientTransactionItem;->getPostExecutionState()I
 HSPLandroid/app/servertransaction/ClientTransactionItem;->isActivityLifecycleItem()Z
 HSPLandroid/app/servertransaction/ClientTransactionItem;->shouldHaveDefinedPreExecutionState()Z
-SPLandroid/app/servertransaction/ClientTransactionListenerController;-><init>(Landroid/hardware/display/DisplayManagerGlobal;)V
+HSPLandroid/app/servertransaction/ClientTransactionListenerController;-><init>(Landroid/hardware/display/DisplayManagerGlobal;)V
 HSPLandroid/app/servertransaction/ClientTransactionListenerController;->getInstance()Landroid/app/servertransaction/ClientTransactionListenerController;
 HSPLandroid/app/servertransaction/ClientTransactionListenerController;->onClientTransactionFinished()V+]Landroid/app/servertransaction/ClientTransactionListenerController;Landroid/app/servertransaction/ClientTransactionListenerController;]Landroid/content/Context;missing_types
 HSPLandroid/app/servertransaction/ClientTransactionListenerController;->onClientTransactionStarted()V
 HSPLandroid/app/servertransaction/ClientTransactionListenerController;->onContextConfigurationPostChanged(Landroid/content/Context;)V
 HSPLandroid/app/servertransaction/ClientTransactionListenerController;->onContextConfigurationPreChanged(Landroid/content/Context;)V+]Landroid/content/Context;missing_types]Landroid/content/res/Resources;Landroid/content/res/Resources;
-HSPLandroid/app/servertransaction/ClientTransactionListenerController;->shouldReportDisplayChange(Landroid/content/Context;Landroid/content/res/Configuration;)Z+]Landroid/content/Context;missing_types]Landroid/content/res/Resources;Landroid/content/res/Resources;
+HSPLandroid/app/servertransaction/ClientTransactionListenerController;->shouldReportDisplayChange(Landroid/content/Context;Landroid/content/res/Configuration;)Z+]Landroid/content/Context;Landroid/window/WindowContext;]Landroid/content/res/Resources;Landroid/content/res/Resources;
 HSPLandroid/app/servertransaction/ConfigurationChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/ConfigurationChangeItem;
 HSPLandroid/app/servertransaction/ConfigurationChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/servertransaction/ConfigurationChangeItem;-><init>(Landroid/os/Parcel;)V
@@ -3460,6 +3474,7 @@
 HSPLandroid/app/servertransaction/LaunchActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/servertransaction/LaunchActivityItem;-><init>(Landroid/os/IBinder;ILandroid/content/res/Configuration;Landroid/content/res/Configuration;ILjava/lang/String;Lcom/android/internal/app/IVoiceInteractor;ILandroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/util/List;Ljava/util/List;Landroid/app/ActivityOptions$SceneTransitionInfo;ZLandroid/app/ProfilerInfo;Landroid/os/IBinder;Landroid/app/IActivityClientController;Landroid/os/IBinder;ZLandroid/os/IBinder;Landroid/os/IBinder;Landroid/window/ActivityWindowInfo;)V
 HSPLandroid/app/servertransaction/LaunchActivityItem;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/app/servertransaction/LaunchActivityItem;->getActivityToken()Landroid/os/IBinder;
 HSPLandroid/app/servertransaction/NewIntentItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/NewIntentItem;
 HSPLandroid/app/servertransaction/NewIntentItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/servertransaction/NewIntentItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;)V
@@ -3515,6 +3530,11 @@
 HSPLandroid/app/servertransaction/TransactionExecutorHelper;->getClosestPreExecutionState(Landroid/app/ActivityThread$ActivityClientRecord;I)I
 HSPLandroid/app/servertransaction/TransactionExecutorHelper;->getLifecyclePath(IIZ)Landroid/util/IntArray;
 HSPLandroid/app/servertransaction/TransactionExecutorHelper;->shouldExcludeLastLifecycleState(Ljava/util/List;I)Z+]Landroid/app/servertransaction/ActivityLifecycleItem;Landroid/app/servertransaction/ResumeActivityItem;]Landroid/app/servertransaction/ClientTransactionItem;megamorphic_types]Ljava/util/List;Ljava/util/ArrayList;
+HSPLandroid/app/servertransaction/WindowStateInsetsControlChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/WindowStateInsetsControlChangeItem;
+HSPLandroid/app/servertransaction/WindowStateInsetsControlChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/servertransaction/WindowStateInsetsControlChangeItem;-><init>(Landroid/os/Parcel;)V
+SPLandroid/app/servertransaction/WindowStateInsetsControlChangeItem;-><init>(Landroid/os/Parcel;Landroid/app/servertransaction/WindowStateInsetsControlChangeItem-IA;)V
+HSPLandroid/app/servertransaction/WindowStateInsetsControlChangeItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/view/IWindow;Landroid/app/servertransaction/PendingTransactionActions;)V+]Landroid/view/IWindow;missing_types
 HSPLandroid/app/servertransaction/WindowStateTransactionItem;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/app/servertransaction/WindowStateTransactionItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/app/servertransaction/PendingTransactionActions;)V+]Landroid/app/servertransaction/WindowStateTransactionItem$TransactionListener;Landroid/view/ViewRootImpl$W;]Landroid/app/servertransaction/WindowStateTransactionItem;Landroid/app/servertransaction/WindowStateInsetsControlChangeItem;,Landroid/app/servertransaction/WindowStateResizeItem;
 HSPLandroid/app/slice/ISliceManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
@@ -3619,9 +3639,9 @@
 HSPLandroid/app/usage/UsageStatsManager;->queryUsageStats(IJJ)Ljava/util/List;
 HSPLandroid/appwidget/AppWidgetManager$$ExternalSyntheticLambda3;-><init>()V
 HSPLandroid/appwidget/AppWidgetManager$$ExternalSyntheticLambda5;-><init>()V
-SPLandroid/appwidget/AppWidgetManager$$ExternalSyntheticLambda7;->run()V
+HSPLandroid/appwidget/AppWidgetManager$$ExternalSyntheticLambda7;->run()V
 HSPLandroid/appwidget/AppWidgetManager$ServiceCollectionCache;-><init>(Landroid/content/Context;J)V
-SPLandroid/appwidget/AppWidgetManager;->$r8$lambda$WKLPyaeqLNLNb3560d7QJuq2DwQ(Landroid/appwidget/AppWidgetManager;)V
+HSPLandroid/appwidget/AppWidgetManager;->$r8$lambda$WKLPyaeqLNLNb3560d7QJuq2DwQ(Landroid/appwidget/AppWidgetManager;)V
 HSPLandroid/appwidget/AppWidgetManager;-><init>(Landroid/content/Context;Lcom/android/internal/appwidget/IAppWidgetService;)V
 HSPLandroid/appwidget/AppWidgetManager;->getAppWidgetIds(Landroid/content/ComponentName;)[I
 HSPLandroid/appwidget/AppWidgetManager;->getInstalledProvidersForPackage(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;
@@ -4381,7 +4401,7 @@
 HSPLandroid/content/IntentFilter;->countCategories()I
 HSPLandroid/content/IntentFilter;->countDataAuthorities()I
 HSPLandroid/content/IntentFilter;->countDataPaths()I
-SPLandroid/content/IntentFilter;->countDataSchemeSpecificParts()I
+HSPLandroid/content/IntentFilter;->countDataSchemeSpecificParts()I
 HSPLandroid/content/IntentFilter;->countDataSchemes()I
 HSPLandroid/content/IntentFilter;->countDataTypes()I
 HSPLandroid/content/IntentFilter;->countMimeGroups()I
@@ -5046,12 +5066,12 @@
 HSPLandroid/content/res/ApkAssets;->getAssetPath()Ljava/lang/String;
 HSPLandroid/content/res/ApkAssets;->getDebugName()Ljava/lang/String;
 HSPLandroid/content/res/ApkAssets;->getStringFromPool(I)Ljava/lang/CharSequence;
-SPLandroid/content/res/ApkAssets;->isForLoader()Z
-SPLandroid/content/res/ApkAssets;->isOverlay()Z
-SPLandroid/content/res/ApkAssets;->isSharedLib()Z
-SPLandroid/content/res/ApkAssets;->isSystem()Z
+HSPLandroid/content/res/ApkAssets;->isForLoader()Z
+HSPLandroid/content/res/ApkAssets;->isOverlay()Z
+HSPLandroid/content/res/ApkAssets;->isSharedLib()Z
+HSPLandroid/content/res/ApkAssets;->isSystem()Z
 HSPLandroid/content/res/ApkAssets;->isUpToDate()Z
-SPLandroid/content/res/ApkAssets;->loadFromFd(Ljava/io/FileDescriptor;Ljava/lang/String;ILandroid/content/res/loader/AssetsProvider;)Landroid/content/res/ApkAssets;
+HSPLandroid/content/res/ApkAssets;->loadFromFd(Ljava/io/FileDescriptor;Ljava/lang/String;ILandroid/content/res/loader/AssetsProvider;)Landroid/content/res/ApkAssets;
 HSPLandroid/content/res/ApkAssets;->loadFromPath(Ljava/lang/String;)Landroid/content/res/ApkAssets;
 HSPLandroid/content/res/ApkAssets;->loadFromPath(Ljava/lang/String;I)Landroid/content/res/ApkAssets;
 HSPLandroid/content/res/ApkAssets;->loadOverlayFromPath(Ljava/lang/String;I)Landroid/content/res/ApkAssets;
@@ -5088,11 +5108,11 @@
 HSPLandroid/content/res/AssetManager;->-$$Nest$fgetmObject(Landroid/content/res/AssetManager;)J
 HSPLandroid/content/res/AssetManager;->-$$Nest$fputmApkAssets(Landroid/content/res/AssetManager;[Landroid/content/res/ApkAssets;)V
 HSPLandroid/content/res/AssetManager;->-$$Nest$fputmLoaders(Landroid/content/res/AssetManager;[Landroid/content/res/loader/ResourcesLoader;)V
-HSPLandroid/content/res/AssetManager;->-$$Nest$mdecRefsLocked(Landroid/content/res/AssetManager;J)V
 HSPLandroid/content/res/AssetManager;->-$$Nest$smnativeAssetDestroy(J)V
 HSPLandroid/content/res/AssetManager;->-$$Nest$smnativeAssetGetLength(J)J
 HSPLandroid/content/res/AssetManager;->-$$Nest$smnativeAssetGetRemainingLength(J)J
 HSPLandroid/content/res/AssetManager;->-$$Nest$smnativeAssetRead(J[BII)I
+SPLandroid/content/res/AssetManager;->-$$Nest$smnativeSetApkAssets(J[Landroid/content/res/ApkAssets;ZZ)V
 HSPLandroid/content/res/AssetManager;-><init>()V
 HSPLandroid/content/res/AssetManager;-><init>(Z)V
 HSPLandroid/content/res/AssetManager;-><init>(ZLandroid/content/res/AssetManager-IA;)V
@@ -5102,7 +5122,7 @@
 HSPLandroid/content/res/AssetManager;->containsAllocatedTable()Z
 HSPLandroid/content/res/AssetManager;->createSystemAssetsInZygoteLocked(ZLjava/lang/String;)V
 HSPLandroid/content/res/AssetManager;->createTheme()J
-HSPLandroid/content/res/AssetManager;->decRefsLocked(J)V
+HSPLandroid/content/res/AssetManager;->decRefs(J)V
 HSPLandroid/content/res/AssetManager;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
 HSPLandroid/content/res/AssetManager;->ensureOpenLocked()V
 HSPLandroid/content/res/AssetManager;->ensureValidLocked()V
@@ -5188,19 +5208,19 @@
 HSPLandroid/content/res/CompatibilityInfo;->applyToConfiguration(ILandroid/content/res/Configuration;)V
 HSPLandroid/content/res/CompatibilityInfo;->applyToDisplayMetrics(Landroid/util/DisplayMetrics;)V
 HSPLandroid/content/res/CompatibilityInfo;->equals(Ljava/lang/Object;)Z
-SPLandroid/content/res/CompatibilityInfo;->getCompatibilityChangesForConfig(Landroid/content/res/CompatibilityInfo;)I
+HSPLandroid/content/res/CompatibilityInfo;->getCompatibilityChangesForConfig(Landroid/content/res/CompatibilityInfo;)I
 HSPLandroid/content/res/CompatibilityInfo;->getOverrideInvertedScale()F
 HSPLandroid/content/res/CompatibilityInfo;->getTranslator()Landroid/content/res/CompatibilityInfo$Translator;
 HSPLandroid/content/res/CompatibilityInfo;->hasOverrideDisplayRotation()Z
 HSPLandroid/content/res/CompatibilityInfo;->hasOverrideScale()Z
 HSPLandroid/content/res/CompatibilityInfo;->hasOverrideScaling()Z
 HSPLandroid/content/res/CompatibilityInfo;->hashCode()I
-SPLandroid/content/res/CompatibilityInfo;->isDisplayRotationEqual(Landroid/content/res/CompatibilityInfo;)Z
-SPLandroid/content/res/CompatibilityInfo;->isOverrideDisplayRotationRequired()Z
-SPLandroid/content/res/CompatibilityInfo;->isScaleEqual(Landroid/content/res/CompatibilityInfo;)Z
+HSPLandroid/content/res/CompatibilityInfo;->isDisplayRotationEqual(Landroid/content/res/CompatibilityInfo;)Z
+HSPLandroid/content/res/CompatibilityInfo;->isOverrideDisplayRotationRequired()Z
+HSPLandroid/content/res/CompatibilityInfo;->isScaleEqual(Landroid/content/res/CompatibilityInfo;)Z
 HSPLandroid/content/res/CompatibilityInfo;->isScalingRequired()Z
 HSPLandroid/content/res/CompatibilityInfo;->needsCompatResources()Z
-SPLandroid/content/res/CompatibilityInfo;->setOverrideDisplayRotation(I)V
+HSPLandroid/content/res/CompatibilityInfo;->setOverrideDisplayRotation(I)V
 HSPLandroid/content/res/CompatibilityInfo;->setOverrideInvertedScale(F)V
 HSPLandroid/content/res/CompatibilityInfo;->supportsScreen()Z
 HSPLandroid/content/res/ComplexColor;-><init>()V
@@ -5402,7 +5422,7 @@
 HSPLandroid/content/res/ResourcesImpl$$ExternalSyntheticLambda2;-><init>()V
 HSPLandroid/content/res/ResourcesImpl$$ExternalSyntheticLambda2;->onHeaderDecoded(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V
 HSPLandroid/content/res/ResourcesImpl$LookupStack;-><init>()V
-SPLandroid/content/res/ResourcesImpl$LookupStack;-><init>(Landroid/content/res/ResourcesImpl-IA;)V
+HSPLandroid/content/res/ResourcesImpl$LookupStack;-><init>(Landroid/content/res/ResourcesImpl-IA;)V
 HSPLandroid/content/res/ResourcesImpl$LookupStack;->contains(I)Z
 HSPLandroid/content/res/ResourcesImpl$LookupStack;->pop()V
 HSPLandroid/content/res/ResourcesImpl$LookupStack;->push(I)V
@@ -5470,7 +5490,7 @@
 HSPLandroid/content/res/ResourcesImpl;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V
 HSPLandroid/content/res/ResourcesImpl;->updateConfigurationImpl(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Z)V
 HSPLandroid/content/res/ResourcesImpl;->verifyPreloadConfig(IIILjava/lang/String;)Z
-SPLandroid/content/res/ResourcesKey;-><init>(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)V
+HSPLandroid/content/res/ResourcesKey;-><init>(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)V
 HSPLandroid/content/res/ResourcesKey;-><init>(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;[Landroid/content/res/loader/ResourcesLoader;)V
 HSPLandroid/content/res/ResourcesKey;->equals(Ljava/lang/Object;)Z
 HSPLandroid/content/res/ResourcesKey;->hasOverrideConfiguration()Z
@@ -5578,18 +5598,18 @@
 HSPLandroid/content/res/XmlBlock;->finalize()V
 HSPLandroid/content/res/XmlBlock;->newParser()Landroid/content/res/XmlResourceParser;
 HSPLandroid/content/res/XmlBlock;->newParser(I)Landroid/content/res/XmlResourceParser;
-SPLandroid/content/res/loader/ResourcesLoader;-><init>()V
-SPLandroid/content/res/loader/ResourcesLoader;->addProvider(Landroid/content/res/loader/ResourcesProvider;)V
-SPLandroid/content/res/loader/ResourcesLoader;->arrayEquals([Landroid/content/res/loader/ResourcesProvider;[Landroid/content/res/loader/ResourcesProvider;)Z
-SPLandroid/content/res/loader/ResourcesLoader;->getApkAssets()Ljava/util/List;
-HSPLandroid/content/res/loader/ResourcesLoader;->notifyProvidersChangedLocked()V
+HSPLandroid/content/res/loader/ResourcesLoader;-><init>()V
+HSPLandroid/content/res/loader/ResourcesLoader;->addProvider(Landroid/content/res/loader/ResourcesProvider;)V
+HSPLandroid/content/res/loader/ResourcesLoader;->arrayEquals([Landroid/content/res/loader/ResourcesProvider;[Landroid/content/res/loader/ResourcesProvider;)Z
+HSPLandroid/content/res/loader/ResourcesLoader;->getApkAssets()Ljava/util/List;
+HSPLandroid/content/res/loader/ResourcesLoader;->notifyProvidersChangedLocked()V+]Landroid/content/res/loader/ResourcesProvider;Landroid/content/res/loader/ResourcesProvider;
 HSPLandroid/content/res/loader/ResourcesLoader;->registerOnProvidersChangedCallback(Ljava/lang/Object;Landroid/content/res/loader/ResourcesLoader$UpdateCallbacks;)V
-SPLandroid/content/res/loader/ResourcesProvider;-><init>(Landroid/content/res/ApkAssets;)V
-SPLandroid/content/res/loader/ResourcesProvider;->decrementRefCount()V
-SPLandroid/content/res/loader/ResourcesProvider;->getApkAssets()Landroid/content/res/ApkAssets;
-SPLandroid/content/res/loader/ResourcesProvider;->incrementRefCount()V
-SPLandroid/content/res/loader/ResourcesProvider;->loadFromApk(Landroid/os/ParcelFileDescriptor;)Landroid/content/res/loader/ResourcesProvider;
-SPLandroid/content/res/loader/ResourcesProvider;->loadFromApk(Landroid/os/ParcelFileDescriptor;Landroid/content/res/loader/AssetsProvider;)Landroid/content/res/loader/ResourcesProvider;
+HSPLandroid/content/res/loader/ResourcesProvider;-><init>(Landroid/content/res/ApkAssets;)V
+HSPLandroid/content/res/loader/ResourcesProvider;->decrementRefCount()V
+HSPLandroid/content/res/loader/ResourcesProvider;->getApkAssets()Landroid/content/res/ApkAssets;
+HSPLandroid/content/res/loader/ResourcesProvider;->incrementRefCount()V
+HSPLandroid/content/res/loader/ResourcesProvider;->loadFromApk(Landroid/os/ParcelFileDescriptor;)Landroid/content/res/loader/ResourcesProvider;
+HSPLandroid/content/res/loader/ResourcesProvider;->loadFromApk(Landroid/os/ParcelFileDescriptor;Landroid/content/res/loader/AssetsProvider;)Landroid/content/res/loader/ResourcesProvider;
 HSPLandroid/content/type/DefaultMimeMapFactory$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/content/type/DefaultMimeMapFactory;->create()Llibcore/content/type/MimeMap;
 HSPLandroid/content/type/DefaultMimeMapFactory;->lambda$create$0(Ljava/lang/Class;Ljava/lang/String;)Ljava/io/InputStream;
@@ -5811,6 +5831,7 @@
 HSPLandroid/database/Observable;->unregisterAll()V
 HSPLandroid/database/Observable;->unregisterObserver(Ljava/lang/Object;)V
 HSPLandroid/database/sqlite/FeatureFlagsImpl;-><init>()V
+SPLandroid/database/sqlite/FeatureFlagsImpl;->concurrentOpenHelper()Z
 HSPLandroid/database/sqlite/FeatureFlagsImpl;->onewayFinalizerCloseFixed()Z
 HSPLandroid/database/sqlite/Flags;-><clinit>()V
 HSPLandroid/database/sqlite/SQLiteClosable;-><init>()V
@@ -5822,14 +5843,14 @@
 HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->initIfNeeded()V
 HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->isLegacyCompatibilityWalEnabled()Z
 HSPLandroid/database/sqlite/SQLiteConnection$Operation;-><init>(Landroid/database/sqlite/SQLiteConnection;)V
-SPLandroid/database/sqlite/SQLiteConnection$Operation;-><init>(Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection-IA;)V
+HSPLandroid/database/sqlite/SQLiteConnection$Operation;-><init>(Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection-IA;)V
 HSPLandroid/database/sqlite/SQLiteConnection$Operation;->copyFrom(Landroid/database/sqlite/SQLiteConnection$Operation;)V
 HSPLandroid/database/sqlite/SQLiteConnection$Operation;->describe(Ljava/lang/StringBuilder;Z)V
 HSPLandroid/database/sqlite/SQLiteConnection$Operation;->getTraceMethodName()Ljava/lang/String;
 HSPLandroid/database/sqlite/SQLiteConnection$Operation;->setEmpty()V
 HSPLandroid/database/sqlite/SQLiteConnection$Operation;->start()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;
-SPLandroid/database/sqlite/SQLiteConnection$OperationLog$$ExternalSyntheticLambda0;-><init>(Landroid/database/sqlite/SQLiteConnection$OperationLog;)V
-SPLandroid/database/sqlite/SQLiteConnection$OperationLog$$ExternalSyntheticLambda1;-><init>()V
+HSPLandroid/database/sqlite/SQLiteConnection$OperationLog$$ExternalSyntheticLambda0;-><init>(Landroid/database/sqlite/SQLiteConnection$OperationLog;)V
+HSPLandroid/database/sqlite/SQLiteConnection$OperationLog$$ExternalSyntheticLambda1;-><init>()V
 HSPLandroid/database/sqlite/SQLiteConnection$OperationLog$$ExternalSyntheticLambda1;->apply(I)Ljava/lang/Object;
 HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;-><init>(Landroid/database/sqlite/SQLiteConnection;)V
 HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->beginOperation(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)I
@@ -5907,7 +5928,7 @@
 HSPLandroid/database/sqlite/SQLiteConnection;->setSyncModeFromConfiguration()V
 HSPLandroid/database/sqlite/SQLiteConnection;->throwIfStatementForbidden(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V
 HSPLandroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;-><init>()V
-SPLandroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;-><init>(Landroid/database/sqlite/SQLiteConnectionPool-IA;)V
+HSPLandroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;-><init>(Landroid/database/sqlite/SQLiteConnectionPool-IA;)V
 HSPLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->connectionAcquired(Landroid/database/sqlite/SQLiteConnection;)V
 HSPLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->connectionClosed(Landroid/database/sqlite/SQLiteConnection;)V
 HSPLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->connectionReleased(Landroid/database/sqlite/SQLiteConnection;)V
@@ -6171,7 +6192,7 @@
 HSPLandroid/database/sqlite/SQLiteStatementInfo;-><init>()V
 HSPLandroid/ddm/DdmHandle;->putString(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
 HSPLandroid/ddm/DdmHandleAppName$Names;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-SPLandroid/ddm/DdmHandleAppName$Names;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/ddm/DdmHandleAppName-IA;)V
+HSPLandroid/ddm/DdmHandleAppName$Names;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/ddm/DdmHandleAppName-IA;)V
 HSPLandroid/ddm/DdmHandleAppName;->sendAPNM(Ljava/lang/String;Ljava/lang/String;I)V
 HSPLandroid/ddm/DdmHandleAppName;->setAppName(Ljava/lang/String;I)V
 HSPLandroid/ddm/DdmHandleAppName;->setAppName(Ljava/lang/String;Ljava/lang/String;I)V
@@ -6180,7 +6201,6 @@
 HSPLandroid/ddm/DdmHandleHello;->handleFEAT(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
 HSPLandroid/ddm/DdmHandleHello;->handleHELO(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
 HSPLandroid/ddm/DdmHandleProfiling;->handleChunk(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-HSPLandroid/graphics/BLASTBufferQueue;-><init>(Ljava/lang/String;Landroid/view/SurfaceControl;III)V
 HSPLandroid/graphics/BLASTBufferQueue;-><init>(Ljava/lang/String;Z)V
 HSPLandroid/graphics/BLASTBufferQueue;->createSurface()Landroid/view/Surface;
 HSPLandroid/graphics/BLASTBufferQueue;->destroy()V
@@ -7035,7 +7055,7 @@
 HSPLandroid/graphics/Typeface$CustomFallbackBuilder;->setStyle(Landroid/graphics/fonts/FontStyle;)Landroid/graphics/Typeface$CustomFallbackBuilder;
 HSPLandroid/graphics/Typeface;-><init>(J)V
 HSPLandroid/graphics/Typeface;-><init>(JLjava/lang/String;)V
-HSPLandroid/graphics/Typeface;-><init>(JLjava/lang/String;Landroid/graphics/Typeface;)V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry;
+HSPLandroid/graphics/Typeface;-><init>(JLjava/lang/String;Landroid/graphics/Typeface;)V
 HSPLandroid/graphics/Typeface;->create(Landroid/graphics/Typeface;I)Landroid/graphics/Typeface;
 HSPLandroid/graphics/Typeface;->create(Ljava/lang/String;I)Landroid/graphics/Typeface;
 HSPLandroid/graphics/Typeface;->createFromAsset(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface;
@@ -7393,7 +7413,7 @@
 HSPLandroid/graphics/drawable/Drawable;->updateBlendModeFilter(Landroid/graphics/BlendModeColorFilter;Landroid/content/res/ColorStateList;Landroid/graphics/BlendMode;)Landroid/graphics/BlendModeColorFilter;
 HSPLandroid/graphics/drawable/Drawable;->updateTintFilter(Landroid/graphics/PorterDuffColorFilter;Landroid/content/res/ColorStateList;Landroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuffColorFilter;
 HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;-><init>()V
-SPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;-><init>(Landroid/graphics/drawable/DrawableContainer-IA;)V
+HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;-><init>(Landroid/graphics/drawable/DrawableContainer-IA;)V
 HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->unwrap()Landroid/graphics/drawable/Drawable$Callback;
 HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->wrap(Landroid/graphics/drawable/Drawable$Callback;)Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;
@@ -8104,9 +8124,9 @@
 HSPLandroid/graphics/fonts/Font;->getAxes()[Landroid/graphics/fonts/FontVariationAxis;
 HSPLandroid/graphics/fonts/Font;->getNativePtr()J
 HSPLandroid/graphics/fonts/Font;->getStyle()Landroid/graphics/fonts/FontStyle;
-SPLandroid/graphics/fonts/FontFamily$Builder$NoImagePreloadHolder;->-$$Nest$sfgetsFamilyRegistry()Llibcore/util/NativeAllocationRegistry;
-SPLandroid/graphics/fonts/FontFamily$Builder$NoImagePreloadHolder;-><clinit>()V
-SPLandroid/graphics/fonts/FontFamily$Builder;->-$$Nest$smnGetReleaseNativeFamily()J
+HSPLandroid/graphics/fonts/FontFamily$Builder$NoImagePreloadHolder;->-$$Nest$sfgetsFamilyRegistry()Llibcore/util/NativeAllocationRegistry;
+HSPLandroid/graphics/fonts/FontFamily$Builder$NoImagePreloadHolder;-><clinit>()V
+HSPLandroid/graphics/fonts/FontFamily$Builder;->-$$Nest$smnGetReleaseNativeFamily()J
 HSPLandroid/graphics/fonts/FontFamily$Builder;-><init>(Landroid/graphics/fonts/Font;)V
 HSPLandroid/graphics/fonts/FontFamily$Builder;->build()Landroid/graphics/fonts/FontFamily;
 HSPLandroid/graphics/fonts/FontFamily$Builder;->build(Ljava/lang/String;IZZI)Landroid/graphics/fonts/FontFamily;
@@ -8123,7 +8143,6 @@
 HSPLandroid/graphics/fonts/FontVariationAxis;->fromFontVariationSettings(Ljava/lang/String;)[Landroid/graphics/fonts/FontVariationAxis;
 HSPLandroid/graphics/fonts/FontVariationAxis;->isValidTag(Ljava/lang/String;)Z
 HSPLandroid/graphics/fonts/FontVariationAxis;->makeTag(Ljava/lang/String;)I
-HSPLandroid/graphics/fonts/FontVariationAxis;->toString()Ljava/lang/String;
 HSPLandroid/graphics/fonts/SystemFonts;->mmap(Ljava/lang/String;)Ljava/nio/ByteBuffer;
 HSPLandroid/graphics/text/LineBreakConfig$Builder;-><init>()V
 HSPLandroid/graphics/text/LineBreakConfig$Builder;->build()Landroid/graphics/text/LineBreakConfig;
@@ -8172,7 +8191,7 @@
 HSPLandroid/hardware/CameraStatus$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/hardware/CameraStatus$1;->newArray(I)[Landroid/hardware/CameraStatus;
 HSPLandroid/hardware/CameraStatus$1;->newArray(I)[Ljava/lang/Object;
-SPLandroid/hardware/DataSpace;->pack(III)I
+HSPLandroid/hardware/DataSpace;->pack(III)I
 HSPLandroid/hardware/GeomagneticField$LegendreTable;-><init>(IF)V
 HSPLandroid/hardware/GeomagneticField;-><init>(FFFJ)V
 HSPLandroid/hardware/GeomagneticField;->computeGeocentricCoordinates(FFF)V
@@ -8224,8 +8243,8 @@
 HSPLandroid/hardware/SyncFence;-><init>(J)V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry;
 HSPLandroid/hardware/SyncFence;-><init>(Landroid/hardware/SyncFence;)V
 HSPLandroid/hardware/SyncFence;->await(J)Z
-SPLandroid/hardware/SyncFence;->awaitForever()Z
-HSPLandroid/hardware/SyncFence;->close()V
+HSPLandroid/hardware/SyncFence;->awaitForever()Z
+HSPLandroid/hardware/SyncFence;->close()V+]Ljava/lang/Runnable;Llibcore/util/NativeAllocationRegistry$CleanerRunner;
 HSPLandroid/hardware/SyncFence;->getSignalTime()J
 HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;-><init>(Landroid/os/Looper;Landroid/hardware/SystemSensorManager;ILjava/lang/String;)V
 HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;->addSensor(Landroid/hardware/Sensor;II)Z
@@ -8246,7 +8265,7 @@
 HSPLandroid/hardware/SystemSensorManager$TriggerEventQueue;->dispatchSensorEvent(I[FIJ)V
 HSPLandroid/hardware/SystemSensorManager$TriggerEventQueue;->removeSensorEvent(Landroid/hardware/Sensor;)V
 HSPLandroid/hardware/SystemSensorManager;->-$$Nest$fgetmHandleToSensor(Landroid/hardware/SystemSensorManager;)Ljava/util/HashMap;
-SPLandroid/hardware/SystemSensorManager;-><clinit>()V
+HSPLandroid/hardware/SystemSensorManager;-><clinit>()V
 HSPLandroid/hardware/SystemSensorManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
 HSPLandroid/hardware/SystemSensorManager;->cancelTriggerSensorImpl(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;Z)Z
 HSPLandroid/hardware/SystemSensorManager;->getFullSensorList()Ljava/util/List;
@@ -8356,30 +8375,32 @@
 HSPLandroid/hardware/camera2/utils/TypeReference;->getRawType(Ljava/lang/reflect/Type;)Ljava/lang/Class;
 HSPLandroid/hardware/camera2/utils/TypeReference;->getType()Ljava/lang/reflect/Type;
 HSPLandroid/hardware/camera2/utils/TypeReference;->hashCode()I
-SPLandroid/hardware/devicestate/DeviceState$Configuration;-><init>(ILjava/lang/String;Landroid/util/ArraySet;Landroid/util/ArraySet;)V
-SPLandroid/hardware/devicestate/DeviceState$Configuration;-><init>(ILjava/lang/String;Landroid/util/ArraySet;Landroid/util/ArraySet;Landroid/hardware/devicestate/DeviceState-IA;)V
-SPLandroid/hardware/devicestate/DeviceState$Configuration;->getIdentifier()I
-SPLandroid/hardware/devicestate/DeviceState;-><init>(Landroid/hardware/devicestate/DeviceState$Configuration;)V
-SPLandroid/hardware/devicestate/DeviceState;->getIdentifier()I
+HSPLandroid/hardware/devicestate/DeviceState$Configuration;-><init>(ILjava/lang/String;Landroid/util/ArraySet;Landroid/util/ArraySet;)V
+HSPLandroid/hardware/devicestate/DeviceState$Configuration;-><init>(ILjava/lang/String;Landroid/util/ArraySet;Landroid/util/ArraySet;Landroid/hardware/devicestate/DeviceState-IA;)V
+HSPLandroid/hardware/devicestate/DeviceState$Configuration;->getIdentifier()I
+HSPLandroid/hardware/devicestate/DeviceState;-><init>(Landroid/hardware/devicestate/DeviceState$Configuration;)V
+HSPLandroid/hardware/devicestate/DeviceState;->getIdentifier()I
 HSPLandroid/hardware/devicestate/DeviceStateInfo$1;-><init>()V
 HSPLandroid/hardware/devicestate/DeviceStateInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/devicestate/DeviceStateInfo;
 HSPLandroid/hardware/devicestate/DeviceStateInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/hardware/devicestate/DeviceStateInfo;-><clinit>()V
 HSPLandroid/hardware/devicestate/DeviceStateManager;-><init>()V
+SPLandroid/hardware/devicestate/DeviceStateManager;->getSupportedDeviceStates()Ljava/util/List;
 HSPLandroid/hardware/devicestate/DeviceStateManager;->registerCallback(Ljava/util/concurrent/Executor;Landroid/hardware/devicestate/DeviceStateManager$DeviceStateCallback;)V
 HSPLandroid/hardware/devicestate/DeviceStateManagerGlobal$DeviceStateCallbackWrapper$$ExternalSyntheticLambda0;->run()V
 HSPLandroid/hardware/devicestate/DeviceStateManagerGlobal$DeviceStateCallbackWrapper$$ExternalSyntheticLambda1;->run()V
 HSPLandroid/hardware/devicestate/DeviceStateManagerGlobal$DeviceStateCallbackWrapper$$ExternalSyntheticLambda2;->run()V
 HSPLandroid/hardware/devicestate/DeviceStateManagerGlobal$DeviceStateCallbackWrapper;-><init>(Landroid/hardware/devicestate/DeviceStateManager$DeviceStateCallback;Ljava/util/concurrent/Executor;)V
 HSPLandroid/hardware/devicestate/DeviceStateManagerGlobal$DeviceStateManagerCallback;-><init>(Landroid/hardware/devicestate/DeviceStateManagerGlobal;)V
-SPLandroid/hardware/devicestate/DeviceStateManagerGlobal$DeviceStateManagerCallback;-><init>(Landroid/hardware/devicestate/DeviceStateManagerGlobal;Landroid/hardware/devicestate/DeviceStateManagerGlobal-IA;)V
+HSPLandroid/hardware/devicestate/DeviceStateManagerGlobal$DeviceStateManagerCallback;-><init>(Landroid/hardware/devicestate/DeviceStateManagerGlobal;Landroid/hardware/devicestate/DeviceStateManagerGlobal-IA;)V
 HSPLandroid/hardware/devicestate/DeviceStateManagerGlobal$DeviceStateManagerCallback;->onDeviceStateInfoChanged(Landroid/hardware/devicestate/DeviceStateInfo;)V
 HSPLandroid/hardware/devicestate/DeviceStateManagerGlobal;->-$$Nest$mhandleDeviceStateInfoChanged(Landroid/hardware/devicestate/DeviceStateManagerGlobal;Landroid/hardware/devicestate/DeviceStateInfo;)V
 HSPLandroid/hardware/devicestate/DeviceStateManagerGlobal;-><init>(Landroid/hardware/devicestate/IDeviceStateManager;)V
 HSPLandroid/hardware/devicestate/DeviceStateManagerGlobal;->findCallbackLocked(Landroid/hardware/devicestate/DeviceStateManager$DeviceStateCallback;)I
 HSPLandroid/hardware/devicestate/DeviceStateManagerGlobal;->getInstance()Landroid/hardware/devicestate/DeviceStateManagerGlobal;
+SPLandroid/hardware/devicestate/DeviceStateManagerGlobal;->getSupportedDeviceStates()Ljava/util/List;
 HSPLandroid/hardware/devicestate/DeviceStateManagerGlobal;->handleDeviceStateInfoChanged(Landroid/hardware/devicestate/DeviceStateInfo;)V
-SPLandroid/hardware/devicestate/DeviceStateManagerGlobal;->registerCallbackLocked()V
+HSPLandroid/hardware/devicestate/DeviceStateManagerGlobal;->registerCallbackLocked()V
 HSPLandroid/hardware/devicestate/DeviceStateManagerGlobal;->registerDeviceStateCallback(Landroid/hardware/devicestate/DeviceStateManager$DeviceStateCallback;Ljava/util/concurrent/Executor;)V
 HSPLandroid/hardware/devicestate/IDeviceStateManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/hardware/devicestate/IDeviceStateManager$Stub$Proxy;->asBinder()Landroid/os/IBinder;
@@ -8435,7 +8456,7 @@
 HSPLandroid/hardware/display/DisplayManager;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
 HSPLandroid/hardware/display/DisplayManager;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;J)V
 HSPLandroid/hardware/display/DisplayManager;->unregisterDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;)V
-SPLandroid/hardware/display/DisplayManagerGlobal$1;-><init>(Landroid/hardware/display/DisplayManagerGlobal;Landroid/app/PropertyInvalidatedCache$Args;Ljava/lang/String;Landroid/app/PropertyInvalidatedCache$QueryHandler;)V
+HSPLandroid/hardware/display/DisplayManagerGlobal$1;-><init>(Landroid/hardware/display/DisplayManagerGlobal;Landroid/app/PropertyInvalidatedCache$Args;Ljava/lang/String;Landroid/app/PropertyInvalidatedCache$QueryHandler;)V
 HSPLandroid/hardware/display/DisplayManagerGlobal$1;->recompute(Ljava/lang/Integer;)Landroid/view/DisplayInfo;
 HSPLandroid/hardware/display/DisplayManagerGlobal$1;->recompute(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate$$ExternalSyntheticLambda0;-><init>(Landroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;JIILandroid/view/DisplayInfo;Z)V
@@ -8444,7 +8465,7 @@
 HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->handleDisplayEventInner(IILandroid/view/DisplayInfo;Z)V
 HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->sendDisplayEvent(IILandroid/view/DisplayInfo;Z)V+]Ljava/util/concurrent/Executor;missing_types
 HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;-><init>(Landroid/hardware/display/DisplayManagerGlobal;)V
-SPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;-><init>(Landroid/hardware/display/DisplayManagerGlobal;Landroid/hardware/display/DisplayManagerGlobal-IA;)V
+HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;-><init>(Landroid/hardware/display/DisplayManagerGlobal;Landroid/hardware/display/DisplayManagerGlobal-IA;)V
 HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;->onDisplayEvent(II)V
 HSPLandroid/hardware/display/DisplayManagerGlobal;->-$$Nest$fgetmDm(Landroid/hardware/display/DisplayManagerGlobal;)Landroid/hardware/display/IDisplayManager;
 HSPLandroid/hardware/display/DisplayManagerGlobal;-><init>(Landroid/hardware/display/IDisplayManager;)V
@@ -8459,13 +8480,13 @@
 HSPLandroid/hardware/display/DisplayManagerGlobal;->getDisplayInfoLocked(I)Landroid/view/DisplayInfo;
 HSPLandroid/hardware/display/DisplayManagerGlobal;->getInstance()Landroid/hardware/display/DisplayManagerGlobal;
 HSPLandroid/hardware/display/DisplayManagerGlobal;->getLooperForHandler(Landroid/os/Handler;)Landroid/os/Looper;
-SPLandroid/hardware/display/DisplayManagerGlobal;->getOverlaySupport()Landroid/hardware/OverlayProperties;
+HSPLandroid/hardware/display/DisplayManagerGlobal;->getOverlaySupport()Landroid/hardware/OverlayProperties;
 HSPLandroid/hardware/display/DisplayManagerGlobal;->getPreferredWideGamutColorSpace()Landroid/graphics/ColorSpace;
 HSPLandroid/hardware/display/DisplayManagerGlobal;->getStableDisplaySize()Landroid/graphics/Point;
 HSPLandroid/hardware/display/DisplayManagerGlobal;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
 HSPLandroid/hardware/display/DisplayManagerGlobal;->handleDisplayEvent(IIZ)V+]Ljava/util/Iterator;Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator;]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList;
 HSPLandroid/hardware/display/DisplayManagerGlobal;->initExtraLogging()Z
-SPLandroid/hardware/display/DisplayManagerGlobal;->mapPrivateEventFlags(J)J
+HSPLandroid/hardware/display/DisplayManagerGlobal;->mapPrivateEventFlags(J)J
 HSPLandroid/hardware/display/DisplayManagerGlobal;->mapPublicEventFlags(J)J
 HSPLandroid/hardware/display/DisplayManagerGlobal;->maybeLogAllDisplayListeners()V
 HSPLandroid/hardware/display/DisplayManagerGlobal;->registerCallbackIfNeededLocked()V
@@ -8738,7 +8759,7 @@
 HSPLandroid/icu/impl/ICUBinary$DatPackageReader;->getNameOffset(Ljava/nio/ByteBuffer;I)I
 HSPLandroid/icu/impl/ICUBinary$PackageDataFile;->addBaseNamesInFolder(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
 HSPLandroid/icu/impl/ICUBinary$PackageDataFile;->getData(Ljava/lang/String;)Ljava/nio/ByteBuffer;
-SPLandroid/icu/impl/ICUBinary$SingleDataFile;->getData(Ljava/lang/String;)Ljava/nio/ByteBuffer;
+HSPLandroid/icu/impl/ICUBinary$SingleDataFile;->getData(Ljava/lang/String;)Ljava/nio/ByteBuffer;
 HSPLandroid/icu/impl/ICUBinary;->addBaseNamesInFileFolder(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
 HSPLandroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;Ljava/nio/ByteBuffer;I)I
 HSPLandroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;[BI)I
@@ -9394,8 +9415,6 @@
 HSPLandroid/icu/impl/locale/InternalLocaleBuilder;->setRegion(Ljava/lang/String;)Landroid/icu/impl/locale/InternalLocaleBuilder;
 HSPLandroid/icu/impl/locale/KeyTypeData;->initFromResourceBundle()V
 HSPLandroid/icu/impl/locale/LSR$CachedDecoder$$ExternalSyntheticLambda0;-><init>()V
-HSPLandroid/icu/impl/locale/LSR$CachedDecoder$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/impl/locale/LSR$CachedDecoder;->$r8$lambda$2Vo5iUPXBd-yMfh29hR8_HJ2Bj4(I)Ljava/lang/String;
 HSPLandroid/icu/impl/locale/LSR$CachedDecoder;->decode(I)[Ljava/lang/String;
 HSPLandroid/icu/impl/locale/LSR$CachedDecoder;->toLanguage(I)Ljava/lang/String;
 HSPLandroid/icu/impl/locale/LSR;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
@@ -9722,11 +9741,11 @@
 HSPLandroid/icu/impl/number/range/StandardPluralRanges;->getPluralRangesData(Ljava/lang/String;Landroid/icu/impl/number/range/StandardPluralRanges;)V
 HSPLandroid/icu/impl/number/range/StandardPluralRanges;->getSetForLocale(Landroid/icu/util/ULocale;)Ljava/lang/String;
 HSPLandroid/icu/impl/number/range/StandardPluralRanges;->setCapacity(I)V
-HSPLandroid/icu/lang/CharSequences;->codePoints(Ljava/lang/CharSequence;)[I
 HSPLandroid/icu/lang/UCharacter;->codePointAt(Ljava/lang/CharSequence;I)I
 HSPLandroid/icu/lang/UCharacter;->digit(I)I
 HSPLandroid/icu/lang/UCharacter;->foldCase(II)I
 HSPLandroid/icu/lang/UCharacter;->foldCase(IZ)I
+HSPLandroid/icu/lang/UCharacter;->getAge(I)Landroid/icu/util/VersionInfo;
 HSPLandroid/icu/lang/UCharacter;->getPropertyValueEnumNoThrow(ILjava/lang/CharSequence;)I
 HSPLandroid/icu/lang/UCharacter;->getType(I)I
 HSPLandroid/icu/lang/UCharacter;->isDigit(I)Z
@@ -10756,6 +10775,8 @@
 HSPLandroid/icu/util/VersionInfo;->getMajor()I
 HSPLandroid/internal/modules/utils/build/SdkLevel;->isAtLeastPreReleaseCodename(Ljava/lang/String;)Z
 HSPLandroid/internal/modules/utils/build/SdkLevel;->isAtLeastV()Z
+SPLandroid/location/ILocationManager$Stub;-><clinit>()V
+HSPLandroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;+]Landroid/os/IBinder;Landroid/os/BinderProxy;
 HSPLandroid/location/Location$$ExternalSyntheticLambda0;->get()Ljava/lang/Object;
 HSPLandroid/location/Location$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/Location;
 HSPLandroid/location/Location$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -10800,6 +10821,10 @@
 HSPLandroid/location/Location;->setVerticalAccuracyMeters(F)V
 HSPLandroid/location/Location;->toString()Ljava/lang/String;
 HSPLandroid/location/Location;->writeToParcel(Landroid/os/Parcel;I)V
+SPLandroid/location/LocationManager$LocationEnabledCache;-><init>(I)V
+SPLandroid/location/LocationManager;->-$$Nest$sfgetCACHE_KEY_LOCATION_ENABLED_PROPERTY()Ljava/lang/String;
+SPLandroid/location/LocationManager;-><clinit>()V
+HSPLandroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
 HSPLandroid/media/AudioAttributes$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/AudioAttributes;
 HSPLandroid/media/AudioAttributes$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/media/AudioAttributes$Builder;-><init>()V
@@ -11598,7 +11623,7 @@
 HSPLandroid/multiuser/FeatureFlagsImpl;->cacheUserSerialNumberReadOnly()Z
 HSPLandroid/multiuser/FeatureFlagsImpl;->cachingDevelopmentImprovements()Z
 HSPLandroid/multiuser/FeatureFlagsImpl;->enableSystemUserOnlyForServicesAndProviders()Z
-SPLandroid/multiuser/Flags;->cachingDevelopmentImprovements()Z
+HSPLandroid/multiuser/Flags;->cachingDevelopmentImprovements()Z
 HSPLandroid/multiuser/Flags;->enableSystemUserOnlyForServicesAndProviders()Z
 HSPLandroid/net/Credentials;-><init>(III)V
 HSPLandroid/net/Credentials;->getPid()I
@@ -11774,7 +11799,7 @@
 HSPLandroid/net/Uri$PathPart;->getEncoded()Ljava/lang/String;
 HSPLandroid/net/Uri$PathPart;->getPathSegments()Landroid/net/Uri$PathSegments;
 HSPLandroid/net/Uri$PathPart;->makeAbsolute(Landroid/net/Uri$PathPart;)Landroid/net/Uri$PathPart;
-SPLandroid/net/Uri$PathSegments;-><clinit>()V
+HSPLandroid/net/Uri$PathSegments;-><clinit>()V
 HSPLandroid/net/Uri$PathSegments;-><init>([Ljava/lang/String;I)V
 HSPLandroid/net/Uri$PathSegments;->get(I)Ljava/lang/Object;
 HSPLandroid/net/Uri$PathSegments;->get(I)Ljava/lang/String;
@@ -11782,8 +11807,8 @@
 HSPLandroid/net/Uri$PathSegmentsBuilder;->add(Ljava/lang/String;)V
 HSPLandroid/net/Uri$PathSegmentsBuilder;->build()Landroid/net/Uri$PathSegments;
 HSPLandroid/net/Uri$StringUri;->-$$Nest$mgetFragmentPart(Landroid/net/Uri$StringUri;)Landroid/net/Uri$Part;
-SPLandroid/net/Uri$StringUri;->-$$Nest$mgetSsp(Landroid/net/Uri$StringUri;)Landroid/net/Uri$Part;
-SPLandroid/net/Uri$StringUri;->-$$Nest$mparseScheme(Landroid/net/Uri$StringUri;)Ljava/lang/String;
+HSPLandroid/net/Uri$StringUri;->-$$Nest$mgetSsp(Landroid/net/Uri$StringUri;)Landroid/net/Uri$Part;
+HSPLandroid/net/Uri$StringUri;->-$$Nest$mparseScheme(Landroid/net/Uri$StringUri;)Ljava/lang/String;
 HSPLandroid/net/Uri$StringUri;-><init>(Ljava/lang/String;)V
 HSPLandroid/net/Uri$StringUri;-><init>(Ljava/lang/String;Landroid/net/Uri-IA;)V
 HSPLandroid/net/Uri$StringUri;->buildUpon()Landroid/net/Uri$Builder;
@@ -11921,7 +11946,6 @@
 HSPLandroid/os/BaseBundle;->getByteArray(Ljava/lang/String;)[B
 HSPLandroid/os/BaseBundle;->getCharSequence(Ljava/lang/String;)Ljava/lang/CharSequence;
 HSPLandroid/os/BaseBundle;->getCharSequenceArray(Ljava/lang/String;)[Ljava/lang/CharSequence;
-HSPLandroid/os/BaseBundle;->getClassLoader()Ljava/lang/ClassLoader;
 HSPLandroid/os/BaseBundle;->getFloat(Ljava/lang/String;F)F
 HSPLandroid/os/BaseBundle;->getInt(Ljava/lang/String;)I
 HSPLandroid/os/BaseBundle;->getInt(Ljava/lang/String;I)I
@@ -12081,7 +12105,6 @@
 HSPLandroid/os/Bundle;->getBundle(Ljava/lang/String;)Landroid/os/Bundle;
 HSPLandroid/os/Bundle;->getByteArray(Ljava/lang/String;)[B
 HSPLandroid/os/Bundle;->getCharSequence(Ljava/lang/String;)Ljava/lang/CharSequence;
-HSPLandroid/os/Bundle;->getClassLoader()Ljava/lang/ClassLoader;
 HSPLandroid/os/Bundle;->getFloat(Ljava/lang/String;)F
 HSPLandroid/os/Bundle;->getFloat(Ljava/lang/String;F)F
 HSPLandroid/os/Bundle;->getIntegerArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
@@ -12293,7 +12316,7 @@
 HSPLandroid/os/GraphicsEnvironment;->getInstance()Landroid/os/GraphicsEnvironment;
 HSPLandroid/os/GraphicsEnvironment;->getPackageIndex(Ljava/lang/String;Ljava/util/List;)I
 HSPLandroid/os/GraphicsEnvironment;->getVulkanVersion(Landroid/content/pm/PackageManager;)I
-SPLandroid/os/GraphicsEnvironment;->queryAngleChoice(Landroid/content/Context;Landroid/os/Bundle;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/os/GraphicsEnvironment;->queryAngleChoice(Landroid/content/Context;Landroid/os/Bundle;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/os/GraphicsEnvironment;->setLayerPaths(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/os/GraphicsEnvironment;->setup(Landroid/content/Context;Landroid/os/Bundle;)V
 HSPLandroid/os/GraphicsEnvironment;->setupAngle(Landroid/content/Context;Landroid/os/Bundle;Landroid/content/pm/PackageManager;Ljava/lang/String;)Z
@@ -12382,7 +12405,7 @@
 HSPLandroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;->getProperty(ILandroid/os/BatteryProperty;)I
 HSPLandroid/os/IBatteryPropertiesRegistrar$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IBatteryPropertiesRegistrar;
-HSPLandroid/os/IBinder$DeathRecipient;->binderDied(Landroid/os/IBinder;)V
+HSPLandroid/os/IBinder$DeathRecipient;->binderDied(Landroid/os/IBinder;)V+]Landroid/os/IBinder$DeathRecipient;Landroid/os/RemoteCallbackList$Interface;
 HSPLandroid/os/IBinder;->getSuggestedMaxIpcSizeBytes()I
 HSPLandroid/os/ICancellationSignal$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/os/ICancellationSignal$Stub$Proxy;->asBinder()Landroid/os/IBinder;
@@ -12433,7 +12456,8 @@
 HSPLandroid/os/IRemoteCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/IServiceManager$Stub$Proxy;->addService(Ljava/lang/String;Landroid/os/IBinder;ZI)V
 HSPLandroid/os/IServiceManager$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/os/IServiceManager$Stub$Proxy;->checkService(Ljava/lang/String;)Landroid/os/Service;+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/IServiceManager$Stub$Proxy;Landroid/os/IServiceManager$Stub$Proxy;
+HSPLandroid/os/IServiceManager$Stub$Proxy;->checkService(Ljava/lang/String;)Landroid/os/IBinder;
+HSPLandroid/os/IServiceManager$Stub$Proxy;->checkService2(Ljava/lang/String;)Landroid/os/Service;+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/IServiceManager$Stub$Proxy;Landroid/os/IServiceManager$Stub$Proxy;
 HSPLandroid/os/IServiceManager$Stub$Proxy;->isDeclared(Ljava/lang/String;)Z
 HSPLandroid/os/ISystemConfig$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/ISystemConfig;
 HSPLandroid/os/IThermalEventListener$Stub;-><init>()V
@@ -12473,13 +12497,13 @@
 HSPLandroid/os/IVibratorManagerService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/os/IVibratorManagerService$Stub$Proxy;->getVibratorIds()[I
 HSPLandroid/os/IVibratorManagerService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IVibratorManagerService;
-SPLandroid/os/IpcDataCache$1;-><init>(Landroid/os/IpcDataCache$RemoteCall;)V
+HSPLandroid/os/IpcDataCache$1;-><init>(Landroid/os/IpcDataCache$RemoteCall;)V
 HSPLandroid/os/IpcDataCache$1;->apply(Ljava/lang/Object;)Ljava/lang/Object;+]Landroid/os/IpcDataCache$RemoteCall;megamorphic_types
-SPLandroid/os/IpcDataCache$Config;-><init>(ILjava/lang/String;Ljava/lang/String;)V
+HSPLandroid/os/IpcDataCache$Config;-><init>(ILjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/os/IpcDataCache$Config;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-SPLandroid/os/IpcDataCache$Config;-><init>(Landroid/app/PropertyInvalidatedCache$Args;Ljava/lang/String;)V
+HSPLandroid/os/IpcDataCache$Config;-><init>(Landroid/app/PropertyInvalidatedCache$Args;Ljava/lang/String;)V
 HSPLandroid/os/IpcDataCache$Config;-><init>(Landroid/os/IpcDataCache$Config;Ljava/lang/String;Ljava/lang/String;)V
-SPLandroid/os/IpcDataCache$Config;->cacheNulls(Z)Landroid/os/IpcDataCache$Config;
+HSPLandroid/os/IpcDataCache$Config;->cacheNulls(Z)Landroid/os/IpcDataCache$Config;
 HSPLandroid/os/IpcDataCache$Config;->child(Ljava/lang/String;)Landroid/os/IpcDataCache$Config;
 HSPLandroid/os/IpcDataCache$Config;->registerChild(Ljava/lang/String;)V
 HSPLandroid/os/IpcDataCache$QueryHandler;-><init>()V
@@ -12489,6 +12513,7 @@
 HSPLandroid/os/IpcDataCache;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/IpcDataCache$QueryHandler;)V
 HSPLandroid/os/IpcDataCache;-><init>(Landroid/os/IpcDataCache$Config;Landroid/os/IpcDataCache$QueryHandler;)V
 HSPLandroid/os/IpcDataCache;-><init>(Landroid/os/IpcDataCache$Config;Landroid/os/IpcDataCache$RemoteCall;)V
+HSPLandroid/os/IpcDataCache;->isDisabled()Z
 HSPLandroid/os/IpcDataCache;->query(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/os/LocaleList$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/LocaleList;
 HSPLandroid/os/LocaleList$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -12542,6 +12567,7 @@
 HSPLandroid/os/Message;->getData()Landroid/os/Bundle;
 HSPLandroid/os/Message;->getTarget()Landroid/os/Handler;
 HSPLandroid/os/Message;->getWhen()J
+HSPLandroid/os/Message;->isAsynchronous()Z
 HSPLandroid/os/Message;->isInUse()Z
 HSPLandroid/os/Message;->markInUse()V
 HSPLandroid/os/Message;->obtain()Landroid/os/Message;
@@ -12731,7 +12757,7 @@
 HSPLandroid/os/Messenger;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/Parcel$2;-><init>(Landroid/os/Parcel;Ljava/io/InputStream;Ljava/lang/ClassLoader;)V
 HSPLandroid/os/Parcel$2;->resolveClass(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
-HSPLandroid/os/Parcel$LazyValue;-><init>(Landroid/os/Parcel;IIILandroid/os/Parcel$ClassLoaderProvider;)V
+HSPLandroid/os/Parcel$LazyValue;-><init>(Landroid/os/Parcel;IIILjava/lang/ClassLoader;)V
 HSPLandroid/os/Parcel$LazyValue;->apply(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object;
 HSPLandroid/os/Parcel$LazyValue;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/os/Parcel$LazyValue;->writeToParcel(Landroid/os/Parcel;)V
@@ -12771,7 +12797,6 @@
 HSPLandroid/os/Parcel;->finalize()V
 HSPLandroid/os/Parcel;->freeBuffer()V
 HSPLandroid/os/Parcel;->getClassCookie(Ljava/lang/Class;)Ljava/lang/Object;
-HSPLandroid/os/Parcel;->getClassLoader(Landroid/os/Parcel$ClassLoaderProvider;)Ljava/lang/ClassLoader;+]Landroid/os/Parcel$ClassLoaderProvider;Landroid/os/Bundle;,Landroid/os/PersistableBundle;
 HSPLandroid/os/Parcel;->getExceptionCode(Ljava/lang/Throwable;)I
 HSPLandroid/os/Parcel;->getValueType(Ljava/lang/Object;)I
 HSPLandroid/os/Parcel;->hasFileDescriptors()Z
@@ -12789,7 +12814,9 @@
 HSPLandroid/os/Parcel;->readArrayList(Ljava/lang/ClassLoader;)Ljava/util/ArrayList;
 HSPLandroid/os/Parcel;->readArrayList(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/util/ArrayList;
 HSPLandroid/os/Parcel;->readArrayListInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/util/ArrayList;
-HSPLandroid/os/Parcel;->readArrayMap(Landroid/util/ArrayMap;IZZLandroid/os/Parcel$ClassLoaderProvider;[I)V
+HSPLandroid/os/Parcel;->readArrayMap(Landroid/util/ArrayMap;IZZLjava/lang/ClassLoader;[I)V
+HSPLandroid/os/Parcel;->readArrayMap(Landroid/util/ArrayMap;Ljava/lang/ClassLoader;)V
+HSPLandroid/os/Parcel;->readArrayMapInternal(Landroid/util/ArrayMap;ILjava/lang/ClassLoader;)V
 HSPLandroid/os/Parcel;->readArraySet(Ljava/lang/ClassLoader;)Landroid/util/ArraySet;
 HSPLandroid/os/Parcel;->readBinderList(Ljava/util/List;)V
 HSPLandroid/os/Parcel;->readBlob()[B
@@ -12812,7 +12839,7 @@
 HSPLandroid/os/Parcel;->readHashMapInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/HashMap;
 HSPLandroid/os/Parcel;->readInt()I
 HSPLandroid/os/Parcel;->readIntArray([I)V
-HSPLandroid/os/Parcel;->readLazyValue(Landroid/os/Parcel$ClassLoaderProvider;)Ljava/lang/Object;
+HSPLandroid/os/Parcel;->readLazyValue(Ljava/lang/ClassLoader;)Ljava/lang/Object;
 HSPLandroid/os/Parcel;->readList(Ljava/util/List;Ljava/lang/ClassLoader;)V
 HSPLandroid/os/Parcel;->readList(Ljava/util/List;Ljava/lang/ClassLoader;Ljava/lang/Class;)V
 HSPLandroid/os/Parcel;->readListInternal(Ljava/util/List;ILjava/lang/ClassLoader;)V
@@ -13118,26 +13145,24 @@
 HSPLandroid/os/ServiceManager;->rawGetService(Ljava/lang/String;)Landroid/os/IBinder;
 HSPLandroid/os/ServiceManager;->waitForDeclaredService(Ljava/lang/String;)Landroid/os/IBinder;
 HSPLandroid/os/ServiceManagerProxy;->addService(Ljava/lang/String;Landroid/os/IBinder;ZI)V
-HSPLandroid/os/ServiceManagerProxy;->checkService(Ljava/lang/String;)Landroid/os/Service;+]Landroid/os/IServiceManager;Landroid/os/IServiceManager$Stub$Proxy;
+HSPLandroid/os/ServiceManagerProxy;->checkService2(Ljava/lang/String;)Landroid/os/Service;+]Landroid/os/IServiceManager;Landroid/os/IServiceManager$Stub$Proxy;
 HSPLandroid/os/ServiceManagerProxy;->getService(Ljava/lang/String;)Landroid/os/IBinder;
 HSPLandroid/os/ServiceManagerProxy;->getService2(Ljava/lang/String;)Landroid/os/Service;+]Landroid/os/ServiceManagerProxy;Landroid/os/ServiceManagerProxy;
 HSPLandroid/os/ServiceManagerProxy;->isDeclared(Ljava/lang/String;)Z
 HSPLandroid/os/ServiceSpecificException;-><init>(ILjava/lang/String;)V
-SPLandroid/os/ServiceWithMetadata$1;-><init>()V
+HSPLandroid/os/ServiceWithMetadata$1;-><init>()V
 HSPLandroid/os/ServiceWithMetadata$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/ServiceWithMetadata;
 HSPLandroid/os/ServiceWithMetadata$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/os/ServiceWithMetadata$1;Landroid/os/ServiceWithMetadata$1;
-SPLandroid/os/ServiceWithMetadata;-><clinit>()V
+HSPLandroid/os/ServiceWithMetadata;-><clinit>()V
 HSPLandroid/os/ServiceWithMetadata;-><init>()V
 HSPLandroid/os/ServiceWithMetadata;->readFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/os/SharedMemory$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/SharedMemory;
 HSPLandroid/os/SharedMemory$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/SharedMemory$Closer;-><init>(Ljava/io/FileDescriptor;Landroid/os/SharedMemory$MemoryRegistration;)V
-SPLandroid/os/SharedMemory$Closer;-><init>(Ljava/io/FileDescriptor;Landroid/os/SharedMemory$MemoryRegistration;Landroid/os/SharedMemory-IA;)V
 HSPLandroid/os/SharedMemory$MemoryRegistration;-><init>(I)V
-SPLandroid/os/SharedMemory$MemoryRegistration;-><init>(ILandroid/os/SharedMemory-IA;)V
+HSPLandroid/os/SharedMemory$MemoryRegistration;-><init>(ILandroid/os/SharedMemory-IA;)V
 HSPLandroid/os/SharedMemory$MemoryRegistration;->acquire()Landroid/os/SharedMemory$MemoryRegistration;
 HSPLandroid/os/SharedMemory$Unmapper;-><init>(JILandroid/os/SharedMemory$MemoryRegistration;)V
-SPLandroid/os/SharedMemory$Unmapper;-><init>(JILandroid/os/SharedMemory$MemoryRegistration;Landroid/os/SharedMemory-IA;)V
+HSPLandroid/os/SharedMemory$Unmapper;-><init>(JILandroid/os/SharedMemory$MemoryRegistration;Landroid/os/SharedMemory-IA;)V
 HSPLandroid/os/SharedMemory;-><init>(Ljava/io/FileDescriptor;)V
 HSPLandroid/os/SharedMemory;-><init>(Ljava/io/FileDescriptor;Landroid/os/SharedMemory-IA;)V
 HSPLandroid/os/SharedMemory;->checkOpen()V
@@ -13188,7 +13213,7 @@
 HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->setThreadPolicyMask(I)V
 HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->startHandlingViolationException(Landroid/os/strictmode/Violation;)V
 HSPLandroid/os/StrictMode$AndroidCloseGuardReporter;-><init>()V
-SPLandroid/os/StrictMode$AndroidCloseGuardReporter;-><init>(Landroid/os/StrictMode-IA;)V
+HSPLandroid/os/StrictMode$AndroidCloseGuardReporter;-><init>(Landroid/os/StrictMode-IA;)V
 HSPLandroid/os/StrictMode$AndroidCloseGuardReporter;->report(Ljava/lang/String;)V
 HSPLandroid/os/StrictMode$AndroidCloseGuardReporter;->report(Ljava/lang/String;Ljava/lang/Throwable;)V
 HSPLandroid/os/StrictMode$InstanceTracker;-><init>(Ljava/lang/Object;)V
@@ -13249,6 +13274,7 @@
 HSPLandroid/os/StrictMode$VmPolicy$Builder;->permitActivityLeaks()Landroid/os/StrictMode$VmPolicy$Builder;
 HSPLandroid/os/StrictMode$VmPolicy$Builder;->permitUnsafeIntentLaunch()Landroid/os/StrictMode$VmPolicy$Builder;
 HSPLandroid/os/StrictMode$VmPolicy;-><init>(ILjava/util/HashMap;Landroid/os/StrictMode$OnVmViolationListener;Ljava/util/concurrent/Executor;)V
+SPLandroid/os/StrictMode$VmPolicy;-><init>(ILjava/util/HashMap;Landroid/os/StrictMode$OnVmViolationListener;Ljava/util/concurrent/Executor;Landroid/os/StrictMode-IA;)V
 HSPLandroid/os/StrictMode;->-$$Nest$sfgetEMPTY_CLASS_LIMIT_MAP()Ljava/util/HashMap;
 HSPLandroid/os/StrictMode;->-$$Nest$sfgetLOGCAT_LOGGER()Landroid/os/StrictMode$ViolationLogger;
 HSPLandroid/os/StrictMode;->-$$Nest$sfgetLOG_V()Z
@@ -13307,9 +13333,9 @@
 HSPLandroid/os/StrictMode;->vmUnsafeIntentLaunchEnabled()Z
 HSPLandroid/os/StrictMode;->vmUntaggedSocketEnabled()Z
 HSPLandroid/os/StrictMode;->writeGatheredViolationsToParcel(Landroid/os/Parcel;)V
-SPLandroid/os/SystemClock$2;-><init>(Ljava/time/ZoneId;)V
+HSPLandroid/os/SystemClock$2;-><init>(Ljava/time/ZoneId;)V
 HSPLandroid/os/SystemClock$2;->millis()J
-SPLandroid/os/SystemClock;->elapsedRealtimeClock()Ljava/time/Clock;
+HSPLandroid/os/SystemClock;->elapsedRealtimeClock()Ljava/time/Clock;
 HSPLandroid/os/SystemClock;->sleep(J)V
 HSPLandroid/os/SystemConfigManager;-><init>()V
 HSPLandroid/os/SystemConfigManager;->getDisabledUntilUsedPreinstalledCarrierApps()Ljava/util/Set;
@@ -13396,9 +13422,9 @@
 HSPLandroid/os/UserHandle;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/UserHandle;->writeToParcel(Landroid/os/UserHandle;Landroid/os/Parcel;)V
 HSPLandroid/os/UserManager$$ExternalSyntheticLambda10;-><init>(Landroid/os/IUserManager;)V
-SPLandroid/os/UserManager$$ExternalSyntheticLambda10;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/os/UserManager$$ExternalSyntheticLambda10;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/os/UserManager$$ExternalSyntheticLambda5;-><init>(Landroid/os/IUserManager;)V
-SPLandroid/os/UserManager$$ExternalSyntheticLambda5;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/os/UserManager$$ExternalSyntheticLambda5;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/os/UserManager$1;-><init>(Landroid/os/UserManager;ILjava/lang/String;)V
 HSPLandroid/os/UserManager$1;->bypass(Ljava/lang/Integer;)Z
 HSPLandroid/os/UserManager$1;->bypass(Ljava/lang/Object;)Z
@@ -13461,7 +13487,7 @@
 HSPLandroid/os/UserManager;->isUserUnlocked(Landroid/os/UserHandle;)Z
 HSPLandroid/os/UserManager;->isUserUnlockingOrUnlocked(I)Z
 HSPLandroid/os/UserManager;->supportsMultipleUsers()Z
-SPLandroid/os/UserManagerCache;-><clinit>()V
+HSPLandroid/os/UserManagerCache;-><clinit>()V
 HSPLandroid/os/UserManagerCache;-><init>()V
 HSPLandroid/os/UserManagerCache;->isUserUnlocked(Landroid/os/IpcDataCache$RemoteCall;Ljava/lang/Integer;)Ljava/lang/Boolean;+]Landroid/os/IpcDataCache;Landroid/os/IpcDataCache;
 HSPLandroid/os/UserManagerCache;->isUserUnlockingOrUnlocked(Landroid/os/IpcDataCache$RemoteCall;Ljava/lang/Integer;)Ljava/lang/Boolean;+]Landroid/os/IpcDataCache;Landroid/os/IpcDataCache;
@@ -13631,7 +13657,7 @@
 HSPLandroid/permission/PermissionManager$SplitPermissionInfo;->getNewPermissions()Ljava/util/List;
 HSPLandroid/permission/PermissionManager$SplitPermissionInfo;->getSplitPermission()Ljava/lang/String;
 HSPLandroid/permission/PermissionManager$SplitPermissionInfo;->getTargetSdk()I
-SPLandroid/permission/PermissionManager;->-$$Nest$smcheckPackageNamePermissionUncached(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)I
+HSPLandroid/permission/PermissionManager;->-$$Nest$smcheckPackageNamePermissionUncached(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)I
 HSPLandroid/permission/PermissionManager;->-$$Nest$smcheckPermissionUncached(Ljava/lang/String;III)I
 HSPLandroid/permission/PermissionManager;-><clinit>()V
 HSPLandroid/permission/PermissionManager;-><init>(Landroid/content/Context;)V
@@ -13963,7 +13989,7 @@
 HSPLandroid/security/net/config/ApplicationConfig;->isCleartextTrafficPermitted()Z
 HSPLandroid/security/net/config/ApplicationConfig;->isCleartextTrafficPermitted(Ljava/lang/String;)Z
 HSPLandroid/security/net/config/ApplicationConfig;->setDefaultInstance(Landroid/security/net/config/ApplicationConfig;)V
-SPLandroid/security/net/config/CertificatesEntryRef;->disableCT()Z
+HSPLandroid/security/net/config/CertificatesEntryRef;->disableCT()Z
 HSPLandroid/security/net/config/CertificatesEntryRef;->findAllCertificatesByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
 HSPLandroid/security/net/config/CertificatesEntryRef;->findBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Landroid/security/net/config/TrustAnchor;
 HSPLandroid/security/net/config/ConfigNetworkSecurityPolicy;-><init>(Landroid/security/net/config/ApplicationConfig;)V
@@ -14003,14 +14029,14 @@
 HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->addCertificatesEntryRef(Landroid/security/net/config/CertificatesEntryRef;)Landroid/security/net/config/NetworkSecurityConfig$Builder;
 HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->addCertificatesEntryRefs(Ljava/util/Collection;)Landroid/security/net/config/NetworkSecurityConfig$Builder;
 HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->build()Landroid/security/net/config/NetworkSecurityConfig;
-SPLandroid/security/net/config/NetworkSecurityConfig$Builder;->getCertificateTransparencyVerificationRequired()Z
-SPLandroid/security/net/config/NetworkSecurityConfig$Builder;->getCertificatesEntryRefs()Ljava/util/List;
+HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->getCertificateTransparencyVerificationRequired()Z
+HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->getCertificatesEntryRefs()Ljava/util/List;
 HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->getEffectiveCertificatesEntryRefs()Ljava/util/List;
 HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->getEffectiveCleartextTrafficPermitted()Z
 HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->getEffectiveHstsEnforced()Z
 HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->getEffectivePinSet()Landroid/security/net/config/PinSet;
 HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->getParent()Landroid/security/net/config/NetworkSecurityConfig$Builder;
-SPLandroid/security/net/config/NetworkSecurityConfig$Builder;->hasCertificatesEntryRefs()Z
+HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->hasCertificatesEntryRefs()Z
 HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->setCleartextTrafficPermitted(Z)Landroid/security/net/config/NetworkSecurityConfig$Builder;
 HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->setHstsEnforced(Z)Landroid/security/net/config/NetworkSecurityConfig$Builder;
 HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->setParent(Landroid/security/net/config/NetworkSecurityConfig$Builder;)Landroid/security/net/config/NetworkSecurityConfig$Builder;
@@ -14061,9 +14087,9 @@
 HSPLandroid/security/net/config/XmlConfigSource;->parseTrustAnchors(Landroid/content/res/XmlResourceParser;Z)Ljava/util/Collection;
 HSPLandroid/server/FeatureFlagsImpl;->telemetryApisService()Z
 HSPLandroid/service/appprediction/IPredictionService$Stub;-><init>()V
-SPLandroid/service/autofill/FeatureFlagsImpl;->autofillCredmanIntegration()Z
-SPLandroid/service/autofill/FeatureFlagsImpl;->improveFillDialogAconfig()Z
-SPLandroid/service/autofill/FeatureFlagsImpl;->relayoutFix()Z
+HSPLandroid/service/autofill/FeatureFlagsImpl;->autofillCredmanIntegration()Z
+HSPLandroid/service/autofill/FeatureFlagsImpl;->improveFillDialogAconfig()Z
+HSPLandroid/service/autofill/FeatureFlagsImpl;->relayoutFix()Z
 HSPLandroid/service/dreams/IDreamManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/dreams/IDreamManager;
 HSPLandroid/service/media/IMediaBrowserService$Stub;-><init>()V
 HSPLandroid/service/media/IMediaBrowserService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -14141,7 +14167,7 @@
 HSPLandroid/service/notification/NotificationRankingUpdate$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/service/notification/NotificationRankingUpdate;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/service/notification/NotificationRankingUpdate;->getRankingMap()Landroid/service/notification/NotificationListenerService$RankingMap;
-SPLandroid/service/notification/RateEstimator;-><init>()V
+HSPLandroid/service/notification/RateEstimator;-><init>()V
 HSPLandroid/service/notification/StatusBarNotification$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/StatusBarNotification;
 HSPLandroid/service/notification/StatusBarNotification$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/service/notification/StatusBarNotification;-><init>(Landroid/os/Parcel;)V
@@ -14728,7 +14754,7 @@
 HSPLandroid/telephony/SubscriptionInfo;->isOpportunistic()Z
 HSPLandroid/telephony/SubscriptionInfo;->toString()Ljava/lang/String;
 HSPLandroid/telephony/SubscriptionManager$$ExternalSyntheticLambda10;->applyOrThrow(Ljava/lang/Object;)Ljava/lang/Object;
-SPLandroid/telephony/SubscriptionManager$$ExternalSyntheticLambda13;->applyOrThrow(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/telephony/SubscriptionManager$$ExternalSyntheticLambda13;->applyOrThrow(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/telephony/SubscriptionManager$$ExternalSyntheticLambda15;->applyOrThrow(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/telephony/SubscriptionManager$$ExternalSyntheticLambda9;->applyOrThrow(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/telephony/SubscriptionManager$IntegerPropertyInvalidatedCache;->query(Ljava/lang/Integer;)Ljava/lang/Object;
@@ -15006,6 +15032,7 @@
 HSPLandroid/text/BoringLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)V
 HSPLandroid/text/BoringLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)V
 HSPLandroid/text/BoringLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;IZ)V
+HSPLandroid/text/BoringLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZZILandroid/text/TextUtils$TruncateAt;Landroid/text/BoringLayout$Metrics;ZZLandroid/graphics/Paint$FontMetrics;)V
 HSPLandroid/text/BoringLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZZILandroid/text/TextUtils$TruncateAt;III[I[IILandroid/graphics/text/LineBreakConfig;Landroid/text/BoringLayout$Metrics;ZZLandroid/graphics/Paint$FontMetrics;)V+]Landroid/text/BoringLayout;Landroid/text/BoringLayout;
 HSPLandroid/text/BoringLayout;->draw(Landroid/graphics/Canvas;Landroid/graphics/Path;Landroid/graphics/Paint;I)V
 HSPLandroid/text/BoringLayout;->ellipsized(II)V
@@ -15129,6 +15156,7 @@
 HSPLandroid/text/Layout;->draw(Landroid/graphics/Canvas;Landroid/graphics/Path;Landroid/graphics/Paint;I)V
 HSPLandroid/text/Layout;->draw(Landroid/graphics/Canvas;Ljava/util/List;Ljava/util/List;Landroid/graphics/Path;Landroid/graphics/Paint;I)V
 HSPLandroid/text/Layout;->drawBackground(Landroid/graphics/Canvas;II)V
+HSPLandroid/text/Layout;->drawHighContrastBackground(Landroid/graphics/Canvas;II)V
 HSPLandroid/text/Layout;->drawHighlights(Landroid/graphics/Canvas;Ljava/util/List;Ljava/util/List;Landroid/graphics/Path;Landroid/graphics/Paint;III)V+]Landroid/graphics/Canvas;Landroid/graphics/Canvas;,Landroid/graphics/RecordingCanvas;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLandroid/text/Layout;->drawText(Landroid/graphics/Canvas;II)V
 HSPLandroid/text/Layout;->drawWithoutText(Landroid/graphics/Canvas;Ljava/util/List;Ljava/util/List;Landroid/graphics/Path;Landroid/graphics/Paint;III)V
@@ -15192,7 +15220,7 @@
 HSPLandroid/text/MeasuredParagraph;->breakText(IZF)I
 HSPLandroid/text/MeasuredParagraph;->buildForBidi(Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;Landroid/text/MeasuredParagraph;)Landroid/text/MeasuredParagraph;
 HSPLandroid/text/MeasuredParagraph;->buildForMeasurement(Landroid/text/TextPaint;Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;Landroid/text/MeasuredParagraph;)Landroid/text/MeasuredParagraph;
-HSPLandroid/text/MeasuredParagraph;->buildForStaticLayoutInternal(Landroid/text/TextPaint;Landroid/graphics/text/LineBreakConfig;Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;IZZLandroid/text/MeasuredParagraph;Landroid/text/MeasuredParagraph;Landroid/text/MeasuredParagraph$StyleRunCallback;)Landroid/text/MeasuredParagraph;+]Landroid/text/AutoGrowArray$IntArray;Landroid/text/AutoGrowArray$IntArray;]Landroid/text/Spanned;megamorphic_types
+HSPLandroid/text/MeasuredParagraph;->buildForStaticLayoutInternal(Landroid/text/TextPaint;Landroid/graphics/text/LineBreakConfig;Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;IZZLandroid/text/MeasuredParagraph;Landroid/text/MeasuredParagraph;Landroid/text/MeasuredParagraph$StyleRunCallback;)Landroid/text/MeasuredParagraph;+]Landroid/text/AutoGrowArray$IntArray;Landroid/text/AutoGrowArray$IntArray;]Landroid/text/Spanned;missing_types
 HSPLandroid/text/MeasuredParagraph;->getCharWidthAt(I)F
 HSPLandroid/text/MeasuredParagraph;->getChars()[C
 HSPLandroid/text/MeasuredParagraph;->getDirections(II)Landroid/text/Layout$Directions;
@@ -15679,28 +15707,28 @@
 HSPLandroid/text/util/Linkify;->containsUnsupportedCharacters(Ljava/lang/String;)Z
 HSPLandroid/text/util/Linkify;->gatherLinks(Ljava/util/ArrayList;Landroid/text/Spannable;Ljava/util/regex/Pattern;[Ljava/lang/String;Landroid/text/util/Linkify$MatchFilter;Landroid/text/util/Linkify$TransformFilter;)V
 HSPLandroid/text/util/Linkify;->pruneOverlaps(Ljava/util/ArrayList;)V
-SPLandroid/tracing/FeatureFlagsImpl;->clientSideProtoLogging()Z
-SPLandroid/tracing/FeatureFlagsImpl;->perfettoIme()Z
-SPLandroid/tracing/FeatureFlagsImpl;->perfettoProtologTracing()Z
-SPLandroid/tracing/Flags;->clientSideProtoLogging()Z
-SPLandroid/tracing/Flags;->perfettoProtologTracing()Z
-SPLandroid/tracing/inputmethod/InputMethodDataSource;-><init>(Ljava/lang/Runnable;Ljava/lang/Runnable;)V
-SPLandroid/tracing/perfetto/DataSource;-><init>(Ljava/lang/String;)V
-SPLandroid/tracing/perfetto/DataSource;->createInstance([BI)Landroid/tracing/perfetto/DataSourceInstance;
-SPLandroid/tracing/perfetto/DataSource;->register(Landroid/tracing/perfetto/DataSourceParams;)V
-SPLandroid/tracing/perfetto/DataSourceInstance;-><init>(Landroid/tracing/perfetto/DataSource;I)V
-SPLandroid/tracing/perfetto/DataSourceParams$Builder;-><init>()V
-SPLandroid/tracing/perfetto/DataSourceParams$Builder;->build()Landroid/tracing/perfetto/DataSourceParams;
-SPLandroid/tracing/perfetto/DataSourceParams$Builder;->setBufferExhaustedPolicy(I)Landroid/tracing/perfetto/DataSourceParams$Builder;
-SPLandroid/tracing/perfetto/DataSourceParams$Builder;->setNoFlush(Z)Landroid/tracing/perfetto/DataSourceParams$Builder;
-SPLandroid/tracing/perfetto/DataSourceParams$Builder;->setWillNotifyOnStop(Z)Landroid/tracing/perfetto/DataSourceParams$Builder;
-SPLandroid/tracing/perfetto/DataSourceParams;-><clinit>()V
-SPLandroid/tracing/perfetto/DataSourceParams;-><init>(IZZ)V
-SPLandroid/tracing/perfetto/DataSourceParams;-><init>(IZZLandroid/tracing/perfetto/DataSourceParams-IA;)V
-SPLandroid/tracing/perfetto/InitArguments;-><clinit>()V
-SPLandroid/tracing/perfetto/InitArguments;-><init>(II)V
-SPLandroid/tracing/perfetto/Producer;->init(Landroid/tracing/perfetto/InitArguments;)V
-SPLandroid/tracing/perfetto/StartCallbackArguments;-><init>()V
+HSPLandroid/tracing/FeatureFlagsImpl;->clientSideProtoLogging()Z
+HSPLandroid/tracing/FeatureFlagsImpl;->perfettoIme()Z
+HSPLandroid/tracing/FeatureFlagsImpl;->perfettoProtologTracing()Z
+HSPLandroid/tracing/Flags;->clientSideProtoLogging()Z
+HSPLandroid/tracing/Flags;->perfettoProtologTracing()Z
+HSPLandroid/tracing/inputmethod/InputMethodDataSource;-><init>(Ljava/lang/Runnable;Ljava/lang/Runnable;)V
+HSPLandroid/tracing/perfetto/DataSource;-><init>(Ljava/lang/String;)V
+HSPLandroid/tracing/perfetto/DataSource;->createInstance([BI)Landroid/tracing/perfetto/DataSourceInstance;
+HSPLandroid/tracing/perfetto/DataSource;->register(Landroid/tracing/perfetto/DataSourceParams;)V
+HSPLandroid/tracing/perfetto/DataSourceInstance;-><init>(Landroid/tracing/perfetto/DataSource;I)V
+HSPLandroid/tracing/perfetto/DataSourceParams$Builder;-><init>()V
+HSPLandroid/tracing/perfetto/DataSourceParams$Builder;->build()Landroid/tracing/perfetto/DataSourceParams;
+HSPLandroid/tracing/perfetto/DataSourceParams$Builder;->setBufferExhaustedPolicy(I)Landroid/tracing/perfetto/DataSourceParams$Builder;
+HSPLandroid/tracing/perfetto/DataSourceParams$Builder;->setNoFlush(Z)Landroid/tracing/perfetto/DataSourceParams$Builder;
+HSPLandroid/tracing/perfetto/DataSourceParams$Builder;->setWillNotifyOnStop(Z)Landroid/tracing/perfetto/DataSourceParams$Builder;
+HSPLandroid/tracing/perfetto/DataSourceParams;-><clinit>()V
+HSPLandroid/tracing/perfetto/DataSourceParams;-><init>(IZZ)V
+HSPLandroid/tracing/perfetto/DataSourceParams;-><init>(IZZLandroid/tracing/perfetto/DataSourceParams-IA;)V
+HSPLandroid/tracing/perfetto/InitArguments;-><clinit>()V
+HSPLandroid/tracing/perfetto/InitArguments;-><init>(II)V
+HSPLandroid/tracing/perfetto/Producer;->init(Landroid/tracing/perfetto/InitArguments;)V
+HSPLandroid/tracing/perfetto/StartCallbackArguments;-><init>()V
 HSPLandroid/transition/ChangeBounds;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/transition/ChangeBounds;->setResizeClip(Z)V
 HSPLandroid/transition/ChangeClipBounds;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
@@ -15905,8 +15933,8 @@
 HSPLandroid/util/Base64;->encodeToString([BIII)Ljava/lang/String;
 HSPLandroid/util/CloseGuard;-><init>()V
 HSPLandroid/util/CloseGuard;->close()V
-SPLandroid/util/CloseGuard;->get()Landroid/util/CloseGuard;
-SPLandroid/util/CloseGuard;->getImpl()Ldalvik/system/CloseGuard;
+HSPLandroid/util/CloseGuard;->get()Landroid/util/CloseGuard;
+HSPLandroid/util/CloseGuard;->getImpl()Ldalvik/system/CloseGuard;
 HSPLandroid/util/CloseGuard;->open(Ljava/lang/String;)V
 HSPLandroid/util/ContainerHelpers;->binarySearch([III)I
 HSPLandroid/util/ContainerHelpers;->binarySearch([JIJ)I
@@ -16196,7 +16224,7 @@
 HSPLandroid/util/Rational;-><init>(II)V
 HSPLandroid/util/Rational;->compareTo(Landroid/util/Rational;)I
 HSPLandroid/util/Rational;->compareTo(Ljava/lang/Object;)I
-SPLandroid/util/SequenceUtils;->getInitSeq()I
+HSPLandroid/util/SequenceUtils;->getInitSeq()I
 HSPLandroid/util/SequenceUtils;->isIncomingSeqStale(II)Z
 HSPLandroid/util/Singleton;-><init>()V
 HSPLandroid/util/Singleton;->get()Ljava/lang/Object;
@@ -16323,7 +16351,7 @@
 HSPLandroid/util/Xml;->newFastSerializer()Lcom/android/modules/utils/TypedXmlSerializer;
 HSPLandroid/util/Xml;->newPullParser()Lorg/xmlpull/v1/XmlPullParser;
 HSPLandroid/util/Xml;->newSerializer()Lorg/xmlpull/v1/XmlSerializer;
-SPLandroid/util/Xml;->newXmlPullParser()Lorg/xmlpull/v1/XmlPullParser;
+HSPLandroid/util/Xml;->newXmlPullParser()Lorg/xmlpull/v1/XmlPullParser;
 HSPLandroid/util/proto/EncodedBuffer;-><init>(I)V
 HSPLandroid/util/proto/EncodedBuffer;->editRawFixed32(II)V
 HSPLandroid/util/proto/EncodedBuffer;->getBytes(I)[B
@@ -16345,7 +16373,7 @@
 HSPLandroid/util/proto/EncodedBuffer;->writeRawFixed32(I)V
 HSPLandroid/util/proto/EncodedBuffer;->writeRawVarint32(I)V
 HSPLandroid/util/proto/EncodedBuffer;->writeRawVarint64(J)V
-SPLandroid/util/proto/ProtoInputStream;-><init>([B)V
+HSPLandroid/util/proto/ProtoInputStream;-><init>([B)V
 HSPLandroid/util/proto/ProtoInputStream;->assertFieldNumber(J)V
 HSPLandroid/util/proto/ProtoInputStream;->assertFreshData()V
 HSPLandroid/util/proto/ProtoInputStream;->assertWireType(I)V
@@ -16401,8 +16429,8 @@
 HSPLandroid/view/Choreographer$1;->initialValue()Ljava/lang/Object;
 HSPLandroid/view/Choreographer$2;->initialValue()Landroid/view/Choreographer;
 HSPLandroid/view/Choreographer$2;->initialValue()Ljava/lang/Object;
-SPLandroid/view/Choreographer$BufferStuffingState;-><init>()V
-SPLandroid/view/Choreographer$BufferStuffingState;-><init>(Landroid/view/Choreographer-IA;)V
+HSPLandroid/view/Choreographer$BufferStuffingState;-><init>()V
+HSPLandroid/view/Choreographer$BufferStuffingState;-><init>(Landroid/view/Choreographer-IA;)V
 HSPLandroid/view/Choreographer$CallbackQueue;-><init>(Landroid/view/Choreographer;)V
 HSPLandroid/view/Choreographer$CallbackQueue;->addCallbackLocked(JLjava/lang/Object;Ljava/lang/Object;)V
 HSPLandroid/view/Choreographer$CallbackQueue;->extractDueCallbacksLocked(J)Landroid/view/Choreographer$CallbackRecord;
@@ -16517,7 +16545,7 @@
 HSPLandroid/view/Display;->getMetrics(Landroid/util/DisplayMetrics;)V
 HSPLandroid/view/Display;->getMode()Landroid/view/Display$Mode;
 HSPLandroid/view/Display;->getName()Ljava/lang/String;
-SPLandroid/view/Display;->getOverlaySupport()Landroid/hardware/OverlayProperties;
+HSPLandroid/view/Display;->getOverlaySupport()Landroid/hardware/OverlayProperties;
 HSPLandroid/view/Display;->getPreferredWideGamutColorSpace()Landroid/graphics/ColorSpace;
 HSPLandroid/view/Display;->getPresentationDeadlineNanos()J
 HSPLandroid/view/Display;->getRealMetrics(Landroid/util/DisplayMetrics;)V
@@ -16540,7 +16568,7 @@
 HSPLandroid/view/DisplayAddress$Physical$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/DisplayAddress$Physical;
 HSPLandroid/view/DisplayAddress$Physical$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/view/DisplayAddress$Physical;-><init>(J)V
-SPLandroid/view/DisplayAddress$Physical;-><init>(JLandroid/view/DisplayAddress-IA;)V
+HSPLandroid/view/DisplayAddress$Physical;-><init>(JLandroid/view/DisplayAddress-IA;)V
 HSPLandroid/view/DisplayAddress$Physical;->equals(Ljava/lang/Object;)Z
 HSPLandroid/view/DisplayAddress$Physical;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/DisplayAddress;-><init>()V
@@ -16555,7 +16583,7 @@
 HSPLandroid/view/DisplayAdjustments;->setConfiguration(Landroid/content/res/Configuration;)V
 HSPLandroid/view/DisplayCutout$Bounds;->-$$Nest$mgetRects(Landroid/view/DisplayCutout$Bounds;)[Landroid/graphics/Rect;
 HSPLandroid/view/DisplayCutout$Bounds;-><init>([Landroid/graphics/Rect;Z)V
-SPLandroid/view/DisplayCutout$Bounds;-><init>([Landroid/graphics/Rect;ZLandroid/view/DisplayCutout-IA;)V
+HSPLandroid/view/DisplayCutout$Bounds;-><init>([Landroid/graphics/Rect;ZLandroid/view/DisplayCutout-IA;)V
 HSPLandroid/view/DisplayCutout$Bounds;->equals(Ljava/lang/Object;)Z
 HSPLandroid/view/DisplayCutout$Bounds;->getRects()[Landroid/graphics/Rect;
 HSPLandroid/view/DisplayCutout$Bounds;->isEmpty()Z
@@ -16722,7 +16750,7 @@
 HSPLandroid/view/IGraphicsStatsCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/view/IRemoteAnimationRunner$Stub;-><init>()V
 HSPLandroid/view/IRemoteAnimationRunner$Stub;->asBinder()Landroid/os/IBinder;
-SPLandroid/view/ISensitiveContentProtectionManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/view/ISensitiveContentProtectionManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/view/ISensitiveContentProtectionManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/ISensitiveContentProtectionManager;
 HSPLandroid/view/ISystemGestureExclusionListener$Stub;-><init>()V
 HSPLandroid/view/IWindow$Stub;-><init>()V
@@ -16854,6 +16882,7 @@
 HSPLandroid/view/InsetsAnimationControlImpl;->setInsetsAndAlpha(Landroid/graphics/Insets;FF)V
 HSPLandroid/view/InsetsAnimationControlImpl;->setInsetsAndAlpha(Landroid/graphics/Insets;FFZ)V
 HSPLandroid/view/InsetsAnimationControlImpl;->updateSurfacePosition(Landroid/util/SparseArray;)V
+HSPLandroid/view/InsetsAnimationControlRunner$SurfaceParamsApplier$$ExternalSyntheticLambda0;->applySurfaceParams([Landroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams;)V
 HSPLandroid/view/InsetsAnimationControlRunner$SurfaceParamsApplier;->lambda$static$0([Landroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams;)V
 HSPLandroid/view/InsetsAnimationThread;->ensureThreadLocked()V
 HSPLandroid/view/InsetsAnimationThread;->getHandler()Landroid/os/Handler;
@@ -16877,7 +16906,7 @@
 HSPLandroid/view/InsetsAnimationThreadControlRunner;->updateSurfacePosition(Landroid/util/SparseArray;)V
 HSPLandroid/view/InsetsController$$ExternalSyntheticLambda10;-><init>(Landroid/view/InsetsController;)V
 HSPLandroid/view/InsetsController$$ExternalSyntheticLambda1;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-SPLandroid/view/InsetsController$$ExternalSyntheticLambda8;-><init>()V
+HSPLandroid/view/InsetsController$$ExternalSyntheticLambda8;-><init>()V
 HSPLandroid/view/InsetsController$$ExternalSyntheticLambda9;-><init>(Landroid/view/InsetsController;)V
 HSPLandroid/view/InsetsController$1;-><init>(Landroid/view/InsetsController;)V
 HSPLandroid/view/InsetsController$2;-><init>(Landroid/view/InsetsController;)V
@@ -16965,7 +16994,7 @@
 HSPLandroid/view/InsetsSource;->setVisible(Z)Landroid/view/InsetsSource;
 HSPLandroid/view/InsetsSource;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/InsetsSourceConsumer;->applyLocalVisibilityOverride()Z
-HSPLandroid/view/InsetsSourceConsumer;->applyRequestedVisibilityAndPositionToControl()V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Landroid/view/InsetsAnimationControlRunner$SurfaceParamsApplier;Landroid/view/InsetsAnimationControlRunner$SurfaceParamsApplier$$ExternalSyntheticLambda0;]Landroid/view/InsetsController;Landroid/view/InsetsController;]Landroid/view/InsetsSourceConsumer;Landroid/view/InsetsSourceConsumer;]Landroid/view/InsetsSourceControl;Landroid/view/InsetsSourceControl;
+HSPLandroid/view/InsetsSourceConsumer;->applyRequestedVisibilityAndPositionToControl()V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Landroid/view/InsetsAnimationControlRunner$SurfaceParamsApplier;Landroid/view/InsetsAnimationControlRunner$SurfaceParamsApplier$$ExternalSyntheticLambda0;,Landroid/view/InsetsController;]Landroid/view/InsetsController;Landroid/view/InsetsController;]Landroid/view/InsetsSourceConsumer;Landroid/view/InsetsSourceConsumer;]Landroid/view/InsetsSourceControl;Landroid/view/InsetsSourceControl;
 HSPLandroid/view/InsetsSourceConsumer;->getControl()Landroid/view/InsetsSourceControl;
 HSPLandroid/view/InsetsSourceConsumer;->getId()I
 HSPLandroid/view/InsetsSourceConsumer;->getType()I
@@ -16981,8 +17010,11 @@
 HSPLandroid/view/InsetsSourceControl$1;->newArray(I)[Landroid/view/InsetsSourceControl;
 HSPLandroid/view/InsetsSourceControl$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/view/InsetsSourceControl$Array$1;-><init>()V
+HSPLandroid/view/InsetsSourceControl$Array$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/InsetsSourceControl$Array;
+HSPLandroid/view/InsetsSourceControl$Array$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/view/InsetsSourceControl$Array$1;Landroid/view/InsetsSourceControl$Array$1;
 HSPLandroid/view/InsetsSourceControl$Array;-><clinit>()V
 HSPLandroid/view/InsetsSourceControl$Array;-><init>()V
+HSPLandroid/view/InsetsSourceControl$Array;-><init>(Landroid/os/Parcel;)V+]Landroid/view/InsetsSourceControl$Array;Landroid/view/InsetsSourceControl$Array;
 HSPLandroid/view/InsetsSourceControl$Array;->get()[Landroid/view/InsetsSourceControl;
 HSPLandroid/view/InsetsSourceControl$Array;->getSeq()I
 HSPLandroid/view/InsetsSourceControl$Array;->readFromParcel(Landroid/os/Parcel;)V
@@ -17271,8 +17303,8 @@
 HSPLandroid/view/SurfaceControl$Builder;->setOpaque(Z)Landroid/view/SurfaceControl$Builder;
 HSPLandroid/view/SurfaceControl$Builder;->setParent(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Builder;
 HSPLandroid/view/SurfaceControl$Builder;->unsetBufferSize()V
-SPLandroid/view/SurfaceControl$Transaction$$ExternalSyntheticLambda0;-><init>()V
-SPLandroid/view/SurfaceControl$Transaction$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
+HSPLandroid/view/SurfaceControl$Transaction$$ExternalSyntheticLambda0;-><init>()V
+HSPLandroid/view/SurfaceControl$Transaction$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
 HSPLandroid/view/SurfaceControl$Transaction$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
 HSPLandroid/view/SurfaceControl$Transaction$$ExternalSyntheticLambda3;-><init>(Ljava/util/function/Consumer;Landroid/view/SurfaceControl$TransactionStats;)V
 HSPLandroid/view/SurfaceControl$Transaction$$ExternalSyntheticLambda3;->run()V
@@ -17289,7 +17321,7 @@
 HSPLandroid/view/SurfaceControl$Transaction;->close()V
 HSPLandroid/view/SurfaceControl$Transaction;->hide(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->lambda$addTransactionCompletedListener$1(Ljava/util/function/Consumer;Landroid/view/SurfaceControl$TransactionStats;)V
-SPLandroid/view/SurfaceControl$Transaction;->lambda$addTransactionCompletedListener$2(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;Landroid/view/SurfaceControl$TransactionStats;)V
+HSPLandroid/view/SurfaceControl$Transaction;->lambda$addTransactionCompletedListener$2(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;Landroid/view/SurfaceControl$TransactionStats;)V
 HSPLandroid/view/SurfaceControl$Transaction;->merge(Landroid/view/SurfaceControl$Transaction;)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->notifyReparentedSurfaces()V
 HSPLandroid/view/SurfaceControl$Transaction;->onMergeWithNextTransaction(Ljava/lang/CharSequence;)V
@@ -17300,7 +17332,6 @@
 HSPLandroid/view/SurfaceControl$Transaction;->setBufferSize(Landroid/view/SurfaceControl;II)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->setColor(Landroid/view/SurfaceControl;[F)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->setCornerRadius(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setDesintationFrame(Landroid/view/SurfaceControl;II)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->setExtendedRangeBrightness(Landroid/view/SurfaceControl;FF)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->setFrameRateCategory(Landroid/view/SurfaceControl;IZ)Landroid/view/SurfaceControl$Transaction;+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->setFrameRateSelectionStrategy(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction;+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;
@@ -17318,17 +17349,17 @@
 HSPLandroid/view/SurfaceControl$Transaction;->show(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/SurfaceControl$TransactionStats;-><init>(JJ)V
-SPLandroid/view/SurfaceControl$TransactionStats;->close()V
-SPLandroid/view/SurfaceControl$TransactionStats;->getPresentFence()Landroid/hardware/SyncFence;
-SPLandroid/view/SurfaceControl;->-$$Nest$smnativeApplyTransaction(JZZ)V
+HSPLandroid/view/SurfaceControl$TransactionStats;->close()V
+HSPLandroid/view/SurfaceControl$TransactionStats;->getPresentFence()Landroid/hardware/SyncFence;
+HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeApplyTransaction(JZZ)V
 HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeCreateTransaction()J
 HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeSanitize(JII)V
 HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeSetDestinationFrame(JJIIII)V
 HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeSetExtendedRangeBrightness(JJFF)V
 HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeSetFlags(JJII)V
-SPLandroid/view/SurfaceControl;->-$$Nest$smnativeSetFrameRate(JJFII)V
+HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeSetFrameRate(JJFII)V
 HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeSetFrameRateCategory(JJIZ)V
-SPLandroid/view/SurfaceControl;->-$$Nest$smnativeSetFrameRateSelectionStrategy(JJI)V
+HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeSetFrameRateSelectionStrategy(JJI)V
 HSPLandroid/view/SurfaceControl;-><init>()V
 HSPLandroid/view/SurfaceControl;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/view/SurfaceControl;-><init>(Landroid/view/SurfaceControl;Ljava/lang/String;)V
@@ -17349,8 +17380,8 @@
 HSPLandroid/view/SurfaceControlRegistry$NoOpRegistry;->remove(Landroid/view/SurfaceControl;)V
 HSPLandroid/view/SurfaceControlRegistry;-><clinit>()V
 HSPLandroid/view/SurfaceControlRegistry;->getProcessInstance()Landroid/view/SurfaceControlRegistry;
-SPLandroid/view/SurfaceControlRegistry;->initializeCallStackDebugging()V
-SPLandroid/view/SurfaceControlRegistry;->updateCallStackDebuggingParams()V
+HSPLandroid/view/SurfaceControlRegistry;->initializeCallStackDebugging()V
+HSPLandroid/view/SurfaceControlRegistry;->updateCallStackDebuggingParams()V
 HSPLandroid/view/SurfaceSession;-><init>()V
 HSPLandroid/view/SurfaceSession;->finalize()V
 HSPLandroid/view/SurfaceSession;->kill()V
@@ -17476,7 +17507,7 @@
 HSPLandroid/view/VelocityTracker;->getYVelocity(I)F
 HSPLandroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;
 HSPLandroid/view/VelocityTracker;->recycle()V
-SPLandroid/view/View$$ExternalSyntheticLambda3;->get()Ljava/lang/Object;
+HSPLandroid/view/View$$ExternalSyntheticLambda3;->get()Ljava/lang/Object;
 HSPLandroid/view/View$$ExternalSyntheticLambda4;-><init>(Landroid/view/View;)V
 HSPLandroid/view/View$$ExternalSyntheticLambda4;->run()V
 HSPLandroid/view/View$$ExternalSyntheticLambda5;->run()V
@@ -17540,8 +17571,8 @@
 HSPLandroid/view/View$PerformClick;->run()V
 HSPLandroid/view/View$ScrollabilityCache;-><init>(Landroid/view/ViewConfiguration;Landroid/view/View;)V
 HSPLandroid/view/View$ScrollabilityCache;->run()V
-SPLandroid/view/View$SensitiveAutofillHintsHelper;-><clinit>()V
-SPLandroid/view/View$SensitiveAutofillHintsHelper;->containsSensitiveAutofillHint([Ljava/lang/String;)Z
+HSPLandroid/view/View$SensitiveAutofillHintsHelper;-><clinit>()V
+HSPLandroid/view/View$SensitiveAutofillHintsHelper;->containsSensitiveAutofillHint([Ljava/lang/String;)Z
 HSPLandroid/view/View$TintInfo;-><init>()V
 HSPLandroid/view/View$TransformationInfo;-><init>()V
 HSPLandroid/view/View$UnsetPressedState;->run()V
@@ -18544,29 +18575,14 @@
 HSPLandroid/view/ViewPropertyAnimator;->withEndAction(Ljava/lang/Runnable;)Landroid/view/ViewPropertyAnimator;
 HSPLandroid/view/ViewPropertyAnimator;->withLayer()Landroid/view/ViewPropertyAnimator;
 HSPLandroid/view/ViewPropertyAnimator;->withStartAction(Ljava/lang/Runnable;)Landroid/view/ViewPropertyAnimator;
-SPLandroid/view/ViewProtoLogGroups;-><clinit>()V
-SPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda19;-><init>()V
-HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda20;-><init>(Landroid/view/ViewRootImpl;)V
-HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda20;->execute(Ljava/lang/Runnable;)V
-HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda21;-><init>(Landroid/view/ViewRootImpl;)V
-HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda21;->run()V
+HSPLandroid/view/ViewProtoLogGroups;-><clinit>()V
+HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda19;-><init>()V
 HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda22;-><init>(Landroid/view/ViewRootImpl;)V
-HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda22;->run()V
-SPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda23;-><init>(Landroid/view/ViewRootImpl;)V
-SPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda23;->run()V
+HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda23;-><init>(Landroid/view/ViewRootImpl;)V
+HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda23;->run()V
 HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda3;->run()V
-HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda5;->accept(Ljava/lang/Object;)V
-HSPLandroid/view/ViewRootImpl$10;->run()V
-SPLandroid/view/ViewRootImpl$11$$ExternalSyntheticLambda3;-><init>(Landroid/view/ViewRootImpl$11;JLandroid/window/SurfaceSyncGroup;Z)V
-HSPLandroid/view/ViewRootImpl$11$$ExternalSyntheticLambda3;->onFrameCommit(Z)V
-SPLandroid/view/ViewRootImpl$11;->$r8$lambda$lOIKKNnrcWn9ZndeJebfX4H5mOg(Landroid/view/ViewRootImpl$11;JLandroid/window/SurfaceSyncGroup;ZZ)V
-SPLandroid/view/ViewRootImpl$11;->lambda$onFrameDraw$3(JLandroid/window/SurfaceSyncGroup;ZZ)V
-HSPLandroid/view/ViewRootImpl$11;->onFrameDraw(IJ)Landroid/graphics/HardwareRenderer$FrameCommitCallback;
 HSPLandroid/view/ViewRootImpl$4;-><init>(Landroid/view/ViewRootImpl;)V
-HSPLandroid/view/ViewRootImpl$5;->accept(Landroid/view/SurfaceControl$TransactionStats;)V
-SPLandroid/view/ViewRootImpl$5;->accept(Ljava/lang/Object;)V
-SPLandroid/view/ViewRootImpl$6;-><init>(Landroid/view/ViewRootImpl;)V
-HSPLandroid/view/ViewRootImpl$6;->run()V
+HSPLandroid/view/ViewRootImpl$6;->run()V+]Landroid/app/IActivityManager;Landroid/app/IActivityManager$Stub$Proxy;
 HSPLandroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;-><init>(Landroid/view/ViewRootImpl;)V
 HSPLandroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;->ensureNoConnection()V
 HSPLandroid/view/ViewRootImpl$AsyncInputStage;-><init>(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;Ljava/lang/String;)V
@@ -18655,18 +18671,15 @@
 HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->onBatchedInputEventPending(I)V
 HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->onFocusEvent(Z)V
 HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->onInputEvent(Landroid/view/InputEvent;)V
-SPLandroid/view/ViewRootImpl;->$r8$lambda$I9KJH1qLSZb1_fWNfrFUXDtFojg(Landroid/view/ViewRootImpl;)V
-SPLandroid/view/ViewRootImpl;->$r8$lambda$J_WUiRtQMmJK5FDj7HKcqXqyDcc(Landroid/view/ViewRootImpl;)V
-SPLandroid/view/ViewRootImpl;->$r8$lambda$Lx9xSQs8XgeRJZgj7lPDiojIGvE(Landroid/view/ViewRootImpl;)V
-SPLandroid/view/ViewRootImpl;->$r8$lambda$kydZ5VrQzxxxtiGWLXqElnQw9pY(Landroid/view/ViewRootImpl;ILandroid/view/SurfaceControl$Transaction;)V
-SPLandroid/view/ViewRootImpl;->$r8$lambda$o-4fi-JcmDrHYU6rHJDidn63Y3s(Landroid/view/ViewRootImpl;Ljava/lang/Runnable;)V
-SPLandroid/view/ViewRootImpl;->-$$Nest$fgetmAppStartTimestampsSent(Landroid/view/ViewRootImpl;)Ljava/util/concurrent/atomic/AtomicBoolean;
+HSPLandroid/view/ViewRootImpl;->$r8$lambda$I9KJH1qLSZb1_fWNfrFUXDtFojg(Landroid/view/ViewRootImpl;)V
+HSPLandroid/view/ViewRootImpl;->$r8$lambda$Lx9xSQs8XgeRJZgj7lPDiojIGvE(Landroid/view/ViewRootImpl;)V
+HSPLandroid/view/ViewRootImpl;->-$$Nest$fgetmAppStartTimestampsSent(Landroid/view/ViewRootImpl;)Ljava/util/concurrent/atomic/AtomicBoolean;
 HSPLandroid/view/ViewRootImpl;->-$$Nest$fgetmBlastBufferQueue(Landroid/view/ViewRootImpl;)Landroid/graphics/BLASTBufferQueue;
-SPLandroid/view/ViewRootImpl;->-$$Nest$fgetmFirstFramePresentedTimeNs(Landroid/view/ViewRootImpl;)J
-SPLandroid/view/ViewRootImpl;->-$$Nest$fgetmRenderThreadDrawStartTimeNs(Landroid/view/ViewRootImpl;)J
-SPLandroid/view/ViewRootImpl;->-$$Nest$fputmFirstFramePresentedTimeNs(Landroid/view/ViewRootImpl;J)V
+HSPLandroid/view/ViewRootImpl;->-$$Nest$fgetmFirstFramePresentedTimeNs(Landroid/view/ViewRootImpl;)J
+HSPLandroid/view/ViewRootImpl;->-$$Nest$fgetmRenderThreadDrawStartTimeNs(Landroid/view/ViewRootImpl;)J
+HSPLandroid/view/ViewRootImpl;->-$$Nest$fputmFirstFramePresentedTimeNs(Landroid/view/ViewRootImpl;J)V
 HSPLandroid/view/ViewRootImpl;->-$$Nest$fputmProfileRendering(Landroid/view/ViewRootImpl;Z)V
-SPLandroid/view/ViewRootImpl;->-$$Nest$mmaybeSendAppStartTimes(Landroid/view/ViewRootImpl;)V
+HSPLandroid/view/ViewRootImpl;->-$$Nest$mmaybeSendAppStartTimes(Landroid/view/ViewRootImpl;)V
 HSPLandroid/view/ViewRootImpl;->-$$Nest$mprofileRendering(Landroid/view/ViewRootImpl;Z)V
 HSPLandroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;)V
 HSPLandroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;Landroid/view/IWindowSession;Landroid/view/WindowLayout;)V
@@ -18695,7 +18708,7 @@
 HSPLandroid/view/ViewRootImpl;->destroyHardwareRenderer()V
 HSPLandroid/view/ViewRootImpl;->destroyHardwareResources()V
 HSPLandroid/view/ViewRootImpl;->destroySurface()V
-HSPLandroid/view/ViewRootImpl;->determineForceDarkType()I
+HSPLandroid/view/ViewRootImpl;->determineForceDarkType()I+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;
 HSPLandroid/view/ViewRootImpl;->die(Z)Z
 HSPLandroid/view/ViewRootImpl;->dipToPx(I)I
 HSPLandroid/view/ViewRootImpl;->dispatchAppVisibility(Z)V
@@ -18735,7 +18748,7 @@
 HSPLandroid/view/ViewRootImpl;->getCompatWindowConfiguration()Landroid/app/WindowConfiguration;
 HSPLandroid/view/ViewRootImpl;->getConfiguration()Landroid/content/res/Configuration;
 HSPLandroid/view/ViewRootImpl;->getDisplayId()I
-SPLandroid/view/ViewRootImpl;->getFrameRateCompatibility()I
+HSPLandroid/view/ViewRootImpl;->getFrameRateCompatibility()I
 HSPLandroid/view/ViewRootImpl;->getHandwritingInitiator()Landroid/view/HandwritingInitiator;
 HSPLandroid/view/ViewRootImpl;->getHostVisibility()I
 HSPLandroid/view/ViewRootImpl;->getHostVisibilityReason()Ljava/lang/String;+]Landroid/view/View;missing_types
@@ -18763,7 +18776,7 @@
 HSPLandroid/view/ViewRootImpl;->handleAppVisibility(Z)V
 HSPLandroid/view/ViewRootImpl;->handleContentCaptureFlush()V
 HSPLandroid/view/ViewRootImpl;->handleDispatchSystemUiVisibilityChanged()V
-SPLandroid/view/ViewRootImpl;->handleInsetsControlChanged(Landroid/view/InsetsState;Landroid/view/InsetsSourceControl$Array;)V
+HSPLandroid/view/ViewRootImpl;->handleInsetsControlChanged(Landroid/view/InsetsState;Landroid/view/InsetsSourceControl$Array;)V
 HSPLandroid/view/ViewRootImpl;->handleWindowFocusChanged()V
 HSPLandroid/view/ViewRootImpl;->initializeProtoLogInProcess()V
 HSPLandroid/view/ViewRootImpl;->intermittentUpdateState()I
@@ -18784,13 +18797,11 @@
 HSPLandroid/view/ViewRootImpl;->isTextDirectionResolved()Z
 HSPLandroid/view/ViewRootImpl;->keepClearRectsChanged(Z)V
 HSPLandroid/view/ViewRootImpl;->lambda$createSyncIfNeeded$4(ILandroid/view/SurfaceControl$Transaction;)V
-HSPLandroid/view/ViewRootImpl;->lambda$getOrCreateSurfaceSyncGroup$16()V
 HSPLandroid/view/ViewRootImpl;->lambda$getOrCreateSurfaceSyncGroup$17()V
 HSPLandroid/view/ViewRootImpl;->lambda$getOrCreateSurfaceSyncGroup$18()V
 HSPLandroid/view/ViewRootImpl;->lambda$new$0(Landroid/view/View;)Ljava/util/List;
 HSPLandroid/view/ViewRootImpl;->lambda$new$1(Landroid/view/View;)Ljava/util/List;
 HSPLandroid/view/ViewRootImpl;->lambda$new$2(Landroid/view/View;)Ljava/util/List;
-HSPLandroid/view/ViewRootImpl;->lambda$new$9(Ljava/lang/Runnable;)V
 HSPLandroid/view/ViewRootImpl;->loadSystemProperties()V
 HSPLandroid/view/ViewRootImpl;->logAndTrace(Ljava/lang/String;)V
 HSPLandroid/view/ViewRootImpl;->logColorMode(IZ)V
@@ -19202,7 +19213,7 @@
 HSPLandroid/view/accessibility/CaptioningManager;->isEnabled()Z
 HSPLandroid/view/accessibility/CaptioningManager;->registerObserver(Ljava/lang/String;)V
 HSPLandroid/view/accessibility/CaptioningManager;->removeCaptioningChangeListener(Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener;)V
-SPLandroid/view/accessibility/FeatureFlagsImpl;->forceInvertColor()Z
+HSPLandroid/view/accessibility/FeatureFlagsImpl;->forceInvertColor()Z
 HSPLandroid/view/accessibility/FeatureFlagsImpl;->supplementalDescription()Z
 HSPLandroid/view/accessibility/Flags;->forceInvertColor()Z
 HSPLandroid/view/accessibility/Flags;->supplementalDescription()Z+]Landroid/view/accessibility/FeatureFlags;Landroid/view/accessibility/FeatureFlagsImpl;
@@ -19388,26 +19399,26 @@
 HSPLandroid/view/autofill/AutofillFeatureFlags$$ExternalSyntheticLambda0;-><init>()V
 HSPLandroid/view/autofill/AutofillFeatureFlags$$ExternalSyntheticLambda1;-><init>()V
 HSPLandroid/view/autofill/AutofillFeatureFlags$$ExternalSyntheticLambda1;->test(Ljava/lang/Object;)Z
-SPLandroid/view/autofill/AutofillFeatureFlags;->enableRelativeLocationForRelayout()Z
-SPLandroid/view/autofill/AutofillFeatureFlags;->enableRelayoutFixes()Z
-SPLandroid/view/autofill/AutofillFeatureFlags;->getAllowlistStringFromFlag()Ljava/lang/String;
+HSPLandroid/view/autofill/AutofillFeatureFlags;->enableRelativeLocationForRelayout()Z
+HSPLandroid/view/autofill/AutofillFeatureFlags;->enableRelayoutFixes()Z
+HSPLandroid/view/autofill/AutofillFeatureFlags;->getAllowlistStringFromFlag()Ljava/lang/String;
 HSPLandroid/view/autofill/AutofillFeatureFlags;->getDenylistStringFromFlag()Ljava/lang/String;
 HSPLandroid/view/autofill/AutofillFeatureFlags;->getFillDialogEnabledHints()[Ljava/lang/String;
 HSPLandroid/view/autofill/AutofillFeatureFlags;->getNonAutofillableImeActionIdSetFromFlag()Ljava/util/Set;
-SPLandroid/view/autofill/AutofillFeatureFlags;->isCredentialManagerEnabled()Z
+HSPLandroid/view/autofill/AutofillFeatureFlags;->isCredentialManagerEnabled()Z
 HSPLandroid/view/autofill/AutofillFeatureFlags;->isFillAndSaveDialogDisabledForCredentialManager()Z
 HSPLandroid/view/autofill/AutofillFeatureFlags;->isFillDialogEnabled()Z
-SPLandroid/view/autofill/AutofillFeatureFlags;->isImproveFillDialogEnabled()Z
-SPLandroid/view/autofill/AutofillFeatureFlags;->isTriggerFillRequestOnFilteredImportantViewsEnabled()Z
+HSPLandroid/view/autofill/AutofillFeatureFlags;->isImproveFillDialogEnabled()Z
+HSPLandroid/view/autofill/AutofillFeatureFlags;->isTriggerFillRequestOnFilteredImportantViewsEnabled()Z
 HSPLandroid/view/autofill/AutofillFeatureFlags;->isTriggerFillRequestOnUnimportantViewEnabled()Z
 HSPLandroid/view/autofill/AutofillFeatureFlags;->lambda$getFillDialogEnabledHints$1(Ljava/lang/String;)Z
-SPLandroid/view/autofill/AutofillFeatureFlags;->shouldAlwaysIncludeWebviewInAssistStructure()Z
-SPLandroid/view/autofill/AutofillFeatureFlags;->shouldEnableAutofillOnAllViewTypes()Z
-SPLandroid/view/autofill/AutofillFeatureFlags;->shouldEnableMultilineFilter()Z
-SPLandroid/view/autofill/AutofillFeatureFlags;->shouldIgnoreRelayoutWhenAuthPending()Z
+HSPLandroid/view/autofill/AutofillFeatureFlags;->shouldAlwaysIncludeWebviewInAssistStructure()Z
+HSPLandroid/view/autofill/AutofillFeatureFlags;->shouldEnableAutofillOnAllViewTypes()Z
+HSPLandroid/view/autofill/AutofillFeatureFlags;->shouldEnableMultilineFilter()Z
+HSPLandroid/view/autofill/AutofillFeatureFlags;->shouldIgnoreRelayoutWhenAuthPending()Z
 HSPLandroid/view/autofill/AutofillFeatureFlags;->shouldIncludeAllChildrenViewInAssistStructure()Z
 HSPLandroid/view/autofill/AutofillFeatureFlags;->shouldIncludeAllViewsAutofillTypeNotNoneInAssistStructrue()Z
-SPLandroid/view/autofill/AutofillFeatureFlags;->shouldIncludeInvisibleViewInAssistStructure()Z
+HSPLandroid/view/autofill/AutofillFeatureFlags;->shouldIncludeInvisibleViewInAssistStructure()Z
 HSPLandroid/view/autofill/AutofillId$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/autofill/AutofillId;
 HSPLandroid/view/autofill/AutofillId$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/view/autofill/AutofillId;-><init>(I)V
@@ -19600,14 +19611,14 @@
 HSPLandroid/view/contentcapture/ViewNode;-><init>()V
 HSPLandroid/view/contentcapture/ViewNode;->writeSelfToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/contentcapture/ViewNode;->writeToParcel(Landroid/os/Parcel;Landroid/view/contentcapture/ViewNode;I)V
-SPLandroid/view/flags/FeatureFlagsImpl;->addSchandleToVriSurface()Z
+HSPLandroid/view/flags/FeatureFlagsImpl;->addSchandleToVriSurface()Z
 HSPLandroid/view/flags/FeatureFlagsImpl;->bufferStuffingRecovery()Z
-SPLandroid/view/flags/FeatureFlagsImpl;->customizableWindowHeaders()Z
-SPLandroid/view/flags/FeatureFlagsImpl;->disableDrawWakeLock()Z
-SPLandroid/view/flags/FeatureFlagsImpl;->enableScrollFeedbackForTouch()Z
-SPLandroid/view/flags/FeatureFlagsImpl;->enableSurfaceNativeAllocRegistrationRo()Z
+HSPLandroid/view/flags/FeatureFlagsImpl;->customizableWindowHeaders()Z
+HSPLandroid/view/flags/FeatureFlagsImpl;->disableDrawWakeLock()Z
+HSPLandroid/view/flags/FeatureFlagsImpl;->enableScrollFeedbackForTouch()Z
+HSPLandroid/view/flags/FeatureFlagsImpl;->enableSurfaceNativeAllocRegistrationRo()Z
 HSPLandroid/view/flags/FeatureFlagsImpl;->sensitiveContentAppProtection()Z
-SPLandroid/view/flags/FeatureFlagsImpl;->viewVelocityApi()Z
+HSPLandroid/view/flags/FeatureFlagsImpl;->viewVelocityApi()Z
 HSPLandroid/view/flags/Flags;->bufferStuffingRecovery()Z+]Landroid/view/flags/FeatureFlags;Landroid/view/flags/FeatureFlagsImpl;
 HSPLandroid/view/flags/Flags;->disableDrawWakeLock()Z
 HSPLandroid/view/flags/Flags;->sensitiveContentAppProtection()Z+]Landroid/view/flags/FeatureFlags;Landroid/view/flags/FeatureFlagsImpl;
@@ -19644,8 +19655,8 @@
 HSPLandroid/view/inputmethod/EditorInfo;->setInitialToolType(I)V
 HSPLandroid/view/inputmethod/EditorInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/inputmethod/ExtractedTextRequest;-><init>()V
-SPLandroid/view/inputmethod/FeatureFlagsImpl;->compatchangeForZerojankproxy()Z
-SPLandroid/view/inputmethod/FeatureFlagsImpl;->initiationWithoutInputConnection()Z
+HSPLandroid/view/inputmethod/FeatureFlagsImpl;->compatchangeForZerojankproxy()Z
+HSPLandroid/view/inputmethod/FeatureFlagsImpl;->initiationWithoutInputConnection()Z
 HSPLandroid/view/inputmethod/FeatureFlagsImpl;->refactorInsetsController()Z
 HSPLandroid/view/inputmethod/Flags;->refactorInsetsController()Z+]Landroid/view/inputmethod/FeatureFlags;Landroid/view/inputmethod/FeatureFlagsImpl;
 HSPLandroid/view/inputmethod/IInputMethodManagerGlobalInvoker;-><clinit>()V
@@ -21449,15 +21460,15 @@
 HSPLandroid/window/ActivityWindowInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/window/ActivityWindowInfo$1;Landroid/window/ActivityWindowInfo$1;
 HSPLandroid/window/ActivityWindowInfo;-><init>()V
 HSPLandroid/window/ActivityWindowInfo;-><init>(Landroid/os/Parcel;)V
-SPLandroid/window/ActivityWindowInfo;-><init>(Landroid/os/Parcel;Landroid/window/ActivityWindowInfo-IA;)V
+HSPLandroid/window/ActivityWindowInfo;-><init>(Landroid/os/Parcel;Landroid/window/ActivityWindowInfo-IA;)V
 HSPLandroid/window/ActivityWindowInfo;-><init>(Landroid/window/ActivityWindowInfo;)V
 HSPLandroid/window/ActivityWindowInfo;->equals(Ljava/lang/Object;)Z
 HSPLandroid/window/ActivityWindowInfo;->set(Landroid/window/ActivityWindowInfo;)V
 HSPLandroid/window/ActivityWindowInfo;->set(ZLandroid/graphics/Rect;Landroid/graphics/Rect;)V
 HSPLandroid/window/BackProgressAnimator;-><init>()V
-SPLandroid/window/BackTouchTracker$TouchTrackerState;->$values()[Landroid/window/BackTouchTracker$TouchTrackerState;
-SPLandroid/window/BackTouchTracker$TouchTrackerState;-><clinit>()V
-SPLandroid/window/BackTouchTracker$TouchTrackerState;-><init>(Ljava/lang/String;I)V
+HSPLandroid/window/BackTouchTracker$TouchTrackerState;->$values()[Landroid/window/BackTouchTracker$TouchTrackerState;
+HSPLandroid/window/BackTouchTracker$TouchTrackerState;-><clinit>()V
+HSPLandroid/window/BackTouchTracker$TouchTrackerState;-><init>(Ljava/lang/String;I)V
 HSPLandroid/window/BackTouchTracker;-><init>()V
 HSPLandroid/window/BackTouchTracker;->setProgressThresholds(FFF)V
 HSPLandroid/window/ClientWindowFrames$1;-><init>()V
@@ -21473,49 +21484,48 @@
 HSPLandroid/window/ConfigurationHelper;->isDisplayRotationChanged(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)Z
 HSPLandroid/window/ConfigurationHelper;->shouldUpdateResources(Landroid/os/IBinder;Landroid/content/res/Configuration;Landroid/content/res/Configuration;Landroid/content/res/Configuration;ZLjava/lang/Boolean;)Z
 HSPLandroid/window/ConfigurationHelper;->shouldUpdateWindowMetricsBounds(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)Z
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda0;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda10;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda11;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda12;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda13;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda14;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda15;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda16;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda17;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda18;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda19;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda1;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda20;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda21;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda22;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda23;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda24;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda25;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda26;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda27;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda28;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda29;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda2;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda30;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda31;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda32;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda3;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda4;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda5;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda6;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda7;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda8;-><init>()V
-SPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda9;-><init>()V
-SPLandroid/window/DesktopModeFlags$ToggleOverride;->$values()[Landroid/window/DesktopModeFlags$ToggleOverride;
-SPLandroid/window/DesktopModeFlags$ToggleOverride;-><clinit>()V
-SPLandroid/window/DesktopModeFlags$ToggleOverride;-><init>(Ljava/lang/String;I)V
-SPLandroid/window/DesktopModeFlags$ToggleOverride;->fromSetting(ILandroid/window/DesktopModeFlags$ToggleOverride;)Landroid/window/DesktopModeFlags$ToggleOverride;
-SPLandroid/window/DesktopModeFlags$ToggleOverride;->getSetting()I
-SPLandroid/window/DesktopModeFlags;->$values()[Landroid/window/DesktopModeFlags;
-SPLandroid/window/DesktopModeFlags;-><clinit>()V
-HSPLandroid/window/DesktopModeFlags;->getToggleOverride(Landroid/content/ContentResolver;)Landroid/window/DesktopModeFlags$ToggleOverride;
-SPLandroid/window/DesktopModeFlags;->getToggleOverrideFromSystem(Landroid/content/ContentResolver;)Landroid/window/DesktopModeFlags$ToggleOverride;
-HSPLandroid/window/DesktopModeFlags;->isTrue()Z+]Landroid/app/Application;Landroid/app/Application;]Ljava/util/function/Supplier;megamorphic_types
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda0;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda10;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda11;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda12;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda13;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda14;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda15;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda16;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda17;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda18;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda19;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda1;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda20;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda21;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda22;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda23;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda24;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda25;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda26;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda27;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda28;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda29;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda2;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda30;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda31;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda32;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda3;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda4;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda5;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda6;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda7;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda8;-><init>()V
+HSPLandroid/window/DesktopModeFlags$$ExternalSyntheticLambda9;-><init>()V
+HSPLandroid/window/DesktopModeFlags$ToggleOverride;->$values()[Landroid/window/DesktopModeFlags$ToggleOverride;
+HSPLandroid/window/DesktopModeFlags$ToggleOverride;-><clinit>()V
+HSPLandroid/window/DesktopModeFlags$ToggleOverride;-><init>(Ljava/lang/String;I)V
+HSPLandroid/window/DesktopModeFlags$ToggleOverride;->fromSetting(ILandroid/window/DesktopModeFlags$ToggleOverride;)Landroid/window/DesktopModeFlags$ToggleOverride;
+HSPLandroid/window/DesktopModeFlags$ToggleOverride;->getSetting()I
+HSPLandroid/window/DesktopModeFlags;->$values()[Landroid/window/DesktopModeFlags;
+HSPLandroid/window/DesktopModeFlags;-><clinit>()V
+HSPLandroid/window/DesktopModeFlags;->isFlagTrue(Ljava/util/function/BooleanSupplier;Z)Z+]Landroid/app/Application;Landroid/app/Application;]Ljava/util/function/BooleanSupplier;megamorphic_types
+HSPLandroid/window/DesktopModeFlags;->isTrue()Z+]Landroid/app/Application;Landroid/app/Application;]Ljava/util/function/Supplier;Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda0;,Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda14;,Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda21;,Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda22;,Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda25;,Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda26;,Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda29;,Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda3;,Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda8;
 HSPLandroid/window/IOnBackInvokedCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/window/IOnBackInvokedCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/window/IOnBackInvokedCallback$Stub;-><init>()V
@@ -21558,7 +21568,7 @@
 HSPLandroid/window/SurfaceSyncGroup$2;-><init>(Landroid/window/SurfaceSyncGroup;Z)V
 HSPLandroid/window/SurfaceSyncGroup$2;->onTransactionReady(Landroid/view/SurfaceControl$Transaction;)V
 HSPLandroid/window/SurfaceSyncGroup$ISurfaceSyncGroupImpl;->getSurfaceSyncGroup()Landroid/window/SurfaceSyncGroup;
-SPLandroid/window/SurfaceSyncGroup;->$r8$lambda$Kan-laRIbBzOqZCBkfLmwXUDtJA(Landroid/window/SurfaceSyncGroup;Ljava/util/function/Consumer;Landroid/view/SurfaceControl$Transaction;)V
+HSPLandroid/window/SurfaceSyncGroup;->$r8$lambda$Kan-laRIbBzOqZCBkfLmwXUDtJA(Landroid/window/SurfaceSyncGroup;Ljava/util/function/Consumer;Landroid/view/SurfaceControl$Transaction;)V
 HSPLandroid/window/SurfaceSyncGroup;->-$$Nest$fgetmLock(Landroid/window/SurfaceSyncGroup;)Ljava/lang/Object;
 HSPLandroid/window/SurfaceSyncGroup;->-$$Nest$fgetmPendingSyncs(Landroid/window/SurfaceSyncGroup;)Landroid/util/ArraySet;
 HSPLandroid/window/SurfaceSyncGroup;->-$$Nest$fgetmTransaction(Landroid/window/SurfaceSyncGroup;)Landroid/view/SurfaceControl$Transaction;
@@ -21629,7 +21639,7 @@
 HSPLandroid/window/WindowOnBackInvokedDispatcher;->hasImeOnBackInvokedDispatcher()Z
 HSPLandroid/window/WindowOnBackInvokedDispatcher;->isOnBackInvokedCallbackEnabled()Z
 HSPLandroid/window/WindowOnBackInvokedDispatcher;->isOnBackInvokedCallbackEnabled(Landroid/content/Context;)Z
-HSPLandroid/window/WindowOnBackInvokedDispatcher;->isOnBackInvokedCallbackEnabled(Landroid/content/pm/ActivityInfo;Landroid/content/pm/ApplicationInfo;Ljava/util/function/Supplier;)Z
+HSPLandroid/window/WindowOnBackInvokedDispatcher;->isOnBackInvokedCallbackEnabled(Landroid/content/pm/ActivityInfo;Landroid/content/pm/ApplicationInfo;Ljava/util/function/Supplier;)Z+]Landroid/content/pm/ActivityInfo;Landroid/content/pm/ActivityInfo;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;
 HSPLandroid/window/WindowOnBackInvokedDispatcher;->onConfigurationChanged(Landroid/content/res/Configuration;)V
 HSPLandroid/window/WindowOnBackInvokedDispatcher;->registerOnBackInvokedCallback(ILandroid/window/OnBackInvokedCallback;)V
 HSPLandroid/window/WindowOnBackInvokedDispatcher;->registerOnBackInvokedCallbackUnchecked(Landroid/window/OnBackInvokedCallback;I)V
@@ -21852,8 +21862,8 @@
 HSPLcom/android/i18n/timezone/internal/NioBufferIterator;->readInt()I
 HSPLcom/android/i18n/timezone/internal/NioBufferIterator;->readLongArray([JII)V
 HSPLcom/android/i18n/timezone/internal/NioBufferIterator;->skip(I)V
-SPLcom/android/i18n/util/ATrace;->traceBegin(Ljava/lang/String;)V
-SPLcom/android/i18n/util/ATrace;->traceEnd()V
+HSPLcom/android/i18n/util/ATrace;->traceBegin(Ljava/lang/String;)V
+HSPLcom/android/i18n/util/ATrace;->traceEnd()V
 HSPLcom/android/icu/charset/CharsetDecoderICU;-><init>(Ljava/nio/charset/Charset;FJ)V
 HSPLcom/android/icu/charset/CharsetDecoderICU;->decodeLoop(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
 HSPLcom/android/icu/charset/CharsetDecoderICU;->getArray(Ljava/nio/ByteBuffer;)I
@@ -22074,40 +22084,46 @@
 HSPLcom/android/internal/hidden_from_bootclasspath/android/app/job/FeatureFlagsImpl;->handleAbandonedJobs()Z
 HSPLcom/android/internal/hidden_from_bootclasspath/android/app/job/FeatureFlagsImpl;->ignoreImportantWhileForeground()Z
 HSPLcom/android/internal/hidden_from_bootclasspath/android/app/job/Flags;->handleAbandonedJobs()Z+]Lcom/android/internal/hidden_from_bootclasspath/android/app/job/FeatureFlags;Lcom/android/internal/hidden_from_bootclasspath/android/app/job/FeatureFlagsImpl;
-SPLcom/android/internal/hidden_from_bootclasspath/android/companion/virtualdevice/flags/FeatureFlagsImpl;-><init>()V
+HSPLcom/android/internal/hidden_from_bootclasspath/android/companion/virtualdevice/flags/FeatureFlagsImpl;-><init>()V
 HSPLcom/android/internal/hidden_from_bootclasspath/android/companion/virtualdevice/flags/FeatureFlagsImpl;->displayPowerManagerApis()Z
-SPLcom/android/internal/hidden_from_bootclasspath/android/companion/virtualdevice/flags/Flags;-><clinit>()V
+HSPLcom/android/internal/hidden_from_bootclasspath/android/companion/virtualdevice/flags/Flags;-><clinit>()V
 HSPLcom/android/internal/hidden_from_bootclasspath/android/companion/virtualdevice/flags/Flags;->displayPowerManagerApis()Z+]Lcom/android/internal/hidden_from_bootclasspath/android/companion/virtualdevice/flags/FeatureFlags;Lcom/android/internal/hidden_from_bootclasspath/android/companion/virtualdevice/flags/FeatureFlagsImpl;
 HSPLcom/android/internal/hidden_from_bootclasspath/android/content/pm/FeatureFlagsImpl;->relativeReferenceIntentFilters()Z
-SPLcom/android/internal/hidden_from_bootclasspath/android/net/http/FeatureFlagsImpl;-><init>()V
-SPLcom/android/internal/hidden_from_bootclasspath/android/net/http/FeatureFlagsImpl;->preloadHttpengineInZygote()Z
-SPLcom/android/internal/hidden_from_bootclasspath/android/net/http/Flags;-><clinit>()V
-SPLcom/android/internal/hidden_from_bootclasspath/android/net/http/Flags;->preloadHttpengineInZygote()Z
+HSPLcom/android/internal/hidden_from_bootclasspath/android/content/pm/Flags;->relativeReferenceIntentFilters()Z+]Lcom/android/internal/hidden_from_bootclasspath/android/content/pm/FeatureFlags;Lcom/android/internal/hidden_from_bootclasspath/android/content/pm/FeatureFlagsImpl;
+HSPLcom/android/internal/hidden_from_bootclasspath/android/net/http/FeatureFlagsImpl;-><init>()V
+HSPLcom/android/internal/hidden_from_bootclasspath/android/net/http/FeatureFlagsImpl;->preloadHttpengineInZygote()Z
+HSPLcom/android/internal/hidden_from_bootclasspath/android/net/http/Flags;-><clinit>()V
+HSPLcom/android/internal/hidden_from_bootclasspath/android/net/http/Flags;->preloadHttpengineInZygote()Z
 HSPLcom/android/internal/hidden_from_bootclasspath/android/os/FeatureFlagsImpl;->adpfMeasureDuringInputEventBoost()Z
-SPLcom/android/internal/hidden_from_bootclasspath/android/os/FeatureFlagsImpl;->enableAngleAllowList()Z
+HSPLcom/android/internal/hidden_from_bootclasspath/android/os/FeatureFlagsImpl;->enableAngleAllowList()Z
 HSPLcom/android/internal/hidden_from_bootclasspath/android/os/FeatureFlagsImpl;->messageQueueTailTracking()Z
-SPLcom/android/internal/hidden_from_bootclasspath/android/os/Flags;->enableAngleAllowList()Z
-SPLcom/android/internal/hidden_from_bootclasspath/android/security/FeatureFlagsImpl;->contentUriPermissionApis()Z
+HSPLcom/android/internal/hidden_from_bootclasspath/android/os/Flags;->enableAngleAllowList()Z
+SPLcom/android/internal/hidden_from_bootclasspath/android/security/FeatureFlagsImpl;->certificateTransparencyConfiguration()Z
+HSPLcom/android/internal/hidden_from_bootclasspath/android/security/FeatureFlagsImpl;->contentUriPermissionApis()Z
 HSPLcom/android/internal/hidden_from_bootclasspath/android/security/FeatureFlagsImpl;->preventIntentRedirect()Z
 HSPLcom/android/internal/hidden_from_bootclasspath/android/security/Flags;->contentUriPermissionApis()Z
 HSPLcom/android/internal/hidden_from_bootclasspath/android/security/Flags;->preventIntentRedirect()Z+]Lcom/android/internal/hidden_from_bootclasspath/android/security/FeatureFlags;Lcom/android/internal/hidden_from_bootclasspath/android/security/FeatureFlagsImpl;
-SPLcom/android/internal/hidden_from_bootclasspath/android/service/notification/FeatureFlagsImpl;->notificationClassification()Z
-SPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->enableCaptionCompatInsetForceConsumption()Z
+HSPLcom/android/internal/hidden_from_bootclasspath/android/service/notification/FeatureFlagsImpl;->notificationClassification()Z
+SPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->disableOptOutEdgeToEdge()Z
+HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->enableCaptionCompatInsetForceConsumption()Z
 HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->enableCaptionCompatInsetForceConsumptionAlways()Z
 HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->enableDesktopWindowingMode()Z
-SPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->predictiveBackPrioritySystemNavigationObserver()Z
-SPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->predictiveBackSystemOverrideCallback()Z
-SPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->scrollingFromLetterbox()Z
-SPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->sdkDesiredPresentTime()Z
-SPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->setScPropertiesInClient()Z
+HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->predictiveBackPrioritySystemNavigationObserver()Z
+HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->predictiveBackSystemOverrideCallback()Z
+HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->scrollingFromLetterbox()Z
+HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->sdkDesiredPresentTime()Z
+HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->setScPropertiesInClient()Z
+HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->showDesktopExperienceDevOption()Z
 HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->showDesktopWindowingDevOption()Z
-SPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->wlinfoOncreate()Z
+HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;->wlinfoOncreate()Z
+HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/Flags;->disableOptOutEdgeToEdge()Z
 HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/Flags;->enableCaptionCompatInsetForceConsumption()Z+]Lcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlags;Lcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;
 HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/Flags;->enableCaptionCompatInsetForceConsumptionAlways()Z+]Lcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlags;Lcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;
 HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/Flags;->enableDesktopWindowingMode()Z+]Lcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlags;Lcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;
-SPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/Flags;->scrollingFromLetterbox()Z
+HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/Flags;->scrollingFromLetterbox()Z
 HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/Flags;->setScPropertiesInClient()Z+]Lcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlags;Lcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;
-HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/Flags;->showDesktopWindowingDevOption()Z+]Lcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlags;Lcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;
+HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/Flags;->showDesktopExperienceDevOption()Z
+HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/Flags;->showDesktopWindowingDevOption()Z
 HSPLcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/Flags;->wlinfoOncreate()Z+]Lcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlags;Lcom/android/internal/hidden_from_bootclasspath/com/android/window/flags/FeatureFlagsImpl;
 HSPLcom/android/internal/infra/AndroidFuture$1;->complete(Lcom/android/internal/infra/AndroidFuture;)V
 HSPLcom/android/internal/infra/AndroidFuture$2;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/infra/AndroidFuture;
@@ -22153,9 +22169,9 @@
 HSPLcom/android/internal/inputmethod/ImeTracing;->isSystemProcess()Z
 HSPLcom/android/internal/inputmethod/ImeTracingClientImpl;-><init>()V
 HSPLcom/android/internal/inputmethod/ImeTracingClientImpl;->triggerClientDump(Ljava/lang/String;Landroid/view/inputmethod/InputMethodManager;[B)V
-SPLcom/android/internal/inputmethod/ImeTracingPerfettoImpl$$ExternalSyntheticLambda3;-><init>(Ljava/util/concurrent/atomic/AtomicInteger;)V
-SPLcom/android/internal/inputmethod/ImeTracingPerfettoImpl$$ExternalSyntheticLambda4;-><init>(Ljava/util/concurrent/atomic/AtomicInteger;)V
-SPLcom/android/internal/inputmethod/ImeTracingPerfettoImpl;-><init>()V
+HSPLcom/android/internal/inputmethod/ImeTracingPerfettoImpl$$ExternalSyntheticLambda3;-><init>(Ljava/util/concurrent/atomic/AtomicInteger;)V
+HSPLcom/android/internal/inputmethod/ImeTracingPerfettoImpl$$ExternalSyntheticLambda4;-><init>(Ljava/util/concurrent/atomic/AtomicInteger;)V
+HSPLcom/android/internal/inputmethod/ImeTracingPerfettoImpl;-><init>()V
 HSPLcom/android/internal/inputmethod/ImeTracingPerfettoImpl;->isEnabled()Z
 HSPLcom/android/internal/inputmethod/ImeTracingPerfettoImpl;->triggerClientDump(Ljava/lang/String;Landroid/view/inputmethod/InputMethodManager;[B)V
 HSPLcom/android/internal/inputmethod/InputBindResult$1;-><init>()V
@@ -22229,14 +22245,14 @@
 HSPLcom/android/internal/net/NetworkUtilsInternal;-><clinit>()V
 HSPLcom/android/internal/os/AndroidPrintStream;-><init>(ILjava/lang/String;)V
 HSPLcom/android/internal/os/AndroidPrintStream;->log(Ljava/lang/String;)V
-SPLcom/android/internal/os/ApplicationSharedMemory;-><init>(Ljava/io/FileDescriptor;ZJ)V
-SPLcom/android/internal/os/ApplicationSharedMemory;->closeFileDescriptor()V
-SPLcom/android/internal/os/ApplicationSharedMemory;->fromFileDescriptor(Ljava/io/FileDescriptor;Z)Lcom/android/internal/os/ApplicationSharedMemory;
+HSPLcom/android/internal/os/ApplicationSharedMemory;-><init>(Ljava/io/FileDescriptor;ZJ)V
+HSPLcom/android/internal/os/ApplicationSharedMemory;->closeFileDescriptor()V
+HSPLcom/android/internal/os/ApplicationSharedMemory;->fromFileDescriptor(Ljava/io/FileDescriptor;Z)Lcom/android/internal/os/ApplicationSharedMemory;
 HSPLcom/android/internal/os/ApplicationSharedMemory;->getInstance()Lcom/android/internal/os/ApplicationSharedMemory;
-SPLcom/android/internal/os/ApplicationSharedMemory;->getSystemNonceBlock()J
-SPLcom/android/internal/os/ApplicationSharedMemory;->isMapped()Z
-SPLcom/android/internal/os/ApplicationSharedMemory;->isMutable()Z
-SPLcom/android/internal/os/ApplicationSharedMemory;->setInstance(Lcom/android/internal/os/ApplicationSharedMemory;)V
+HSPLcom/android/internal/os/ApplicationSharedMemory;->getSystemNonceBlock()J
+HSPLcom/android/internal/os/ApplicationSharedMemory;->isMapped()Z
+HSPLcom/android/internal/os/ApplicationSharedMemory;->isMutable()Z
+HSPLcom/android/internal/os/ApplicationSharedMemory;->setInstance(Lcom/android/internal/os/ApplicationSharedMemory;)V
 HSPLcom/android/internal/os/BackgroundThread;-><init>()V
 HSPLcom/android/internal/os/BackgroundThread;->ensureThreadLocked()V
 HSPLcom/android/internal/os/BackgroundThread;->getExecutor()Ljava/util/concurrent/Executor;
@@ -22300,9 +22316,9 @@
 HSPLcom/android/internal/os/DebugStore;->recordServiceCreate(Landroid/content/pm/ServiceInfo;)J+]Lcom/android/internal/os/DebugStore$DebugStoreNative;Lcom/android/internal/os/DebugStore$DebugStoreNativeImpl;
 HSPLcom/android/internal/os/DebugStore;->recordServiceOnStart(IILandroid/content/Intent;)J+]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/internal/os/DebugStore$DebugStoreNative;Lcom/android/internal/os/DebugStore$DebugStoreNativeImpl;
 HSPLcom/android/internal/os/FeatureFlagsImpl;->applicationSharedMemoryEnabled()Z
-SPLcom/android/internal/os/FeatureFlagsImpl;->enableApacheHttpLegacyPreload()Z
+HSPLcom/android/internal/os/FeatureFlagsImpl;->enableApacheHttpLegacyPreload()Z
 HSPLcom/android/internal/os/Flags;->applicationSharedMemoryEnabled()Z+]Lcom/android/internal/os/FeatureFlags;Lcom/android/internal/os/FeatureFlagsImpl;
-SPLcom/android/internal/os/Flags;->enableApacheHttpLegacyPreload()Z
+HSPLcom/android/internal/os/Flags;->enableApacheHttpLegacyPreload()Z
 HSPLcom/android/internal/os/HandlerCaller$MyHandler;-><init>(Lcom/android/internal/os/HandlerCaller;Landroid/os/Looper;Z)V
 HSPLcom/android/internal/os/HandlerCaller$MyHandler;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/os/HandlerCaller;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/internal/os/HandlerCaller$Callback;Z)V
@@ -22341,6 +22357,12 @@
 HSPLcom/android/internal/os/ProcessCpuTracker;->collectStats(Ljava/lang/String;IZ[ILjava/util/ArrayList;)[I
 HSPLcom/android/internal/os/ProcessCpuTracker;->getName(Lcom/android/internal/os/ProcessCpuTracker$Stats;Ljava/lang/String;)V
 HSPLcom/android/internal/os/ProcessCpuTracker;->onMeasureProcessName(Ljava/lang/String;)I
+HSPLcom/android/internal/os/ProcfsMemoryUtil$MemorySnapshot;-><init>()V
+SPLcom/android/internal/os/ProcfsMemoryUtil;-><clinit>()V
+SPLcom/android/internal/os/ProcfsMemoryUtil;->readMemorySnapshotFromProcfs()Lcom/android/internal/os/ProcfsMemoryUtil$MemorySnapshot;
+HSPLcom/android/internal/os/ProcfsMemoryUtil;->readMemorySnapshotFromProcfs(Ljava/lang/String;)Lcom/android/internal/os/ProcfsMemoryUtil$MemorySnapshot;
+SPLcom/android/internal/os/ProcfsMemoryUtil;->readOomScoreAdjFromProcfs()I
+HSPLcom/android/internal/os/ProcfsMemoryUtil;->readOomScoreAdjFromProcfs(Ljava/lang/String;)I
 HSPLcom/android/internal/os/RuntimeInit$$ExternalSyntheticLambda0;->get()Ljava/lang/Object;
 HSPLcom/android/internal/os/RuntimeInit$$ExternalSyntheticLambda1;-><init>()V
 HSPLcom/android/internal/os/RuntimeInit$$ExternalSyntheticLambda1;->get()Ljava/lang/Object;
@@ -22348,7 +22370,7 @@
 HSPLcom/android/internal/os/RuntimeInit$Arguments;->parseArgs([Ljava/lang/String;)V
 HSPLcom/android/internal/os/RuntimeInit$KillApplicationHandler;-><init>(Lcom/android/internal/os/RuntimeInit$LoggingHandler;)V
 HSPLcom/android/internal/os/RuntimeInit$LoggingHandler;-><init>()V
-SPLcom/android/internal/os/RuntimeInit$LoggingHandler;-><init>(Lcom/android/internal/os/RuntimeInit-IA;)V
+HSPLcom/android/internal/os/RuntimeInit$LoggingHandler;-><init>(Lcom/android/internal/os/RuntimeInit-IA;)V
 HSPLcom/android/internal/os/RuntimeInit$MethodAndArgsCaller;-><init>(Ljava/lang/reflect/Method;[Ljava/lang/String;)V
 HSPLcom/android/internal/os/RuntimeInit$MethodAndArgsCaller;->run()V
 HSPLcom/android/internal/os/RuntimeInit;->applicationInit(I[J[Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Runnable;
@@ -22444,7 +22466,8 @@
 HSPLcom/android/internal/os/ZygoteServer;->isUsapPoolEnabled()Z
 HSPLcom/android/internal/os/ZygoteServer;->runSelectLoop(Ljava/lang/String;)Ljava/lang/Runnable;
 HSPLcom/android/internal/os/ZygoteServer;->setForkChild()V
-SPLcom/android/internal/pm/RoSystemFeatures;->maybeHasFeature(Ljava/lang/String;I)Ljava/lang/Boolean;
+HSPLcom/android/internal/os/logging/MetricsLoggerWrapper;->logPostGcMemorySnapshot()V+]Ljava/util/Collection;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;
+HSPLcom/android/internal/pm/RoSystemFeatures;->maybeHasFeature(Ljava/lang/String;I)Ljava/lang/Boolean;
 HSPLcom/android/internal/policy/DecorContext;-><init>(Landroid/content/Context;Lcom/android/internal/policy/PhoneWindow;)V
 HSPLcom/android/internal/policy/DecorContext;->getAutofillOptions()Landroid/content/AutofillOptions;
 HSPLcom/android/internal/policy/DecorContext;->getContentCaptureOptions()Landroid/content/ContentCaptureOptions;
@@ -22566,6 +22589,7 @@
 HSPLcom/android/internal/policy/PhoneWindow;->invalidatePanelMenu(I)V
 HSPLcom/android/internal/policy/PhoneWindow;->isEdgeToEdgeEnforced(Landroid/content/pm/ApplicationInfo;ZLandroid/content/res/TypedArray;)Z
 HSPLcom/android/internal/policy/PhoneWindow;->isFloating()Z
+HSPLcom/android/internal/policy/PhoneWindow;->isOptingOutEdgeToEdgeEnforcement(Landroid/content/pm/ApplicationInfo;ZLandroid/content/res/TypedArray;)Z+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;
 HSPLcom/android/internal/policy/PhoneWindow;->isShowingWallpaper()Z
 HSPLcom/android/internal/policy/PhoneWindow;->isTranslucent()Z
 HSPLcom/android/internal/policy/PhoneWindow;->lambda$static$0(Landroid/view/View;Landroid/view/WindowInsets;)Landroid/util/Pair;
@@ -22601,61 +22625,61 @@
 HSPLcom/android/internal/policy/PhoneWindow;->superDispatchTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLcom/android/internal/policy/ScreenDecorationsUtils;->supportsRoundedCornersOnWindows(Landroid/content/res/Resources;)Z
 HSPLcom/android/internal/policy/WearGestureInterceptionDetector;->isEnabled(Landroid/content/Context;)Z
-SPLcom/android/internal/protolog/IProtoLogClient$Stub;-><init>()V
-SPLcom/android/internal/protolog/PerfettoProtoLogImpl$$ExternalSyntheticLambda4;-><init>(Lcom/android/internal/protolog/PerfettoProtoLogImpl;)V
-SPLcom/android/internal/protolog/PerfettoProtoLogImpl$$ExternalSyntheticLambda4;->run(ILcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;)V
-SPLcom/android/internal/protolog/PerfettoProtoLogImpl$$ExternalSyntheticLambda5;-><init>(Lcom/android/internal/protolog/PerfettoProtoLogImpl;)V
-SPLcom/android/internal/protolog/PerfettoProtoLogImpl$$ExternalSyntheticLambda6;-><init>(Lcom/android/internal/protolog/PerfettoProtoLogImpl;)V
-SPLcom/android/internal/protolog/PerfettoProtoLogImpl;->$r8$lambda$MQ_SVaXmDujMW5ISGNMGvz8bOeI(Lcom/android/internal/protolog/PerfettoProtoLogImpl;ILcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;)V
-SPLcom/android/internal/protolog/PerfettoProtoLogImpl;-><init>(Lcom/android/internal/protolog/ProtoLogDataSource;Lcom/android/internal/protolog/ProtoLogCacheUpdater;[Lcom/android/internal/protolog/common/IProtoLogGroup;)V
-SPLcom/android/internal/protolog/PerfettoProtoLogImpl;-><init>(Lcom/android/internal/protolog/ProtoLogDataSource;Lcom/android/internal/protolog/ProtoLogCacheUpdater;[Lcom/android/internal/protolog/common/IProtoLogGroup;Lcom/android/internal/protolog/IProtoLogConfigurationService;)V
-SPLcom/android/internal/protolog/PerfettoProtoLogImpl;->enable()V
+HSPLcom/android/internal/protolog/IProtoLogClient$Stub;-><init>()V
+HSPLcom/android/internal/protolog/PerfettoProtoLogImpl$$ExternalSyntheticLambda4;-><init>(Lcom/android/internal/protolog/PerfettoProtoLogImpl;)V
+HSPLcom/android/internal/protolog/PerfettoProtoLogImpl$$ExternalSyntheticLambda4;->run(ILcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;)V
+HSPLcom/android/internal/protolog/PerfettoProtoLogImpl$$ExternalSyntheticLambda5;-><init>(Lcom/android/internal/protolog/PerfettoProtoLogImpl;)V
+HSPLcom/android/internal/protolog/PerfettoProtoLogImpl$$ExternalSyntheticLambda6;-><init>(Lcom/android/internal/protolog/PerfettoProtoLogImpl;)V
+HSPLcom/android/internal/protolog/PerfettoProtoLogImpl;->$r8$lambda$MQ_SVaXmDujMW5ISGNMGvz8bOeI(Lcom/android/internal/protolog/PerfettoProtoLogImpl;ILcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;)V
+HSPLcom/android/internal/protolog/PerfettoProtoLogImpl;-><init>(Lcom/android/internal/protolog/ProtoLogDataSource;Lcom/android/internal/protolog/ProtoLogCacheUpdater;[Lcom/android/internal/protolog/common/IProtoLogGroup;)V
+HSPLcom/android/internal/protolog/PerfettoProtoLogImpl;-><init>(Lcom/android/internal/protolog/ProtoLogDataSource;Lcom/android/internal/protolog/ProtoLogCacheUpdater;[Lcom/android/internal/protolog/common/IProtoLogGroup;Lcom/android/internal/protolog/IProtoLogConfigurationService;)V
+HSPLcom/android/internal/protolog/PerfettoProtoLogImpl;->enable()V
 HSPLcom/android/internal/protolog/PerfettoProtoLogImpl;->onTracingInstanceStart(ILcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;)V+]Lcom/android/internal/protolog/ProtoLogCacheUpdater;missing_types]Lcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;Lcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;]Ljava/util/Iterator;Ljava/util/HashMap$KeyIterator;]Ljava/util/Map;Landroid/util/ArrayMap;]Ljava/util/Set;Ljava/util/HashMap$KeySet;
-SPLcom/android/internal/protolog/PerfettoProtoLogImpl;->readyToLogToLogcat()V
-SPLcom/android/internal/protolog/PerfettoProtoLogImpl;->registerGroupsLocally([Lcom/android/internal/protolog/common/IProtoLogGroup;)V
-SPLcom/android/internal/protolog/PerfettoProtoLogImpl;->verifyNoCollisionsOrDuplicates([Lcom/android/internal/protolog/common/IProtoLogGroup;)V
-SPLcom/android/internal/protolog/ProtoLog;-><clinit>()V
-SPLcom/android/internal/protolog/ProtoLog;->createAndEnableNewPerfettoProtoLogImpl(Lcom/android/internal/protolog/ProtoLogDataSource;[Lcom/android/internal/protolog/common/IProtoLogGroup;)Lcom/android/internal/protolog/PerfettoProtoLogImpl;
-SPLcom/android/internal/protolog/ProtoLog;->getSharedSingleInstanceDataSource()Lcom/android/internal/protolog/ProtoLogDataSource;
-SPLcom/android/internal/protolog/ProtoLog;->init([Lcom/android/internal/protolog/common/IProtoLogGroup;)V
-SPLcom/android/internal/protolog/ProtoLog;->initializePerfettoProtoLog([Lcom/android/internal/protolog/common/IProtoLogGroup;)V
-SPLcom/android/internal/protolog/ProtoLogDataSource$$ExternalSyntheticLambda0;-><init>(Lcom/android/internal/protolog/ProtoLogDataSource;)V
-SPLcom/android/internal/protolog/ProtoLogDataSource$$ExternalSyntheticLambda0;->run(ILcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;)V
-SPLcom/android/internal/protolog/ProtoLogDataSource$$ExternalSyntheticLambda1;-><init>(Lcom/android/internal/protolog/ProtoLogDataSource;)V
-SPLcom/android/internal/protolog/ProtoLogDataSource$$ExternalSyntheticLambda2;-><init>(Lcom/android/internal/protolog/ProtoLogDataSource;)V
+HSPLcom/android/internal/protolog/PerfettoProtoLogImpl;->readyToLogToLogcat()V
+HSPLcom/android/internal/protolog/PerfettoProtoLogImpl;->registerGroupsLocally([Lcom/android/internal/protolog/common/IProtoLogGroup;)V
+HSPLcom/android/internal/protolog/PerfettoProtoLogImpl;->verifyNoCollisionsOrDuplicates([Lcom/android/internal/protolog/common/IProtoLogGroup;)V
+HSPLcom/android/internal/protolog/ProtoLog;-><clinit>()V
+HSPLcom/android/internal/protolog/ProtoLog;->createAndEnableNewPerfettoProtoLogImpl(Lcom/android/internal/protolog/ProtoLogDataSource;[Lcom/android/internal/protolog/common/IProtoLogGroup;)Lcom/android/internal/protolog/PerfettoProtoLogImpl;
+HSPLcom/android/internal/protolog/ProtoLog;->getSharedSingleInstanceDataSource()Lcom/android/internal/protolog/ProtoLogDataSource;
+HSPLcom/android/internal/protolog/ProtoLog;->init([Lcom/android/internal/protolog/common/IProtoLogGroup;)V
+HSPLcom/android/internal/protolog/ProtoLog;->initializePerfettoProtoLog([Lcom/android/internal/protolog/common/IProtoLogGroup;)V
+HSPLcom/android/internal/protolog/ProtoLogDataSource$$ExternalSyntheticLambda0;-><init>(Lcom/android/internal/protolog/ProtoLogDataSource;)V
+HSPLcom/android/internal/protolog/ProtoLogDataSource$$ExternalSyntheticLambda0;->run(ILcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;)V
+HSPLcom/android/internal/protolog/ProtoLogDataSource$$ExternalSyntheticLambda1;-><init>(Lcom/android/internal/protolog/ProtoLogDataSource;)V
+HSPLcom/android/internal/protolog/ProtoLogDataSource$$ExternalSyntheticLambda2;-><init>(Lcom/android/internal/protolog/ProtoLogDataSource;)V
 HSPLcom/android/internal/protolog/ProtoLogDataSource$GroupConfig;-><init>(Lcom/android/internal/protolog/common/LogLevel;Z)V
-SPLcom/android/internal/protolog/ProtoLogDataSource$Instance;-><init>(Landroid/tracing/perfetto/DataSource;ILcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;Lcom/android/internal/protolog/ProtoLogDataSource$Instance$TracingInstanceStartCallback;Ljava/lang/Runnable;Lcom/android/internal/protolog/ProtoLogDataSource$Instance$TracingInstanceStopCallback;)V
-SPLcom/android/internal/protolog/ProtoLogDataSource$Instance;->onStart(Landroid/tracing/perfetto/StartCallbackArguments;)V
-SPLcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;-><clinit>()V
-SPLcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;-><init>(Lcom/android/internal/protolog/common/LogLevel;Ljava/util/Map;)V
-SPLcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;-><init>(Lcom/android/internal/protolog/common/LogLevel;Ljava/util/Map;Lcom/android/internal/protolog/ProtoLogDataSource-IA;)V
+HSPLcom/android/internal/protolog/ProtoLogDataSource$Instance;-><init>(Landroid/tracing/perfetto/DataSource;ILcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;Lcom/android/internal/protolog/ProtoLogDataSource$Instance$TracingInstanceStartCallback;Ljava/lang/Runnable;Lcom/android/internal/protolog/ProtoLogDataSource$Instance$TracingInstanceStopCallback;)V
+HSPLcom/android/internal/protolog/ProtoLogDataSource$Instance;->onStart(Landroid/tracing/perfetto/StartCallbackArguments;)V
+HSPLcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;-><clinit>()V
+HSPLcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;-><init>(Lcom/android/internal/protolog/common/LogLevel;Ljava/util/Map;)V
+HSPLcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;-><init>(Lcom/android/internal/protolog/common/LogLevel;Ljava/util/Map;Lcom/android/internal/protolog/ProtoLogDataSource-IA;)V
 HSPLcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;->getConfigFor(Ljava/lang/String;)Lcom/android/internal/protolog/ProtoLogDataSource$GroupConfig;+]Lcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;Lcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;]Ljava/util/Map;Ljava/util/HashMap;
 HSPLcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;->getDefaultGroupConfig()Lcom/android/internal/protolog/ProtoLogDataSource$GroupConfig;
-SPLcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;->getGroupTagsWithOverriddenConfigs()Ljava/util/Set;
-SPLcom/android/internal/protolog/ProtoLogDataSource;->$r8$lambda$UIYmd4vygAyNlpzo0qcmzUnaAs4(Lcom/android/internal/protolog/ProtoLogDataSource;ILcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;)V
-SPLcom/android/internal/protolog/ProtoLogDataSource;-><init>()V
-SPLcom/android/internal/protolog/ProtoLogDataSource;-><init>(Ljava/lang/String;)V
-SPLcom/android/internal/protolog/ProtoLogDataSource;->createInstance(Landroid/util/proto/ProtoInputStream;I)Landroid/tracing/perfetto/DataSourceInstance;
-SPLcom/android/internal/protolog/ProtoLogDataSource;->createInstance(Landroid/util/proto/ProtoInputStream;I)Lcom/android/internal/protolog/ProtoLogDataSource$Instance;
-SPLcom/android/internal/protolog/ProtoLogDataSource;->executeOnStartCallbacks(ILcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;)V
-SPLcom/android/internal/protolog/ProtoLogDataSource;->logLevelFromInt(I)Lcom/android/internal/protolog/common/LogLevel;
-SPLcom/android/internal/protolog/ProtoLogDataSource;->readProtoLogConfig(Landroid/util/proto/ProtoInputStream;)Lcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;
-SPLcom/android/internal/protolog/ProtoLogDataSource;->registerOnFlushCallback(Ljava/lang/Runnable;)V
-SPLcom/android/internal/protolog/ProtoLogDataSource;->registerOnStartCallback(Lcom/android/internal/protolog/ProtoLogDataSource$Instance$TracingInstanceStartCallback;)V
-SPLcom/android/internal/protolog/ProtoLogDataSource;->registerOnStopCallback(Lcom/android/internal/protolog/ProtoLogDataSource$Instance$TracingInstanceStopCallback;)V
-SPLcom/android/internal/protolog/ProtoLogGroup;-><init>(Ljava/lang/String;Ljava/lang/String;Z)V
-SPLcom/android/internal/protolog/ProtoLogGroup;->getId()I
+HSPLcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;->getGroupTagsWithOverriddenConfigs()Ljava/util/Set;
+HSPLcom/android/internal/protolog/ProtoLogDataSource;->$r8$lambda$UIYmd4vygAyNlpzo0qcmzUnaAs4(Lcom/android/internal/protolog/ProtoLogDataSource;ILcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;)V
+HSPLcom/android/internal/protolog/ProtoLogDataSource;-><init>()V
+HSPLcom/android/internal/protolog/ProtoLogDataSource;-><init>(Ljava/lang/String;)V
+HSPLcom/android/internal/protolog/ProtoLogDataSource;->createInstance(Landroid/util/proto/ProtoInputStream;I)Landroid/tracing/perfetto/DataSourceInstance;
+HSPLcom/android/internal/protolog/ProtoLogDataSource;->createInstance(Landroid/util/proto/ProtoInputStream;I)Lcom/android/internal/protolog/ProtoLogDataSource$Instance;
+HSPLcom/android/internal/protolog/ProtoLogDataSource;->executeOnStartCallbacks(ILcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;)V
+HSPLcom/android/internal/protolog/ProtoLogDataSource;->logLevelFromInt(I)Lcom/android/internal/protolog/common/LogLevel;
+HSPLcom/android/internal/protolog/ProtoLogDataSource;->readProtoLogConfig(Landroid/util/proto/ProtoInputStream;)Lcom/android/internal/protolog/ProtoLogDataSource$ProtoLogConfig;
+HSPLcom/android/internal/protolog/ProtoLogDataSource;->registerOnFlushCallback(Ljava/lang/Runnable;)V
+HSPLcom/android/internal/protolog/ProtoLogDataSource;->registerOnStartCallback(Lcom/android/internal/protolog/ProtoLogDataSource$Instance$TracingInstanceStartCallback;)V
+HSPLcom/android/internal/protolog/ProtoLogDataSource;->registerOnStopCallback(Lcom/android/internal/protolog/ProtoLogDataSource$Instance$TracingInstanceStopCallback;)V
+HSPLcom/android/internal/protolog/ProtoLogGroup;-><init>(Ljava/lang/String;Ljava/lang/String;Z)V
+HSPLcom/android/internal/protolog/ProtoLogGroup;->getId()I
 HSPLcom/android/internal/protolog/ProtoLogGroup;->name()Ljava/lang/String;
-SPLcom/android/internal/protolog/UnprocessedPerfettoProtoLogImpl$$ExternalSyntheticLambda0;-><init>()V
-SPLcom/android/internal/protolog/UnprocessedPerfettoProtoLogImpl$$ExternalSyntheticLambda0;->update(Lcom/android/internal/protolog/common/IProtoLog;)V
-SPLcom/android/internal/protolog/UnprocessedPerfettoProtoLogImpl;-><init>(Lcom/android/internal/protolog/ProtoLogDataSource;[Lcom/android/internal/protolog/common/IProtoLogGroup;)V
-SPLcom/android/internal/protolog/UnprocessedPerfettoProtoLogImpl;->lambda$new$0(Lcom/android/internal/protolog/common/IProtoLog;)V
-SPLcom/android/internal/protolog/common/LogLevel;->$values()[Lcom/android/internal/protolog/common/LogLevel;
-SPLcom/android/internal/protolog/common/LogLevel;-><clinit>()V
-SPLcom/android/internal/protolog/common/LogLevel;-><init>(Ljava/lang/String;ILjava/lang/String;I)V
+HSPLcom/android/internal/protolog/UnprocessedPerfettoProtoLogImpl$$ExternalSyntheticLambda0;-><init>()V
+HSPLcom/android/internal/protolog/UnprocessedPerfettoProtoLogImpl$$ExternalSyntheticLambda0;->update(Lcom/android/internal/protolog/common/IProtoLog;)V
+HSPLcom/android/internal/protolog/UnprocessedPerfettoProtoLogImpl;-><init>(Lcom/android/internal/protolog/ProtoLogDataSource;[Lcom/android/internal/protolog/common/IProtoLogGroup;)V
+HSPLcom/android/internal/protolog/UnprocessedPerfettoProtoLogImpl;->lambda$new$0(Lcom/android/internal/protolog/common/IProtoLog;)V
+HSPLcom/android/internal/protolog/common/LogLevel;->$values()[Lcom/android/internal/protolog/common/LogLevel;
+HSPLcom/android/internal/protolog/common/LogLevel;-><clinit>()V
+HSPLcom/android/internal/protolog/common/LogLevel;-><init>(Ljava/lang/String;ILjava/lang/String;I)V
 HSPLcom/android/internal/protolog/common/LogLevel;->values()[Lcom/android/internal/protolog/common/LogLevel;
-SPLcom/android/internal/ravenwood/RavenwoodEnvironment;->getInstance()Lcom/android/internal/ravenwood/RavenwoodEnvironment;
-SPLcom/android/internal/ravenwood/RavenwoodEnvironment;->isRunningOnRavenwood()Z
+HSPLcom/android/internal/ravenwood/RavenwoodEnvironment;->getInstance()Lcom/android/internal/ravenwood/RavenwoodEnvironment;
+HSPLcom/android/internal/ravenwood/RavenwoodEnvironment;->isRunningOnRavenwood()Z
 HSPLcom/android/internal/statusbar/IStatusBarService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/statusbar/IStatusBarService;
 HSPLcom/android/internal/statusbar/NotificationVisibility;->recycle()V
 HSPLcom/android/internal/telecom/ClientTransactionalServiceRepository;-><clinit>()V
@@ -22873,6 +22897,7 @@
 HSPLcom/android/internal/util/FrameworkStatsLog;->write(IIII)V
 HSPLcom/android/internal/util/FrameworkStatsLog;->write(IIILjava/lang/String;I)V
 HSPLcom/android/internal/util/FrameworkStatsLog;->write(IIJII)V
+HSPLcom/android/internal/util/FrameworkStatsLog;->write(IILjava/lang/String;IIIIII[Ljava/lang/String;[J[J[J[J)V
 HSPLcom/android/internal/util/FrameworkStatsLog;->write(IILjava/lang/String;IZ)V
 HSPLcom/android/internal/util/FrameworkStatsLog;->write(ILjava/lang/String;I)V
 HSPLcom/android/internal/util/FrameworkStatsLog;->write(ILjava/lang/String;IIF)V
@@ -22953,7 +22978,7 @@
 HSPLcom/android/internal/util/ProcFileReader;->finishLine()V
 HSPLcom/android/internal/util/RateLimitingCache;->get(Lcom/android/internal/util/RateLimitingCache$ValueFetcher;)Ljava/lang/Object;+]Lcom/android/internal/util/RateLimitingCache$ValueFetcher;Landroid/app/ActivityManager$$ExternalSyntheticLambda0;,Landroid/app/ActivityManager$$ExternalSyntheticLambda1;,Landroid/app/ActivityManager$$ExternalSyntheticLambda2;,Landroid/app/ActivityManager$$ExternalSyntheticLambda3;]Lcom/android/internal/util/RateLimitingCache;Lcom/android/internal/util/RateLimitingCache;
 HSPLcom/android/internal/util/RateLimitingCache;->getTime()J
-HSPLcom/android/internal/util/RingBuffer;-><init>(Ljava/util/function/Supplier;Ljava/util/function/IntFunction;I)V+]Ljava/util/function/IntFunction;Landroid/database/sqlite/SQLiteConnection$OperationLog$$ExternalSyntheticLambda1;,Lcom/android/internal/util/RingBuffer$$ExternalSyntheticLambda1;
+HSPLcom/android/internal/util/RingBuffer;-><init>(Ljava/util/function/Supplier;Ljava/util/function/IntFunction;I)V+]Ljava/util/function/IntFunction;Landroid/database/sqlite/SQLiteConnection$OperationLog$$ExternalSyntheticLambda1;
 HSPLcom/android/internal/util/ScreenshotHelper;-><init>(Landroid/content/Context;)V
 HSPLcom/android/internal/util/StatLogger;->getTime()J
 HSPLcom/android/internal/util/StatLogger;->logDurationStat(IJ)J
@@ -23044,7 +23069,7 @@
 HSPLcom/android/internal/util/XmlUtils;->writeSetXml(Ljava/util/Set;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlSerializer;)V
 HSPLcom/android/internal/util/XmlUtils;->writeValueXml(Ljava/lang/Object;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlSerializer;)V
 HSPLcom/android/internal/util/XmlUtils;->writeValueXml(Ljava/lang/Object;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V
-SPLcom/android/internal/util/function/pooled/OmniFunction;-><init>()V
+HSPLcom/android/internal/util/function/pooled/OmniFunction;-><init>()V
 HSPLcom/android/internal/util/function/pooled/OmniFunction;->run()V
 HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/HexConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
 HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/QuadConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
@@ -23057,10 +23082,10 @@
 HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl$LambdaType;->decodeArgCount(I)I
 HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl$LambdaType;->decodeReturnType(I)I
 HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl$LambdaType;->encode(II)I
-SPLcom/android/internal/util/function/pooled/PooledLambdaImpl$Pool;-><init>(Ljava/lang/Object;)V
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl$Pool;-><init>(Ljava/lang/Object;)V
 HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->-$$Nest$smmask(II)I
 HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->-$$Nest$smunmask(II)I
-SPLcom/android/internal/util/function/pooled/PooledLambdaImpl;-><clinit>()V
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;-><clinit>()V
 HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;-><init>()V
 HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->acquire(Lcom/android/internal/util/function/pooled/PooledLambdaImpl$Pool;)Lcom/android/internal/util/function/pooled/PooledLambdaImpl;
 HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->acquire(Lcom/android/internal/util/function/pooled/PooledLambdaImpl$Pool;Ljava/lang/Object;IIILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/android/internal/util/function/pooled/PooledLambda;
@@ -23162,10 +23187,12 @@
 HSPLcom/android/internal/widget/LockPatternUtils;->isOwnerInfoEnabled(I)Z
 HSPLcom/android/internal/widget/LockPatternUtils;->isSecure(I)Z
 HSPLcom/android/internal/widget/LockPatternUtils;->isSeparateProfileChallengeEnabled(I)Z
-SPLcom/android/libcore/readonly/FeatureFlagsImpl;-><init>()V
+HSPLcom/android/libcore/readonly/FeatureFlagsImpl;-><init>()V
 HSPLcom/android/libcore/readonly/FeatureFlagsImpl;->nativeMetrics()Z
-SPLcom/android/libcore/readonly/Flags;-><clinit>()V
+SPLcom/android/libcore/readonly/FeatureFlagsImpl;->postCleanupApis()Z
+HSPLcom/android/libcore/readonly/Flags;-><clinit>()V
 HSPLcom/android/libcore/readonly/Flags;->nativeMetrics()Z+]Lcom/android/libcore/readonly/FeatureFlags;Lcom/android/libcore/readonly/FeatureFlagsImpl;
+SPLcom/android/libcore/readonly/Flags;->postCleanupApis()Z
 HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeBoolean(Ljava/lang/String;Ljava/lang/String;)Z+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser;
 HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeFloat(Ljava/lang/String;Ljava/lang/String;)F
 HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeIndex(Ljava/lang/String;Ljava/lang/String;)I+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser;
@@ -23183,10 +23210,10 @@
 HSPLcom/android/net/module/util/NetworkCapabilitiesUtils;-><clinit>()V
 HSPLcom/android/os/coregraphics/HwuiStatsLog;->write(IIJI)V
 HSPLcom/android/server/LocalServices;->getService(Ljava/lang/Class;)Ljava/lang/Object;
-SPLcom/android/server/display/feature/flags/FeatureFlagsImpl;-><init>()V
-SPLcom/android/server/display/feature/flags/FeatureFlagsImpl;->displayListenerPerformanceImprovements()Z
-SPLcom/android/server/display/feature/flags/FeatureFlagsImpl;->subscribeGranularDisplayEvents()Z
-SPLcom/android/server/display/feature/flags/Flags;-><clinit>()V
+HSPLcom/android/server/display/feature/flags/FeatureFlagsImpl;-><init>()V
+HSPLcom/android/server/display/feature/flags/FeatureFlagsImpl;->displayListenerPerformanceImprovements()Z
+HSPLcom/android/server/display/feature/flags/FeatureFlagsImpl;->subscribeGranularDisplayEvents()Z
+HSPLcom/android/server/display/feature/flags/Flags;-><clinit>()V
 HSPLcom/android/server/display/feature/flags/Flags;->displayListenerPerformanceImprovements()Z+]Lcom/android/server/display/feature/flags/FeatureFlags;Lcom/android/server/display/feature/flags/FeatureFlagsImpl;
 HSPLcom/android/server/display/feature/flags/Flags;->subscribeGranularDisplayEvents()Z
 HSPLcom/android/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I
@@ -23334,6 +23361,7 @@
 Landroid/accounts/AccountManager$AmsTask$Response;
 Landroid/accounts/AccountManager$AmsTask;
 Landroid/accounts/AccountManager$BaseFutureTask$1;
+Landroid/accounts/AccountManager$BaseFutureTask$Response;
 Landroid/accounts/AccountManager$BaseFutureTask;
 Landroid/accounts/AccountManager$Future2Task$1;
 Landroid/accounts/AccountManager$Future2Task;
@@ -23348,6 +23376,7 @@
 Landroid/accounts/AuthenticatorDescription-IA;
 Landroid/accounts/AuthenticatorDescription;
 Landroid/accounts/AuthenticatorException;
+Landroid/accounts/IAccountAuthenticator$Stub$Proxy;
 Landroid/accounts/IAccountAuthenticator$Stub;
 Landroid/accounts/IAccountAuthenticator;
 Landroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy;
@@ -23356,6 +23385,7 @@
 Landroid/accounts/IAccountManager$Stub$Proxy;
 Landroid/accounts/IAccountManager$Stub;
 Landroid/accounts/IAccountManager;
+Landroid/accounts/IAccountManagerResponse$Stub$Proxy;
 Landroid/accounts/IAccountManagerResponse$Stub;
 Landroid/accounts/IAccountManagerResponse;
 Landroid/accounts/NetworkErrorException;
@@ -23497,6 +23527,7 @@
 Landroid/app/ActivityManager$$ExternalSyntheticLambda1;
 Landroid/app/ActivityManager$$ExternalSyntheticLambda2;
 Landroid/app/ActivityManager$1;
+Landroid/app/ActivityManager$2;
 Landroid/app/ActivityManager$3;
 Landroid/app/ActivityManager$4;
 Landroid/app/ActivityManager$AppTask;
@@ -23547,8 +23578,10 @@
 Landroid/app/ActivityThread$3;
 Landroid/app/ActivityThread$4;
 Landroid/app/ActivityThread$5;
+Landroid/app/ActivityThread$6;
 Landroid/app/ActivityThread$ActivityClientRecord$1;
 Landroid/app/ActivityThread$ActivityClientRecord;
+Landroid/app/ActivityThread$AndroidOs;
 Landroid/app/ActivityThread$AppBindData;
 Landroid/app/ActivityThread$ApplicationThread$$ExternalSyntheticLambda2;
 Landroid/app/ActivityThread$ApplicationThread$1;
@@ -23582,6 +23615,7 @@
 Landroid/app/ActivityTransitionState;
 Landroid/app/AlarmManager$AlarmClockInfo$1;
 Landroid/app/AlarmManager$AlarmClockInfo;
+Landroid/app/AlarmManager$ListenerWrapper;
 Landroid/app/AlarmManager$OnAlarmListener;
 Landroid/app/AlarmManager;
 Landroid/app/AlertDialog$Builder;
@@ -23602,6 +23636,7 @@
 Landroid/app/AppOpsManager$$ExternalSyntheticLambda8;
 Landroid/app/AppOpsManager$1;
 Landroid/app/AppOpsManager$2;
+Landroid/app/AppOpsManager$3;
 Landroid/app/AppOpsManager$4;
 Landroid/app/AppOpsManager$AppOpsCollector;
 Landroid/app/AppOpsManager$AttributedHistoricalOps$1;
@@ -23671,6 +23706,7 @@
 Landroid/app/ApplicationPackageManager$MoveCallbackDelegate;
 Landroid/app/ApplicationPackageManager$ResourceName;
 Landroid/app/ApplicationPackageManager-IA;
+Landroid/app/ApplicationPackageManager;
 Landroid/app/AsyncNotedAppOp$1;
 Landroid/app/AsyncNotedAppOp;
 Landroid/app/AutomaticZenRule$1;
@@ -23699,6 +23735,7 @@
 Landroid/app/ContentProviderHolder;
 Landroid/app/ContextImpl$1;
 Landroid/app/ContextImpl$ApplicationContentResolver;
+Landroid/app/ContextImpl;
 Landroid/app/DexLoadReporter;
 Landroid/app/Dialog$$ExternalSyntheticLambda0;
 Landroid/app/Dialog$$ExternalSyntheticLambda1;
@@ -23784,6 +23821,7 @@
 Landroid/app/IApplicationStartInfoCompleteListener$Stub$Proxy;
 Landroid/app/IApplicationStartInfoCompleteListener$Stub;
 Landroid/app/IApplicationStartInfoCompleteListener;
+Landroid/app/IApplicationThread$Stub$Proxy;
 Landroid/app/IApplicationThread$Stub;
 Landroid/app/IApplicationThread;
 Landroid/app/IAssistDataReceiver$Stub$Proxy;
@@ -23827,11 +23865,13 @@
 Landroid/app/ISearchManager$Stub$Proxy;
 Landroid/app/ISearchManager$Stub;
 Landroid/app/ISearchManager;
+Landroid/app/IServiceConnection$Stub$Proxy;
 Landroid/app/IServiceConnection$Stub;
 Landroid/app/IServiceConnection;
 Landroid/app/IStopUserCallback$Stub$Proxy;
 Landroid/app/IStopUserCallback$Stub;
 Landroid/app/IStopUserCallback;
+Landroid/app/ITaskStackListener$Stub$Proxy;
 Landroid/app/ITaskStackListener$Stub;
 Landroid/app/ITaskStackListener;
 Landroid/app/ITransientNotification$Stub$Proxy;
@@ -23851,6 +23891,7 @@
 Landroid/app/IUidFrozenStateChangedCallback$Stub$Proxy;
 Landroid/app/IUidFrozenStateChangedCallback$Stub;
 Landroid/app/IUidFrozenStateChangedCallback;
+Landroid/app/IUidObserver$Stub$Proxy;
 Landroid/app/IUidObserver$Stub;
 Landroid/app/IUidObserver;
 Landroid/app/IUnsafeIntentStrictModeCallback$Stub;
@@ -23879,6 +23920,7 @@
 Landroid/app/IntentReceiverLeaked;
 Landroid/app/IntentService$ServiceHandler;
 Landroid/app/IntentService;
+Landroid/app/JobSchedulerImpl;
 Landroid/app/KeyguardManager$1;
 Landroid/app/KeyguardManager$2;
 Landroid/app/KeyguardManager$KeyguardDismissCallback;
@@ -23886,9 +23928,11 @@
 Landroid/app/ListActivity;
 Landroid/app/LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0;
 Landroid/app/LoadedApk$ReceiverDispatcher$Args;
+Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;
 Landroid/app/LoadedApk$ReceiverDispatcher;
 Landroid/app/LoadedApk$ServiceDispatcher$ConnectionInfo;
 Landroid/app/LoadedApk$ServiceDispatcher$DeathMonitor;
+Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;
 Landroid/app/LoadedApk$ServiceDispatcher$RunConnection;
 Landroid/app/LoadedApk$ServiceDispatcher;
 Landroid/app/LoadedApk$SplitDependencyLoaderImpl;
@@ -23945,6 +23989,7 @@
 Landroid/app/NotificationManager$NotificationKey;
 Landroid/app/NotificationManager$Policy$1;
 Landroid/app/NotificationManager$Policy;
+Landroid/app/NotificationManager$RateLimiter;
 Landroid/app/NotificationManager;
 Landroid/app/OnActivityPausedListener;
 Landroid/app/PackageInstallObserver$1;
@@ -23955,6 +24000,7 @@
 Landroid/app/PendingIntent$1;
 Landroid/app/PendingIntent$CancelListener;
 Landroid/app/PendingIntent$CanceledException;
+Landroid/app/PendingIntent$FinishedDispatcher;
 Landroid/app/PendingIntent$OnFinished;
 Landroid/app/PendingIntent$OnMarshaledListener;
 Landroid/app/PendingIntent;
@@ -24041,6 +24087,7 @@
 Landroid/app/SharedPreferencesImpl$MemoryCommitResult;
 Landroid/app/SharedPreferencesImpl$SharedPreferencesThreadFactory;
 Landroid/app/SharedPreferencesImpl-IA;
+Landroid/app/SharedPreferencesImpl;
 Landroid/app/StackTrace;
 Landroid/app/StatusBarManager;
 Landroid/app/SyncNotedAppOp$1;
@@ -24444,6 +24491,7 @@
 Landroid/app/job/JobService$1;
 Landroid/app/job/JobService;
 Landroid/app/job/JobServiceEngine$JobHandler;
+Landroid/app/job/JobServiceEngine$JobInterface;
 Landroid/app/job/JobServiceEngine;
 Landroid/app/job/JobWorkItem$1;
 Landroid/app/job/JobWorkItem;
@@ -24751,6 +24799,7 @@
 Landroid/content/ComponentName$WithComponentName;
 Landroid/content/ComponentName;
 Landroid/content/ContentCaptureOptions$1;
+Landroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda0;
 Landroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda1;
 Landroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda2;
 Landroid/content/ContentCaptureOptions$ContentProtectionOptions;
@@ -24772,10 +24821,12 @@
 Landroid/content/ContentProviderOperation$Builder;
 Landroid/content/ContentProviderOperation-IA;
 Landroid/content/ContentProviderOperation;
+Landroid/content/ContentProviderProxy;
 Landroid/content/ContentProviderResult$1;
 Landroid/content/ContentProviderResult;
 Landroid/content/ContentResolver$1;
 Landroid/content/ContentResolver$2;
+Landroid/content/ContentResolver$CursorWrapperInner;
 Landroid/content/ContentResolver$OpenResourceIdResult;
 Landroid/content/ContentResolver$ParcelFileDescriptorInner;
 Landroid/content/ContentResolver$ResultListener;
@@ -24806,6 +24857,7 @@
 Landroid/content/IContentService$Stub$Proxy;
 Landroid/content/IContentService$Stub;
 Landroid/content/IContentService;
+Landroid/content/IIntentReceiver$Stub$Proxy;
 Landroid/content/IIntentReceiver$Stub;
 Landroid/content/IIntentReceiver;
 Landroid/content/IIntentSender$Stub$Proxy;
@@ -24979,6 +25031,7 @@
 Landroid/content/pm/ILauncherApps$Stub$Proxy;
 Landroid/content/pm/ILauncherApps$Stub;
 Landroid/content/pm/ILauncherApps;
+Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy;
 Landroid/content/pm/IOnAppsChangedListener$Stub;
 Landroid/content/pm/IOnAppsChangedListener;
 Landroid/content/pm/IOnChecksumsReadyListener$Stub$Proxy;
@@ -25324,6 +25377,7 @@
 Landroid/content/res/ThemedResourceCache;
 Landroid/content/res/TypedArray;
 Landroid/content/res/Validator;
+Landroid/content/res/XmlBlock$Parser;
 Landroid/content/res/XmlBlock;
 Landroid/content/res/XmlResourceParser;
 Landroid/content/res/loader/AssetsProvider;
@@ -25357,6 +25411,7 @@
 Landroid/database/ContentObservable;
 Landroid/database/ContentObserver$$ExternalSyntheticLambda0;
 Landroid/database/ContentObserver$$ExternalSyntheticLambda1;
+Landroid/database/ContentObserver$Transport;
 Landroid/database/ContentObserver;
 Landroid/database/CrossProcessCursor;
 Landroid/database/CrossProcessCursorWrapper;
@@ -25375,6 +25430,7 @@
 Landroid/database/DatabaseUtils;
 Landroid/database/DefaultDatabaseErrorHandler;
 Landroid/database/IBulkCursor;
+Landroid/database/IContentObserver$Stub$Proxy;
 Landroid/database/IContentObserver$Stub;
 Landroid/database/IContentObserver;
 Landroid/database/MatrixCursor$RowBuilder;
@@ -25411,6 +25467,7 @@
 Landroid/database/sqlite/SQLiteConnectionPool-IA;
 Landroid/database/sqlite/SQLiteConnectionPool;
 Landroid/database/sqlite/SQLiteConstraintException;
+Landroid/database/sqlite/SQLiteCursor;
 Landroid/database/sqlite/SQLiteCursorDriver;
 Landroid/database/sqlite/SQLiteCustomFunction;
 Landroid/database/sqlite/SQLiteDatabase$$ExternalSyntheticLambda0;
@@ -25438,6 +25495,7 @@
 Landroid/database/sqlite/SQLiteFullException;
 Landroid/database/sqlite/SQLiteGlobal;
 Landroid/database/sqlite/SQLiteMisuseException;
+Landroid/database/sqlite/SQLiteOpenHelper$$ExternalSyntheticLambda0;
 Landroid/database/sqlite/SQLiteOpenHelper;
 Landroid/database/sqlite/SQLiteOutOfMemoryException;
 Landroid/database/sqlite/SQLiteProgram;
@@ -25510,6 +25568,7 @@
 Landroid/graphics/ColorSpace$Lab;
 Landroid/graphics/ColorSpace$Model;
 Landroid/graphics/ColorSpace$Named;
+Landroid/graphics/ColorSpace$OkLab;
 Landroid/graphics/ColorSpace$RenderIntent;
 Landroid/graphics/ColorSpace$Rgb$$ExternalSyntheticLambda0;
 Landroid/graphics/ColorSpace$Rgb$$ExternalSyntheticLambda1;
@@ -25916,6 +25975,7 @@
 Landroid/hardware/SystemSensorManager$InjectEventQueue;
 Landroid/hardware/SystemSensorManager$SensorEventQueue;
 Landroid/hardware/SystemSensorManager$TriggerEventQueue;
+Landroid/hardware/SystemSensorManager;
 Landroid/hardware/TriggerEvent;
 Landroid/hardware/TriggerEventListener;
 Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;
@@ -26193,6 +26253,7 @@
 Landroid/hardware/display/DisplayManager$$ExternalSyntheticLambda0;
 Landroid/hardware/display/DisplayManager$$ExternalSyntheticLambda1;
 Landroid/hardware/display/DisplayManager$$ExternalSyntheticLambda2;
+Landroid/hardware/display/DisplayManager$$ExternalSyntheticLambda3;
 Landroid/hardware/display/DisplayManager$DisplayListener;
 Landroid/hardware/display/DisplayManager$WeakDisplayCache;
 Landroid/hardware/display/DisplayManager-IA;
@@ -28250,8 +28311,13 @@
 Landroid/internal/aconfig/storage/AconfigStorageException;
 Landroid/internal/aconfig/storage/ByteBufferReader;
 Landroid/internal/aconfig/storage/FileType;
+Landroid/internal/aconfig/storage/FlagTable$Header;
+Landroid/internal/aconfig/storage/FlagTable;
+Landroid/internal/aconfig/storage/FlagValueList$Header;
+Landroid/internal/aconfig/storage/FlagValueList;
 Landroid/internal/aconfig/storage/PackageTable$Header;
 Landroid/internal/aconfig/storage/PackageTable;
+Landroid/internal/aconfig/storage/TableUtils$StorageFilesBundle;
 Landroid/internal/framework/protobuf/nano/InvalidProtocolBufferNanoException;
 Landroid/internal/framework/protobuf/nano/MessageNano;
 Landroid/internal/hidl/base/V1_0/DebugInfo;
@@ -28278,6 +28344,7 @@
 Landroid/internal/telephony/sysprop/TelephonyProperties$$ExternalSyntheticLambda8;
 Landroid/internal/telephony/sysprop/TelephonyProperties$$ExternalSyntheticLambda9;
 Landroid/internal/telephony/sysprop/TelephonyProperties;
+Landroid/location/CountryDetector;
 Landroid/location/Geofence$1;
 Landroid/location/Geofence;
 Landroid/location/IFusedGeofenceHardware$Stub$Proxy;
@@ -28286,11 +28353,16 @@
 Landroid/location/IGpsGeofenceHardware$Stub$Proxy;
 Landroid/location/IGpsGeofenceHardware$Stub;
 Landroid/location/IGpsGeofenceHardware;
+Landroid/location/ILocationManager$Stub$Proxy;
+Landroid/location/ILocationManager$Stub;
+Landroid/location/ILocationManager;
 Landroid/location/Location$$ExternalSyntheticLambda0;
 Landroid/location/Location$1;
 Landroid/location/Location$BearingDistanceCache;
 Landroid/location/Location-IA;
 Landroid/location/Location;
+Landroid/location/LocationManager$LocationEnabledCache;
+Landroid/location/LocationManager;
 Landroid/location/LocationTime$1;
 Landroid/location/LocationTime;
 Landroid/location/flags/FeatureFlags;
@@ -28322,8 +28394,10 @@
 Landroid/media/AudioGainConfig;
 Landroid/media/AudioHandle;
 Landroid/media/AudioManager$1;
+Landroid/media/AudioManager$2;
 Landroid/media/AudioManager$3;
 Landroid/media/AudioManager$4;
+Landroid/media/AudioManager$5;
 Landroid/media/AudioManager$AudioPlaybackCallback;
 Landroid/media/AudioManager$AudioPlaybackCallbackInfo;
 Landroid/media/AudioManager$AudioRecordingCallback;
@@ -28342,6 +28416,7 @@
 Landroid/media/AudioManager$SafeWaitObject;
 Landroid/media/AudioManager$ServiceEventHandlerDelegate$1;
 Landroid/media/AudioManager$ServiceEventHandlerDelegate;
+Landroid/media/AudioManager$VolumeCacheQuery;
 Landroid/media/AudioManager-IA;
 Landroid/media/AudioManager;
 Landroid/media/AudioManagerInternal$RingerModeDelegate;
@@ -28455,6 +28530,7 @@
 Landroid/media/IMediaRouter2;
 Landroid/media/IMediaRouter2Manager$Stub;
 Landroid/media/IMediaRouter2Manager;
+Landroid/media/IMediaRouterClient$Stub$Proxy;
 Landroid/media/IMediaRouterClient$Stub;
 Landroid/media/IMediaRouterClient;
 Landroid/media/IMediaRouterService$Stub$Proxy;
@@ -28507,7 +28583,9 @@
 Landroid/media/MediaCodec$CryptoInfo$Pattern;
 Landroid/media/MediaCodec$CryptoInfo;
 Landroid/media/MediaCodec$EventHandler;
+Landroid/media/MediaCodec$GlobalResourceInfo;
 Landroid/media/MediaCodec$IncompatibleWithBlockModelException;
+Landroid/media/MediaCodec$InstanceResourceInfo;
 Landroid/media/MediaCodec$InvalidBufferFlagsException;
 Landroid/media/MediaCodec$LinearBlock;
 Landroid/media/MediaCodec$OnFrameRenderedListener;
@@ -28857,6 +28935,7 @@
 Landroid/media/session/ISessionController$Stub$Proxy;
 Landroid/media/session/ISessionController$Stub;
 Landroid/media/session/ISessionController;
+Landroid/media/session/ISessionControllerCallback$Stub$Proxy;
 Landroid/media/session/ISessionControllerCallback$Stub;
 Landroid/media/session/ISessionControllerCallback;
 Landroid/media/session/ISessionManager$Stub$Proxy;
@@ -28985,6 +29064,8 @@
 Landroid/net/LocalSocket;
 Landroid/net/LocalSocketAddress$Namespace;
 Landroid/net/LocalSocketAddress;
+Landroid/net/LocalSocketImpl$SocketInputStream;
+Landroid/net/LocalSocketImpl$SocketOutputStream;
 Landroid/net/LocalSocketImpl;
 Landroid/net/MatchAllNetworkSpecifier$1;
 Landroid/net/MatchAllNetworkSpecifier;
@@ -29033,11 +29114,15 @@
 Landroid/net/Uri$AbstractHierarchicalUri;
 Landroid/net/Uri$AbstractPart;
 Landroid/net/Uri$Builder;
+Landroid/net/Uri$HierarchicalUri;
 Landroid/net/Uri$NotCachedHolder;
+Landroid/net/Uri$OpaqueUri;
 Landroid/net/Uri$Part$EmptyPart;
 Landroid/net/Uri$Part;
 Landroid/net/Uri$PathPart;
+Landroid/net/Uri$PathSegments;
 Landroid/net/Uri$PathSegmentsBuilder;
+Landroid/net/Uri$StringUri;
 Landroid/net/Uri-IA;
 Landroid/net/Uri;
 Landroid/net/UriCodec;
@@ -29287,7 +29372,6 @@
 Landroid/nfc/NfcOemExtension$$ExternalSyntheticLambda9;
 Landroid/nfc/NfcOemExtension$Callback;
 Landroid/nfc/NfcOemExtension$NfcOemExtensionCallback;
-Landroid/nfc/NfcOemExtension-IA;
 Landroid/nfc/NfcOemExtension;
 Landroid/nfc/NfcRoutingTableEntry;
 Landroid/nfc/NfcServiceManager$ServiceRegisterer;
@@ -29440,6 +29524,7 @@
 Landroid/os/BinderProxy$BinderProxyMapSizeException;
 Landroid/os/BinderProxy$NoImagePreloadHolder;
 Landroid/os/BinderProxy$ProxyMap;
+Landroid/os/BinderProxy;
 Landroid/os/BluetoothServiceManager$ServiceRegisterer;
 Landroid/os/BluetoothServiceManager;
 Landroid/os/BugreportManager;
@@ -29676,6 +29761,7 @@
 Landroid/os/LimitExceededException;
 Landroid/os/LocaleList$1;
 Landroid/os/LocaleList;
+Landroid/os/Looper$NoImagePreloadHolder;
 Landroid/os/Looper$Observer;
 Landroid/os/Looper;
 Landroid/os/MemoryFile;
@@ -29715,7 +29801,7 @@
 Landroid/os/PackageTagsList$1;
 Landroid/os/PackageTagsList;
 Landroid/os/Parcel$1;
-Landroid/os/Parcel$ClassLoaderProvider;
+Landroid/os/Parcel$2;
 Landroid/os/Parcel$LazyValue;
 Landroid/os/Parcel$ReadWriteHelper;
 Landroid/os/Parcel$SquashReadHelper;
@@ -29844,6 +29930,7 @@
 Landroid/os/StrictMode$2;
 Landroid/os/StrictMode$3;
 Landroid/os/StrictMode$4;
+Landroid/os/StrictMode$5;
 Landroid/os/StrictMode$6;
 Landroid/os/StrictMode$7;
 Landroid/os/StrictMode$8;
@@ -30646,6 +30733,7 @@
 Landroid/service/notification/NotificationListenerFilter$1;
 Landroid/service/notification/NotificationListenerFilter;
 Landroid/service/notification/NotificationListenerService$MyHandler;
+Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper;
 Landroid/service/notification/NotificationListenerService$Ranking;
 Landroid/service/notification/NotificationListenerService$RankingMap$1;
 Landroid/service/notification/NotificationListenerService$RankingMap;
@@ -30660,6 +30748,7 @@
 Landroid/service/notification/ScheduleCalendar;
 Landroid/service/notification/SnoozeCriterion$1;
 Landroid/service/notification/SnoozeCriterion;
+Landroid/service/notification/StatusBarNotification$$ExternalSyntheticLambda0;
 Landroid/service/notification/StatusBarNotification$1;
 Landroid/service/notification/StatusBarNotification;
 Landroid/service/notification/ZenDeviceEffects$1;
@@ -30839,6 +30928,7 @@
 Landroid/system/keystore2/KeyParameters;
 Landroid/system/keystore2/OperationChallenge$1;
 Landroid/system/keystore2/OperationChallenge;
+Landroid/system/suspend/internal/ISuspendControlServiceInternal$Stub$Proxy;
 Landroid/system/suspend/internal/ISuspendControlServiceInternal$Stub;
 Landroid/system/suspend/internal/ISuspendControlServiceInternal;
 Landroid/system/suspend/internal/WakeLockInfo$1;
@@ -31126,6 +31216,7 @@
 Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub$$ExternalSyntheticLambda62;
 Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub$$ExternalSyntheticLambda6;
 Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub$$ExternalSyntheticLambda9;
+Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;
 Landroid/telephony/PhoneStateListener;
 Landroid/telephony/PhysicalChannelConfig$1;
 Landroid/telephony/PhysicalChannelConfig$Builder;
@@ -31232,6 +31323,7 @@
 Landroid/telephony/TelephonyCallback$IPhoneStateListenerStub$$ExternalSyntheticLambda52;
 Landroid/telephony/TelephonyCallback$IPhoneStateListenerStub$$ExternalSyntheticLambda63;
 Landroid/telephony/TelephonyCallback$IPhoneStateListenerStub$$ExternalSyntheticLambda65;
+Landroid/telephony/TelephonyCallback$IPhoneStateListenerStub;
 Landroid/telephony/TelephonyCallback$ImsCallDisconnectCauseListener;
 Landroid/telephony/TelephonyCallback$LinkCapacityEstimateChangedListener;
 Landroid/telephony/TelephonyCallback$MediaQualityStatusChangedListener;
@@ -31293,6 +31385,7 @@
 Landroid/telephony/TelephonyRegistryManager$$ExternalSyntheticLambda1;
 Landroid/telephony/TelephonyRegistryManager$$ExternalSyntheticLambda2;
 Landroid/telephony/TelephonyRegistryManager$1$$ExternalSyntheticLambda0;
+Landroid/telephony/TelephonyRegistryManager$1;
 Landroid/telephony/TelephonyRegistryManager$2;
 Landroid/telephony/TelephonyRegistryManager$3;
 Landroid/telephony/TelephonyRegistryManager$CarrierPrivilegesCallbackWrapper$$ExternalSyntheticLambda0;
@@ -31674,6 +31767,7 @@
 Landroid/text/SpanWatcher;
 Landroid/text/Spannable$Factory;
 Landroid/text/Spannable;
+Landroid/text/SpannableString;
 Landroid/text/SpannableStringBuilder;
 Landroid/text/SpannableStringInternal;
 Landroid/text/Spanned;
@@ -31924,6 +32018,7 @@
 Landroid/util/AndroidException;
 Landroid/util/AndroidRuntimeException;
 Landroid/util/ArrayMap$1;
+Landroid/util/ArrayMap;
 Landroid/util/ArraySet$1;
 Landroid/util/ArraySet;
 Landroid/util/AtomicFile;
@@ -31961,6 +32056,7 @@
 Landroid/util/FloatProperty;
 Landroid/util/Half;
 Landroid/util/IconDrawableFactory;
+Landroid/util/IndentingPrintWriter;
 Landroid/util/IntArray;
 Landroid/util/IntProperty;
 Landroid/util/JsonReader$1;
@@ -31992,6 +32088,11 @@
 Landroid/util/LongSparseLongArray;
 Landroid/util/LruCache;
 Landroid/util/MalformedJsonException;
+Landroid/util/MapCollections$ArrayIterator;
+Landroid/util/MapCollections$EntrySet;
+Landroid/util/MapCollections$KeySet;
+Landroid/util/MapCollections$MapIterator;
+Landroid/util/MapCollections$ValuesCollection;
 Landroid/util/MapCollections;
 Landroid/util/MathUtils;
 Landroid/util/MemoryIntArray$1;
@@ -32021,6 +32122,7 @@
 Landroid/util/Rational;
 Landroid/util/RecurrenceRule$1;
 Landroid/util/RecurrenceRule$NonrecurringIterator;
+Landroid/util/RecurrenceRule$RecurringIterator;
 Landroid/util/RecurrenceRule;
 Landroid/util/ReflectiveProperty;
 Landroid/util/RotationUtils;
@@ -32038,6 +32140,7 @@
 Landroid/util/SparseLongArray;
 Landroid/util/SparseSetArray;
 Landroid/util/Spline$LinearSpline;
+Landroid/util/Spline$MonotoneCubicSpline;
 Landroid/util/Spline;
 Landroid/util/StateSet;
 Landroid/util/StringBuilderPrinter;
@@ -32220,6 +32323,7 @@
 Landroid/view/IDisplayFoldListener$Stub$Proxy;
 Landroid/view/IDisplayFoldListener$Stub;
 Landroid/view/IDisplayFoldListener;
+Landroid/view/IDisplayWindowInsetsController$Stub$Proxy;
 Landroid/view/IDisplayWindowInsetsController$Stub;
 Landroid/view/IDisplayWindowInsetsController;
 Landroid/view/IDisplayWindowListener$Stub$Proxy;
@@ -32265,6 +32369,7 @@
 Landroid/view/ISurfaceControlViewHostParent;
 Landroid/view/ISystemGestureExclusionListener$Stub;
 Landroid/view/ISystemGestureExclusionListener;
+Landroid/view/IWallpaperVisibilityListener$Stub$Proxy;
 Landroid/view/IWallpaperVisibilityListener$Stub;
 Landroid/view/IWallpaperVisibilityListener;
 Landroid/view/IWindow$Stub;
@@ -32658,7 +32763,6 @@
 Landroid/view/ViewRootImpl$$ExternalSyntheticLambda8;
 Landroid/view/ViewRootImpl$$ExternalSyntheticLambda9;
 Landroid/view/ViewRootImpl$10;
-Landroid/view/ViewRootImpl$11$$ExternalSyntheticLambda3;
 Landroid/view/ViewRootImpl$11;
 Landroid/view/ViewRootImpl$1;
 Landroid/view/ViewRootImpl$2;
@@ -32704,6 +32808,7 @@
 Landroid/view/ViewRootImpl$ViewPostImeInputStage;
 Landroid/view/ViewRootImpl$ViewPreImeInputStage;
 Landroid/view/ViewRootImpl$ViewRootHandler;
+Landroid/view/ViewRootImpl$W;
 Landroid/view/ViewRootImpl$WindowInputEventReceiver;
 Landroid/view/ViewRootImpl-IA;
 Landroid/view/ViewRootImpl;
@@ -32772,6 +32877,7 @@
 Landroid/view/WindowManagerGlobal$TrustedPresentationListener;
 Landroid/view/WindowManagerGlobal-IA;
 Landroid/view/WindowManagerGlobal;
+Landroid/view/WindowManagerImpl;
 Landroid/view/WindowManagerPolicyConstants$PointerEventListener;
 Landroid/view/WindowManagerPolicyConstants;
 Landroid/view/WindowMetrics;
@@ -32789,6 +32895,7 @@
 Landroid/view/accessibility/AccessibilityManager$$ExternalSyntheticLambda1;
 Landroid/view/accessibility/AccessibilityManager$$ExternalSyntheticLambda3;
 Landroid/view/accessibility/AccessibilityManager$1$$ExternalSyntheticLambda0;
+Landroid/view/accessibility/AccessibilityManager$1;
 Landroid/view/accessibility/AccessibilityManager$AccessibilityPolicy;
 Landroid/view/accessibility/AccessibilityManager$AccessibilityServicesStateChangeListener;
 Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;
@@ -32832,6 +32939,7 @@
 Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;
 Landroid/view/accessibility/IAccessibilityManager$Stub;
 Landroid/view/accessibility/IAccessibilityManager;
+Landroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;
 Landroid/view/accessibility/IAccessibilityManagerClient$Stub;
 Landroid/view/accessibility/IAccessibilityManagerClient;
 Landroid/view/accessibility/WeakSparseArray$WeakReferenceWithId;
@@ -33013,6 +33121,7 @@
 Landroid/view/inputmethod/IInputMethodSessionInvoker$$ExternalSyntheticLambda8;
 Landroid/view/inputmethod/IInputMethodSessionInvoker;
 Landroid/view/inputmethod/ImeTracker$1$$ExternalSyntheticLambda0;
+Landroid/view/inputmethod/ImeTracker$1;
 Landroid/view/inputmethod/ImeTracker$Debug$$ExternalSyntheticLambda0;
 Landroid/view/inputmethod/ImeTracker$Debug$$ExternalSyntheticLambda1;
 Landroid/view/inputmethod/ImeTracker$Debug$$ExternalSyntheticLambda2;
@@ -33559,10 +33668,12 @@
 Landroid/widget/RemoteViews$$ExternalSyntheticLambda5;
 Landroid/widget/RemoteViews$$ExternalSyntheticLambda6;
 Landroid/widget/RemoteViews$$ExternalSyntheticLambda7;
+Landroid/widget/RemoteViews$$ExternalSyntheticLambda8;
 Landroid/widget/RemoteViews$1;
 Landroid/widget/RemoteViews$2;
 Landroid/widget/RemoteViews$Action;
 Landroid/widget/RemoteViews$ActionException;
+Landroid/widget/RemoteViews$ApplicationInfoCache$$ExternalSyntheticLambda0;
 Landroid/widget/RemoteViews$ApplicationInfoCache;
 Landroid/widget/RemoteViews$AsyncApplyTask;
 Landroid/widget/RemoteViews$AttributeReflectionAction;
@@ -33783,6 +33894,12 @@
 Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda30;
 Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda31;
 Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda32;
+Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda33;
+Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda34;
+Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda35;
+Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda36;
+Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda37;
+Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda38;
 Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda3;
 Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda4;
 Landroid/window/DesktopModeFlags$$ExternalSyntheticLambda5;
@@ -33817,6 +33934,7 @@
 Landroid/window/ISurfaceSyncGroup;
 Landroid/window/ISurfaceSyncGroupCompletedListener$Stub;
 Landroid/window/ISurfaceSyncGroupCompletedListener;
+Landroid/window/ITaskFragmentOrganizer$Stub$Proxy;
 Landroid/window/ITaskFragmentOrganizer$Stub;
 Landroid/window/ITaskFragmentOrganizer;
 Landroid/window/ITaskFragmentOrganizerController$Stub;
@@ -33925,6 +34043,7 @@
 Landroid/window/WindowContainerTransaction;
 Landroid/window/WindowContext;
 Landroid/window/WindowContextController;
+Landroid/window/WindowContextInfo$1;
 Landroid/window/WindowContextInfo;
 Landroid/window/WindowInfosListener$DisplayInfo;
 Landroid/window/WindowInfosListener;
@@ -34155,6 +34274,7 @@
 Lcom/android/icu/charset/CharsetDecoderICU;
 Lcom/android/icu/charset/CharsetEncoderICU;
 Lcom/android/icu/charset/CharsetFactory;
+Lcom/android/icu/charset/CharsetICU;
 Lcom/android/icu/charset/NativeConverter;
 Lcom/android/icu/text/CompatibleDecimalFormatFactory;
 Lcom/android/icu/text/DateSorterBridge;
@@ -34667,6 +34787,7 @@
 Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;
 Lcom/android/internal/appwidget/IAppWidgetService$Stub;
 Lcom/android/internal/appwidget/IAppWidgetService;
+Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;
 Lcom/android/internal/backup/IBackupTransport$Stub;
 Lcom/android/internal/backup/IBackupTransport;
 Lcom/android/internal/colorextraction/ColorExtractor$GradientColors;
@@ -34797,6 +34918,7 @@
 Lcom/android/internal/hidden_from_bootclasspath/android/service/notification/FeatureFlags;
 Lcom/android/internal/hidden_from_bootclasspath/android/service/notification/FeatureFlagsImpl;
 Lcom/android/internal/hidden_from_bootclasspath/android/service/notification/Flags;
+Lcom/android/internal/hidden_from_bootclasspath/android/view/contentcapture/flags/Flags;
 Lcom/android/internal/hidden_from_bootclasspath/com/android/libcore/FeatureFlags;
 Lcom/android/internal/hidden_from_bootclasspath/com/android/libcore/FeatureFlagsImpl;
 Lcom/android/internal/hidden_from_bootclasspath/com/android/libcore/Flags;
@@ -34851,6 +34973,7 @@
 Lcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub$Proxy;
 Lcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub;
 Lcom/android/internal/inputmethod/IInputMethodPrivilegedOperations;
+Lcom/android/internal/inputmethod/IInputMethodSession$Stub$Proxy;
 Lcom/android/internal/inputmethod/IInputMethodSession$Stub;
 Lcom/android/internal/inputmethod/IInputMethodSession;
 Lcom/android/internal/inputmethod/IRemoteAccessibilityInputConnection$Stub;
@@ -34862,6 +34985,7 @@
 Lcom/android/internal/inputmethod/ImeTracingClientImpl;
 Lcom/android/internal/inputmethod/ImeTracingPerfettoImpl$$ExternalSyntheticLambda3;
 Lcom/android/internal/inputmethod/ImeTracingPerfettoImpl$$ExternalSyntheticLambda4;
+Lcom/android/internal/inputmethod/ImeTracingPerfettoImpl;
 Lcom/android/internal/inputmethod/ImeTracingServerImpl;
 Lcom/android/internal/inputmethod/InputBindResult$1;
 Lcom/android/internal/inputmethod/InputBindResult-IA;
@@ -34991,6 +35115,7 @@
 Lcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;
 Lcom/android/internal/os/CachedDeviceState;
 Lcom/android/internal/os/ClassLoaderFactory;
+Lcom/android/internal/os/Clock$1;
 Lcom/android/internal/os/Clock;
 Lcom/android/internal/os/DebugStore$DebugStoreNative;
 Lcom/android/internal/os/DebugStore$DebugStoreNativeImpl;
@@ -35066,6 +35191,8 @@
 Lcom/android/internal/os/ProcessCpuTracker$FilterStats;
 Lcom/android/internal/os/ProcessCpuTracker$Stats;
 Lcom/android/internal/os/ProcessCpuTracker;
+Lcom/android/internal/os/ProcfsMemoryUtil$MemorySnapshot;
+Lcom/android/internal/os/ProcfsMemoryUtil;
 Lcom/android/internal/os/RailStats;
 Lcom/android/internal/os/RoSystemProperties;
 Lcom/android/internal/os/RpmStats$PowerStateElement;
@@ -35328,6 +35455,7 @@
 Lcom/android/internal/telephony/CellNetworkScanResult$1;
 Lcom/android/internal/telephony/CellNetworkScanResult;
 Lcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider$1;
+Lcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;
 Lcom/android/internal/telephony/CellularNetworkService;
 Lcom/android/internal/telephony/ClientWakelockAccountant;
 Lcom/android/internal/telephony/ClientWakelockTracker;
@@ -35415,6 +35543,7 @@
 Lcom/android/internal/telephony/INumberVerificationCallback$Stub$Proxy;
 Lcom/android/internal/telephony/INumberVerificationCallback$Stub;
 Lcom/android/internal/telephony/INumberVerificationCallback;
+Lcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub$Proxy;
 Lcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub;
 Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;
 Lcom/android/internal/telephony/IOns$Stub$Proxy;
@@ -35520,6 +35649,7 @@
 Lcom/android/internal/telephony/NetworkFactoryLegacyImpl$NetworkRequestInfo;
 Lcom/android/internal/telephony/NetworkFactoryLegacyImpl;
 Lcom/android/internal/telephony/NetworkFactoryShim;
+Lcom/android/internal/telephony/NetworkRegistrationManager$NetworkRegStateCallback;
 Lcom/android/internal/telephony/NetworkRegistrationManager$NetworkServiceConnection;
 Lcom/android/internal/telephony/NetworkRegistrationManager$RegManagerDeathRecipient;
 Lcom/android/internal/telephony/NetworkRegistrationManager;
@@ -35605,6 +35735,7 @@
 Lcom/android/internal/telephony/PhoneSubInfoController$$ExternalSyntheticLambda9;
 Lcom/android/internal/telephony/PhoneSubInfoController$CallPhoneMethodHelper;
 Lcom/android/internal/telephony/PhoneSubInfoController$PermissionCheckHelper;
+Lcom/android/internal/telephony/PhoneSubInfoController;
 Lcom/android/internal/telephony/ProxyController$1;
 Lcom/android/internal/telephony/ProxyController;
 Lcom/android/internal/telephony/RIL$RadioProxyDeathRecipient;
@@ -36177,6 +36308,7 @@
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$MmTelFeatureListener;
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$PhoneStateListener;
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$SharedPreferenceProxy;
+Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$VtDataUsageProvider;
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;
 Lcom/android/internal/telephony/imsphone/ImsPhoneCommandInterface;
 Lcom/android/internal/telephony/imsphone/ImsPhoneConnection$$ExternalSyntheticLambda0;
@@ -36713,6 +36845,7 @@
 Lcom/android/internal/util/FastMath;
 Lcom/android/internal/util/FastPrintWriter$DummyWriter;
 Lcom/android/internal/util/FastPrintWriter-IA;
+Lcom/android/internal/util/FastPrintWriter;
 Lcom/android/internal/util/FastXmlSerializer;
 Lcom/android/internal/util/FileRotator$FileInfo;
 Lcom/android/internal/util/FileRotator$Reader;
@@ -36733,6 +36866,7 @@
 Lcom/android/internal/util/HexDump;
 Lcom/android/internal/util/IState;
 Lcom/android/internal/util/ImageUtils;
+Lcom/android/internal/util/IndentingPrintWriter;
 Lcom/android/internal/util/IntPair;
 Lcom/android/internal/util/JournaledFile;
 Lcom/android/internal/util/LatencyTracker$$ExternalSyntheticLambda0;
@@ -36804,6 +36938,7 @@
 Lcom/android/internal/util/XmlPullParserWrapper;
 Lcom/android/internal/util/XmlSerializerWrapper;
 Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser;
+Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;
 Lcom/android/internal/util/XmlUtils$ReadMapCallback;
 Lcom/android/internal/util/XmlUtils$WriteMapCallback;
 Lcom/android/internal/util/XmlUtils;
@@ -36849,6 +36984,7 @@
 Lcom/android/internal/util/function/pooled/PooledLambdaImpl$LambdaType$ReturnType;
 Lcom/android/internal/util/function/pooled/PooledLambdaImpl$LambdaType;
 Lcom/android/internal/util/function/pooled/PooledLambdaImpl$Pool;
+Lcom/android/internal/util/function/pooled/PooledLambdaImpl;
 Lcom/android/internal/util/function/pooled/PooledPredicate;
 Lcom/android/internal/util/function/pooled/PooledRunnable;
 Lcom/android/internal/util/function/pooled/PooledSupplier$OfDouble;
@@ -37014,6 +37150,10 @@
 Lcom/android/nfc/x/android/nfc/FeatureFlags;
 Lcom/android/nfc/x/android/nfc/FeatureFlagsImpl;
 Lcom/android/nfc/x/android/nfc/Flags;
+Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;
+Lcom/android/org/conscrypt/OpenSSLRSAPublicKey;
+Lcom/android/org/conscrypt/OpenSSLX509Certificate;
+Lcom/android/org/kxml2/io/KXmlParser;
 Lcom/android/os/coregraphics/HwuiStatsLog;
 Lcom/android/phone/ecc/nano/CodedInputByteBufferNano;
 Lcom/android/phone/ecc/nano/CodedOutputByteBufferNano$OutOfSpaceException;
@@ -37592,6 +37732,80 @@
 Lgov/nist/javax/sip/stack/UDPMessageChannel$PingBackTimerTask;
 Lgov/nist/javax/sip/stack/UDPMessageChannel;
 Lgov/nist/javax/sip/stack/UDPMessageProcessor;
+Ljava/io/ObjectOutputStream$PutFieldImpl;
+Ljava/lang/ThreadLocal$SuppliedThreadLocal;
+Ljava/nio/ByteBufferAsFloatBuffer;
+Ljava/nio/ByteBufferAsIntBuffer;
+Ljava/nio/ByteBufferAsLongBuffer;
+Ljava/nio/DirectByteBuffer;
+Ljava/nio/HeapByteBuffer;
+Ljava/security/MessageDigest$Delegate;
+Ljava/time/Clock$SystemClock;
+Ljava/util/ArrayDeque$DeqIterator;
+Ljava/util/ArrayList$Itr;
+Ljava/util/Arrays$ArrayItr;
+Ljava/util/Arrays$ArrayList;
+Ljava/util/Collections$3;
+Ljava/util/Collections$EmptyIterator;
+Ljava/util/Collections$EmptyList;
+Ljava/util/Collections$EmptySet;
+Ljava/util/Collections$SingletonMap;
+Ljava/util/Collections$UnmodifiableCollection$1;
+Ljava/util/Collections$UnmodifiableCollection;
+Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$1;
+Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry;
+Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet;
+Ljava/util/Collections$UnmodifiableMap;
+Ljava/util/Collections$UnmodifiableRandomAccessList;
+Ljava/util/Collections$UnmodifiableSet;
+Ljava/util/Collections$UnmodifiableSortedSet;
+Ljava/util/HashMap$EntryIterator;
+Ljava/util/HashMap$EntrySet;
+Ljava/util/HashMap$KeyIterator;
+Ljava/util/HashMap$KeySet;
+Ljava/util/HashMap$Node;
+Ljava/util/HashMap$TreeNode;
+Ljava/util/HashMap$ValueIterator;
+Ljava/util/HashMap$Values;
+Ljava/util/ImmutableCollections$List12;
+Ljava/util/ImmutableCollections$ListItr;
+Ljava/util/ImmutableCollections$ListN;
+Ljava/util/ImmutableCollections$MapN;
+Ljava/util/ImmutableCollections$Set12;
+Ljava/util/ImmutableCollections$SetN;
+Ljava/util/LinkedHashMap$Entry;
+Ljava/util/LinkedHashMap$LinkedEntryIterator;
+Ljava/util/LinkedHashMap$LinkedEntrySet;
+Ljava/util/LinkedHashMap$LinkedKeyIterator;
+Ljava/util/LinkedHashMap$LinkedKeySet;
+Ljava/util/LinkedHashMap$LinkedValueIterator;
+Ljava/util/LinkedHashMap$LinkedValues;
+Ljava/util/LinkedList$ListItr;
+Ljava/util/TreeMap$EntryIterator;
+Ljava/util/TreeMap$EntrySet;
+Ljava/util/TreeMap$KeyIterator;
+Ljava/util/TreeMap$TreeMapEntry;
+Ljava/util/concurrent/ConcurrentHashMap$EntryIterator;
+Ljava/util/concurrent/ConcurrentHashMap$EntrySetView;
+Ljava/util/concurrent/ConcurrentHashMap$MapEntry;
+Ljava/util/concurrent/ConcurrentHashMap$ValueIterator;
+Ljava/util/concurrent/ConcurrentHashMap$ValuesView;
+Ljava/util/concurrent/ConcurrentLinkedQueue$Itr;
+Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator;
+Ljava/util/concurrent/Executors$AutoShutdownDelegatedExecutorService;
+Ljava/util/concurrent/Executors$DelegatedScheduledExecutorService;
+Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
+Ljava/util/function/DoubleUnaryOperator$$ExternalSyntheticLambda2;
+Ljava/util/stream/DistinctOps$1;
+Ljava/util/stream/IntPipeline$10;
+Ljava/util/stream/IntPipeline$1;
+Ljava/util/stream/IntPipeline$4;
+Ljava/util/stream/IntPipeline$Head;
+Ljava/util/stream/ReferencePipeline$2;
+Ljava/util/stream/ReferencePipeline$3;
+Ljava/util/stream/ReferencePipeline$4;
+Ljava/util/stream/ReferencePipeline$Head;
+Ljava/util/stream/SortedOps$OfRef;
 Ljavax/microedition/khronos/egl/EGL10;
 Ljavax/microedition/khronos/egl/EGL11;
 Ljavax/microedition/khronos/egl/EGL;
@@ -37706,6 +37920,8 @@
 Ljavax/sip/message/MessageFactory;
 Ljavax/sip/message/Request;
 Ljavax/sip/message/Response;
+Llibcore/util/NativeAllocationRegistry$CleanerRunner;
+Llibcore/util/ZoneInfo;
 Lorg/apache/http/conn/ConnectTimeoutException;
 Lorg/apache/http/conn/scheme/HostNameResolver;
 Lorg/apache/http/conn/scheme/LayeredSocketFactory;
@@ -37721,6 +37937,7 @@
 Lorg/apache/http/params/CoreConnectionPNames;
 Lorg/apache/http/params/HttpConnectionParams;
 Lorg/apache/http/params/HttpParams;
+Lorg/ccil/cowan/tagsoup/AttributesImpl;
 Lorg/ccil/cowan/tagsoup/AutoDetector;
 Lorg/ccil/cowan/tagsoup/CommandLine;
 Lorg/ccil/cowan/tagsoup/Element;
@@ -37742,6 +37959,7 @@
 Lorg/ccil/cowan/tagsoup/jaxp/SAX1ParserAdapter;
 Lorg/ccil/cowan/tagsoup/jaxp/SAXFactoryImpl;
 Lorg/ccil/cowan/tagsoup/jaxp/SAXParserImpl;
+Lsun/nio/ch/FileChannelImpl;
 [Landroid/accounts/Account;
 [Landroid/accounts/AuthenticatorDescription;
 [Landroid/animation/Animator;
diff --git a/boot/preloaded-classes b/boot/preloaded-classes
index 47abe6b..f87828e 100644
--- a/boot/preloaded-classes
+++ b/boot/preloaded-classes
@@ -59,6 +59,7 @@
 android.accounts.AccountManager$AmsTask$Response
 android.accounts.AccountManager$AmsTask
 android.accounts.AccountManager$BaseFutureTask$1
+android.accounts.AccountManager$BaseFutureTask$Response
 android.accounts.AccountManager$BaseFutureTask
 android.accounts.AccountManager$Future2Task$1
 android.accounts.AccountManager$Future2Task
@@ -73,6 +74,7 @@
 android.accounts.AuthenticatorDescription-IA
 android.accounts.AuthenticatorDescription
 android.accounts.AuthenticatorException
+android.accounts.IAccountAuthenticator$Stub$Proxy
 android.accounts.IAccountAuthenticator$Stub
 android.accounts.IAccountAuthenticator
 android.accounts.IAccountAuthenticatorResponse$Stub$Proxy
@@ -81,6 +83,7 @@
 android.accounts.IAccountManager$Stub$Proxy
 android.accounts.IAccountManager$Stub
 android.accounts.IAccountManager
+android.accounts.IAccountManagerResponse$Stub$Proxy
 android.accounts.IAccountManagerResponse$Stub
 android.accounts.IAccountManagerResponse
 android.accounts.NetworkErrorException
@@ -93,6 +96,8 @@
 android.aconfig.nano.Aconfig$parsed_flag
 android.aconfig.nano.Aconfig$parsed_flags
 android.aconfig.nano.Aconfig$tracepoint
+android.adpf.FeatureFlags
+android.adpf.FeatureFlagsImpl
 android.adpf.Flags
 android.animation.AnimationHandler$$ExternalSyntheticLambda0
 android.animation.AnimationHandler$1
@@ -220,6 +225,7 @@
 android.app.ActivityManager$$ExternalSyntheticLambda1
 android.app.ActivityManager$$ExternalSyntheticLambda2
 android.app.ActivityManager$1
+android.app.ActivityManager$2
 android.app.ActivityManager$3
 android.app.ActivityManager$4
 android.app.ActivityManager$AppTask
@@ -270,11 +276,14 @@
 android.app.ActivityThread$3
 android.app.ActivityThread$4
 android.app.ActivityThread$5
+android.app.ActivityThread$6
 android.app.ActivityThread$ActivityClientRecord$1
 android.app.ActivityThread$ActivityClientRecord
+android.app.ActivityThread$AndroidOs
 android.app.ActivityThread$AppBindData
 android.app.ActivityThread$ApplicationThread$$ExternalSyntheticLambda2
 android.app.ActivityThread$ApplicationThread$1
+android.app.ActivityThread$ApplicationThread
 android.app.ActivityThread$BindServiceData
 android.app.ActivityThread$ContextCleanupInfo
 android.app.ActivityThread$CreateBackupAgentData
@@ -304,6 +313,7 @@
 android.app.ActivityTransitionState
 android.app.AlarmManager$AlarmClockInfo$1
 android.app.AlarmManager$AlarmClockInfo
+android.app.AlarmManager$ListenerWrapper
 android.app.AlarmManager$OnAlarmListener
 android.app.AlarmManager
 android.app.AlertDialog$Builder
@@ -324,6 +334,7 @@
 android.app.AppOpsManager$$ExternalSyntheticLambda8
 android.app.AppOpsManager$1
 android.app.AppOpsManager$2
+android.app.AppOpsManager$3
 android.app.AppOpsManager$4
 android.app.AppOpsManager$AppOpsCollector
 android.app.AppOpsManager$AttributedHistoricalOps$1
@@ -367,6 +378,7 @@
 android.app.AppOpsManagerInternal
 android.app.Application$ActivityLifecycleCallbacks
 android.app.Application$OnProvideAssistDataListener
+android.app.Application
 android.app.ApplicationErrorReport$1
 android.app.ApplicationErrorReport$AnrInfo
 android.app.ApplicationErrorReport$BatteryInfo
@@ -392,6 +404,7 @@
 android.app.ApplicationPackageManager$MoveCallbackDelegate
 android.app.ApplicationPackageManager$ResourceName
 android.app.ApplicationPackageManager-IA
+android.app.ApplicationPackageManager
 android.app.AsyncNotedAppOp$1
 android.app.AsyncNotedAppOp
 android.app.AutomaticZenRule$1
@@ -420,6 +433,7 @@
 android.app.ContentProviderHolder
 android.app.ContextImpl$1
 android.app.ContextImpl$ApplicationContentResolver
+android.app.ContextImpl
 android.app.DexLoadReporter
 android.app.Dialog$$ExternalSyntheticLambda0
 android.app.Dialog$$ExternalSyntheticLambda1
@@ -505,6 +519,7 @@
 android.app.IApplicationStartInfoCompleteListener$Stub$Proxy
 android.app.IApplicationStartInfoCompleteListener$Stub
 android.app.IApplicationStartInfoCompleteListener
+android.app.IApplicationThread$Stub$Proxy
 android.app.IApplicationThread$Stub
 android.app.IApplicationThread
 android.app.IAssistDataReceiver$Stub$Proxy
@@ -519,6 +534,7 @@
 android.app.IGameManagerService$Stub$Proxy
 android.app.IGameManagerService$Stub
 android.app.IGameManagerService
+android.app.IInstantAppResolver$Stub$Proxy
 android.app.IInstantAppResolver$Stub
 android.app.IInstantAppResolver
 android.app.IInstrumentationWatcher$Stub$Proxy
@@ -547,11 +563,13 @@
 android.app.ISearchManager$Stub$Proxy
 android.app.ISearchManager$Stub
 android.app.ISearchManager
+android.app.IServiceConnection$Stub$Proxy
 android.app.IServiceConnection$Stub
 android.app.IServiceConnection
 android.app.IStopUserCallback$Stub$Proxy
 android.app.IStopUserCallback$Stub
 android.app.IStopUserCallback
+android.app.ITaskStackListener$Stub$Proxy
 android.app.ITaskStackListener$Stub
 android.app.ITaskStackListener
 android.app.ITransientNotification$Stub$Proxy
@@ -571,6 +589,7 @@
 android.app.IUidFrozenStateChangedCallback$Stub$Proxy
 android.app.IUidFrozenStateChangedCallback$Stub
 android.app.IUidFrozenStateChangedCallback
+android.app.IUidObserver$Stub$Proxy
 android.app.IUidObserver$Stub
 android.app.IUidObserver
 android.app.IUnsafeIntentStrictModeCallback$Stub
@@ -599,6 +618,7 @@
 android.app.IntentReceiverLeaked
 android.app.IntentService$ServiceHandler
 android.app.IntentService
+android.app.JobSchedulerImpl
 android.app.KeyguardManager$1
 android.app.KeyguardManager$2
 android.app.KeyguardManager$KeyguardDismissCallback
@@ -606,9 +626,11 @@
 android.app.ListActivity
 android.app.LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0
 android.app.LoadedApk$ReceiverDispatcher$Args
+android.app.LoadedApk$ReceiverDispatcher$InnerReceiver
 android.app.LoadedApk$ReceiverDispatcher
 android.app.LoadedApk$ServiceDispatcher$ConnectionInfo
 android.app.LoadedApk$ServiceDispatcher$DeathMonitor
+android.app.LoadedApk$ServiceDispatcher$InnerConnection
 android.app.LoadedApk$ServiceDispatcher$RunConnection
 android.app.LoadedApk$ServiceDispatcher
 android.app.LoadedApk$SplitDependencyLoaderImpl
@@ -665,6 +687,7 @@
 android.app.NotificationManager$NotificationKey
 android.app.NotificationManager$Policy$1
 android.app.NotificationManager$Policy
+android.app.NotificationManager$RateLimiter
 android.app.NotificationManager
 android.app.OnActivityPausedListener
 android.app.PackageInstallObserver$1
@@ -675,6 +698,7 @@
 android.app.PendingIntent$1
 android.app.PendingIntent$CancelListener
 android.app.PendingIntent$CanceledException
+android.app.PendingIntent$FinishedDispatcher
 android.app.PendingIntent$OnFinished
 android.app.PendingIntent$OnMarshaledListener
 android.app.PendingIntent
@@ -760,6 +784,7 @@
 android.app.SharedPreferencesImpl$MemoryCommitResult
 android.app.SharedPreferencesImpl$SharedPreferencesThreadFactory
 android.app.SharedPreferencesImpl-IA
+android.app.SharedPreferencesImpl
 android.app.StackTrace
 android.app.StatusBarManager
 android.app.SyncNotedAppOp$1
@@ -1161,6 +1186,7 @@
 android.app.job.JobService$1
 android.app.job.JobService
 android.app.job.JobServiceEngine$JobHandler
+android.app.job.JobServiceEngine$JobInterface
 android.app.job.JobServiceEngine
 android.app.job.JobWorkItem$1
 android.app.job.JobWorkItem
@@ -1241,7 +1267,10 @@
 android.app.servertransaction.TopResumedActivityChangeItem
 android.app.servertransaction.TransactionExecutor
 android.app.servertransaction.TransactionExecutorHelper
+android.app.servertransaction.WindowStateInsetsControlChangeItem$1
+android.app.servertransaction.WindowStateInsetsControlChangeItem
 android.app.servertransaction.WindowStateTransactionItem$TransactionListener
+android.app.servertransaction.WindowStateTransactionItem
 android.app.slice.ISliceManager$Stub$Proxy
 android.app.slice.ISliceManager$Stub
 android.app.slice.ISliceManager
@@ -1463,6 +1492,7 @@
 android.content.ComponentName$WithComponentName
 android.content.ComponentName
 android.content.ContentCaptureOptions$1
+android.content.ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda0
 android.content.ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda1
 android.content.ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda2
 android.content.ContentCaptureOptions$ContentProtectionOptions
@@ -1484,10 +1514,12 @@
 android.content.ContentProviderOperation$Builder
 android.content.ContentProviderOperation-IA
 android.content.ContentProviderOperation
+android.content.ContentProviderProxy
 android.content.ContentProviderResult$1
 android.content.ContentProviderResult
 android.content.ContentResolver$1
 android.content.ContentResolver$2
+android.content.ContentResolver$CursorWrapperInner
 android.content.ContentResolver$OpenResourceIdResult
 android.content.ContentResolver$ParcelFileDescriptorInner
 android.content.ContentResolver$ResultListener
@@ -1518,6 +1550,7 @@
 android.content.IContentService$Stub$Proxy
 android.content.IContentService$Stub
 android.content.IContentService
+android.content.IIntentReceiver$Stub$Proxy
 android.content.IIntentReceiver$Stub
 android.content.IIntentReceiver
 android.content.IIntentSender$Stub$Proxy
@@ -1691,6 +1724,7 @@
 android.content.pm.ILauncherApps$Stub$Proxy
 android.content.pm.ILauncherApps$Stub
 android.content.pm.ILauncherApps
+android.content.pm.IOnAppsChangedListener$Stub$Proxy
 android.content.pm.IOnAppsChangedListener$Stub
 android.content.pm.IOnAppsChangedListener
 android.content.pm.IOnChecksumsReadyListener$Stub$Proxy
@@ -2036,6 +2070,7 @@
 android.content.res.ThemedResourceCache
 android.content.res.TypedArray
 android.content.res.Validator
+android.content.res.XmlBlock$Parser
 android.content.res.XmlBlock
 android.content.res.XmlResourceParser
 android.content.res.loader.AssetsProvider
@@ -2069,6 +2104,7 @@
 android.database.ContentObservable
 android.database.ContentObserver$$ExternalSyntheticLambda0
 android.database.ContentObserver$$ExternalSyntheticLambda1
+android.database.ContentObserver$Transport
 android.database.ContentObserver
 android.database.CrossProcessCursor
 android.database.CrossProcessCursorWrapper
@@ -2087,6 +2123,7 @@
 android.database.DatabaseUtils
 android.database.DefaultDatabaseErrorHandler
 android.database.IBulkCursor
+android.database.IContentObserver$Stub$Proxy
 android.database.IContentObserver$Stub
 android.database.IContentObserver
 android.database.MatrixCursor$RowBuilder
@@ -2123,6 +2160,7 @@
 android.database.sqlite.SQLiteConnectionPool-IA
 android.database.sqlite.SQLiteConnectionPool
 android.database.sqlite.SQLiteConstraintException
+android.database.sqlite.SQLiteCursor
 android.database.sqlite.SQLiteCursorDriver
 android.database.sqlite.SQLiteCustomFunction
 android.database.sqlite.SQLiteDatabase$$ExternalSyntheticLambda0
@@ -2149,6 +2187,7 @@
 android.database.sqlite.SQLiteFullException
 android.database.sqlite.SQLiteGlobal
 android.database.sqlite.SQLiteMisuseException
+android.database.sqlite.SQLiteOpenHelper$$ExternalSyntheticLambda0
 android.database.sqlite.SQLiteOpenHelper
 android.database.sqlite.SQLiteOutOfMemoryException
 android.database.sqlite.SQLiteProgram
@@ -2221,12 +2260,16 @@
 android.graphics.ColorSpace$Lab
 android.graphics.ColorSpace$Model
 android.graphics.ColorSpace$Named
+android.graphics.ColorSpace$OkLab
 android.graphics.ColorSpace$RenderIntent
 android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda0
 android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda1
 android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda2
 android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda3
+android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda4
 android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda5
+android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda6
+android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda9
 android.graphics.ColorSpace$Rgb$Native
 android.graphics.ColorSpace$Rgb$NoImagePreloadHolder
 android.graphics.ColorSpace$Rgb$TransferParameters
@@ -2532,6 +2575,7 @@
 android.graphics.fonts.Font
 android.graphics.fonts.FontCustomizationParser$Result
 android.graphics.fonts.FontCustomizationParser
+android.graphics.fonts.FontFamily$Builder$NoImagePreloadHolder
 android.graphics.fonts.FontFamily$Builder
 android.graphics.fonts.FontFamily
 android.graphics.fonts.FontFileUtil
@@ -2622,6 +2666,7 @@
 android.hardware.SystemSensorManager$InjectEventQueue
 android.hardware.SystemSensorManager$SensorEventQueue
 android.hardware.SystemSensorManager$TriggerEventQueue
+android.hardware.SystemSensorManager
 android.hardware.TriggerEvent
 android.hardware.TriggerEventListener
 android.hardware.biometrics.BiometricAuthenticator$AuthenticationCallback
@@ -2906,6 +2951,7 @@
 android.hardware.display.DisplayManagerGlobal$1
 android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate$$ExternalSyntheticLambda0
 android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate
+android.hardware.display.DisplayManagerGlobal$DisplayManagerCallback
 android.hardware.display.DisplayManagerGlobal
 android.hardware.display.DisplayManagerInternal$DisplayPowerCallbacks
 android.hardware.display.DisplayManagerInternal$DisplayPowerRequest
@@ -2922,6 +2968,7 @@
 android.hardware.display.IDisplayManager$Stub$Proxy
 android.hardware.display.IDisplayManager$Stub
 android.hardware.display.IDisplayManager
+android.hardware.display.IDisplayManagerCallback$Stub$Proxy
 android.hardware.display.IDisplayManagerCallback$Stub
 android.hardware.display.IDisplayManagerCallback
 android.hardware.display.IVirtualDisplayCallback$Stub$Proxy
@@ -2996,6 +3043,7 @@
 android.hardware.hdmi.HdmiRecordSources$RecordSource
 android.hardware.input.HostUsiVersion$1
 android.hardware.input.HostUsiVersion
+android.hardware.input.IInputDevicesChangedListener$Stub$Proxy
 android.hardware.input.IInputDevicesChangedListener$Stub
 android.hardware.input.IInputDevicesChangedListener
 android.hardware.input.IInputManager$Stub$Proxy
@@ -3011,6 +3059,7 @@
 android.hardware.input.InputManager$InputDeviceListener
 android.hardware.input.InputManager
 android.hardware.input.InputManagerGlobal$InputDeviceListenerDelegate
+android.hardware.input.InputManagerGlobal$InputDevicesChangedListener
 android.hardware.input.InputManagerGlobal$OnTabletModeChangedListenerDelegate
 android.hardware.input.InputManagerGlobal-IA
 android.hardware.input.InputManagerGlobal
@@ -4604,6 +4653,7 @@
 android.icu.text.ReplaceableString
 android.icu.text.RuleBasedBreakIterator$BreakCache
 android.icu.text.RuleBasedBreakIterator$DictionaryCache
+android.icu.text.RuleBasedBreakIterator
 android.icu.text.RuleBasedCollator$CollationBuffer
 android.icu.text.RuleBasedCollator$CollationKeyByteSink
 android.icu.text.RuleBasedCollator$FCDUTF16NFDIterator
@@ -4951,8 +5001,13 @@
 android.internal.aconfig.storage.AconfigStorageException
 android.internal.aconfig.storage.ByteBufferReader
 android.internal.aconfig.storage.FileType
+android.internal.aconfig.storage.FlagTable$Header
+android.internal.aconfig.storage.FlagTable
+android.internal.aconfig.storage.FlagValueList$Header
+android.internal.aconfig.storage.FlagValueList
 android.internal.aconfig.storage.PackageTable$Header
 android.internal.aconfig.storage.PackageTable
+android.internal.aconfig.storage.TableUtils$StorageFilesBundle
 android.internal.framework.protobuf.nano.InvalidProtocolBufferNanoException
 android.internal.framework.protobuf.nano.MessageNano
 android.internal.hidl.base.V1_0.DebugInfo
@@ -4979,6 +5034,7 @@
 android.internal.telephony.sysprop.TelephonyProperties$$ExternalSyntheticLambda8
 android.internal.telephony.sysprop.TelephonyProperties$$ExternalSyntheticLambda9
 android.internal.telephony.sysprop.TelephonyProperties
+android.location.CountryDetector
 android.location.Geofence$1
 android.location.Geofence
 android.location.IFusedGeofenceHardware$Stub$Proxy
@@ -4987,11 +5043,14 @@
 android.location.IGpsGeofenceHardware$Stub$Proxy
 android.location.IGpsGeofenceHardware$Stub
 android.location.IGpsGeofenceHardware
+android.location.ILocationManager$Stub
+android.location.ILocationManager
 android.location.Location$$ExternalSyntheticLambda0
 android.location.Location$1
 android.location.Location$BearingDistanceCache
 android.location.Location-IA
 android.location.Location
+android.location.LocationManager
 android.location.LocationTime$1
 android.location.LocationTime
 android.location.flags.FeatureFlags
@@ -5023,6 +5082,7 @@
 android.media.AudioGainConfig
 android.media.AudioHandle
 android.media.AudioManager$1
+android.media.AudioManager$2
 android.media.AudioManager$3
 android.media.AudioManager$4
 android.media.AudioManager$AudioPlaybackCallback
@@ -5156,6 +5216,7 @@
 android.media.IMediaRouter2
 android.media.IMediaRouter2Manager$Stub
 android.media.IMediaRouter2Manager
+android.media.IMediaRouterClient$Stub$Proxy
 android.media.IMediaRouterClient$Stub
 android.media.IMediaRouterClient
 android.media.IMediaRouterService$Stub$Proxy
@@ -5318,6 +5379,7 @@
 android.media.MediaRouter$Static$Client$$ExternalSyntheticLambda0
 android.media.MediaRouter$Static$Client$$ExternalSyntheticLambda1
 android.media.MediaRouter$Static$Client$1
+android.media.MediaRouter$Static$Client
 android.media.MediaRouter$Static
 android.media.MediaRouter$UserRouteInfo$SessionVolumeProvider
 android.media.MediaRouter$UserRouteInfo
@@ -5526,6 +5588,7 @@
 android.media.quality.MediaQualityManager
 android.media.quality.PictureProfileHandle$1
 android.media.quality.PictureProfileHandle
+android.media.session.IActiveSessionsListener$Stub$Proxy
 android.media.session.IActiveSessionsListener$Stub
 android.media.session.IActiveSessionsListener
 android.media.session.IOnMediaKeyEventDispatchedListener$Stub$Proxy
@@ -5552,6 +5615,7 @@
 android.media.session.ISessionController$Stub$Proxy
 android.media.session.ISessionController$Stub
 android.media.session.ISessionController
+android.media.session.ISessionControllerCallback$Stub$Proxy
 android.media.session.ISessionControllerCallback$Stub
 android.media.session.ISessionControllerCallback
 android.media.session.ISessionManager$Stub$Proxy
@@ -5588,6 +5652,7 @@
 android.media.session.MediaSessionManager$RemoteUserInfo
 android.media.session.MediaSessionManager$Session2TokensChangedWrapper
 android.media.session.MediaSessionManager$SessionsChangedWrapper$1$$ExternalSyntheticLambda0
+android.media.session.MediaSessionManager$SessionsChangedWrapper$1
 android.media.session.MediaSessionManager$SessionsChangedWrapper
 android.media.session.MediaSessionManager-IA
 android.media.session.MediaSessionManager
@@ -5679,6 +5744,8 @@
 android.net.LocalSocket
 android.net.LocalSocketAddress$Namespace
 android.net.LocalSocketAddress
+android.net.LocalSocketImpl$SocketInputStream
+android.net.LocalSocketImpl$SocketOutputStream
 android.net.LocalSocketImpl
 android.net.MatchAllNetworkSpecifier$1
 android.net.MatchAllNetworkSpecifier
@@ -5727,11 +5794,15 @@
 android.net.Uri$AbstractHierarchicalUri
 android.net.Uri$AbstractPart
 android.net.Uri$Builder
+android.net.Uri$HierarchicalUri
 android.net.Uri$NotCachedHolder
+android.net.Uri$OpaqueUri
 android.net.Uri$Part$EmptyPart
 android.net.Uri$Part
 android.net.Uri$PathPart
+android.net.Uri$PathSegments
 android.net.Uri$PathSegmentsBuilder
+android.net.Uri$StringUri
 android.net.Uri-IA
 android.net.Uri
 android.net.UriCodec
@@ -5981,7 +6052,6 @@
 android.nfc.NfcOemExtension$$ExternalSyntheticLambda9
 android.nfc.NfcOemExtension$Callback
 android.nfc.NfcOemExtension$NfcOemExtensionCallback
-android.nfc.NfcOemExtension-IA
 android.nfc.NfcOemExtension
 android.nfc.NfcRoutingTableEntry
 android.nfc.NfcServiceManager$ServiceRegisterer
@@ -6134,6 +6204,7 @@
 android.os.BinderProxy$BinderProxyMapSizeException
 android.os.BinderProxy$NoImagePreloadHolder
 android.os.BinderProxy$ProxyMap
+android.os.BinderProxy
 android.os.BluetoothServiceManager$ServiceRegisterer
 android.os.BluetoothServiceManager
 android.os.BugreportManager
@@ -6208,6 +6279,7 @@
 android.os.Handler$MessengerImpl
 android.os.Handler-IA
 android.os.Handler
+android.os.HandlerExecutor
 android.os.HandlerThread
 android.os.HardwarePropertiesManager
 android.os.HidlMemory
@@ -6292,6 +6364,7 @@
 android.os.IRecoverySystemProgressListener$Stub$Proxy
 android.os.IRecoverySystemProgressListener$Stub
 android.os.IRecoverySystemProgressListener
+android.os.IRemoteCallback$Stub$Proxy
 android.os.IRemoteCallback$Stub
 android.os.IRemoteCallback
 android.os.ISchedulingPolicyService$Stub
@@ -6365,6 +6438,7 @@
 android.os.LimitExceededException
 android.os.LocaleList$1
 android.os.LocaleList
+android.os.Looper$NoImagePreloadHolder
 android.os.Looper$Observer
 android.os.Looper
 android.os.MemoryFile
@@ -6403,7 +6477,7 @@
 android.os.PackageTagsList$1
 android.os.PackageTagsList
 android.os.Parcel$1
-android.os.Parcel$ClassLoaderProvider
+android.os.Parcel$2
 android.os.Parcel$LazyValue
 android.os.Parcel$ReadWriteHelper
 android.os.Parcel$SquashReadHelper
@@ -6412,6 +6486,7 @@
 android.os.ParcelDuration
 android.os.ParcelFileDescriptor$1
 android.os.ParcelFileDescriptor$2
+android.os.ParcelFileDescriptor$AutoCloseInputStream
 android.os.ParcelFileDescriptor$AutoCloseOutputStream
 android.os.ParcelFileDescriptor$OnCloseListener
 android.os.ParcelFileDescriptor$Status
@@ -6531,12 +6606,14 @@
 android.os.StrictMode$2
 android.os.StrictMode$3
 android.os.StrictMode$4
+android.os.StrictMode$5
 android.os.StrictMode$6
 android.os.StrictMode$7
 android.os.StrictMode$8
 android.os.StrictMode$9
 android.os.StrictMode$AndroidBlockGuardPolicy$$ExternalSyntheticLambda0
 android.os.StrictMode$AndroidBlockGuardPolicy$$ExternalSyntheticLambda1
+android.os.StrictMode$AndroidBlockGuardPolicy
 android.os.StrictMode$AndroidCloseGuardReporter
 android.os.StrictMode$InstanceTracker
 android.os.StrictMode$OnThreadViolationListener
@@ -7009,6 +7086,7 @@
 android.security.KeyStoreSecurityLevel
 android.security.NetworkSecurityPolicy
 android.security.Scrypt
+android.security.advancedprotection.AdvancedProtectionManager
 android.security.attestationverification.AttestationVerificationManager
 android.security.authenticationpolicy.AuthenticationPolicyManager
 android.security.intrusiondetection.IntrusionDetectionManager
@@ -7312,6 +7390,7 @@
 android.service.notification.Condition$1
 android.service.notification.Condition
 android.service.notification.ConditionProviderService$H
+android.service.notification.ConditionProviderService$Provider
 android.service.notification.ConditionProviderService-IA
 android.service.notification.ConditionProviderService
 android.service.notification.IConditionProvider$Stub
@@ -7327,6 +7406,7 @@
 android.service.notification.NotificationListenerFilter$1
 android.service.notification.NotificationListenerFilter
 android.service.notification.NotificationListenerService$MyHandler
+android.service.notification.NotificationListenerService$NotificationListenerWrapper
 android.service.notification.NotificationListenerService$Ranking
 android.service.notification.NotificationListenerService$RankingMap$1
 android.service.notification.NotificationListenerService$RankingMap
@@ -7341,6 +7421,7 @@
 android.service.notification.ScheduleCalendar
 android.service.notification.SnoozeCriterion$1
 android.service.notification.SnoozeCriterion
+android.service.notification.StatusBarNotification$$ExternalSyntheticLambda0
 android.service.notification.StatusBarNotification$1
 android.service.notification.StatusBarNotification
 android.service.notification.ZenDeviceEffects$1
@@ -7382,6 +7463,7 @@
 android.service.storage.IExternalStorageService$Stub$Proxy
 android.service.storage.IExternalStorageService$Stub
 android.service.storage.IExternalStorageService
+android.service.textclassifier.ITextClassifierCallback$Stub$Proxy
 android.service.textclassifier.ITextClassifierCallback$Stub
 android.service.textclassifier.ITextClassifierCallback
 android.service.textclassifier.ITextClassifierService$Stub$Proxy
@@ -7516,6 +7598,7 @@
 android.system.keystore2.KeyParameters
 android.system.keystore2.OperationChallenge$1
 android.system.keystore2.OperationChallenge
+android.system.suspend.internal.ISuspendControlServiceInternal$Stub$Proxy
 android.system.suspend.internal.ISuspendControlServiceInternal$Stub
 android.system.suspend.internal.ISuspendControlServiceInternal
 android.system.suspend.internal.WakeLockInfo$1
@@ -7658,6 +7741,7 @@
 android.telephony.CellIdentityGsm$1
 android.telephony.CellIdentityGsm
 android.telephony.CellIdentityLte$1
+android.telephony.CellIdentityLte
 android.telephony.CellIdentityNr$1
 android.telephony.CellIdentityNr
 android.telephony.CellIdentityTdscdma$1
@@ -7685,6 +7769,7 @@
 android.telephony.CellSignalStrengthCdma
 android.telephony.CellSignalStrengthGsm$1
 android.telephony.CellSignalStrengthGsm-IA
+android.telephony.CellSignalStrengthGsm
 android.telephony.CellSignalStrengthLte$1
 android.telephony.CellSignalStrengthLte-IA
 android.telephony.CellSignalStrengthLte
@@ -7696,6 +7781,7 @@
 android.telephony.CellSignalStrengthTdscdma
 android.telephony.CellSignalStrengthWcdma$1
 android.telephony.CellSignalStrengthWcdma-IA
+android.telephony.CellSignalStrengthWcdma
 android.telephony.CellularIdentifierDisclosure
 android.telephony.ClientRequestStats$1
 android.telephony.ClientRequestStats
@@ -7800,6 +7886,7 @@
 android.telephony.PhoneStateListener$IPhoneStateListenerStub$$ExternalSyntheticLambda62
 android.telephony.PhoneStateListener$IPhoneStateListenerStub$$ExternalSyntheticLambda6
 android.telephony.PhoneStateListener$IPhoneStateListenerStub$$ExternalSyntheticLambda9
+android.telephony.PhoneStateListener$IPhoneStateListenerStub
 android.telephony.PhoneStateListener
 android.telephony.PhysicalChannelConfig$1
 android.telephony.PhysicalChannelConfig$Builder
@@ -7906,6 +7993,7 @@
 android.telephony.TelephonyCallback$IPhoneStateListenerStub$$ExternalSyntheticLambda52
 android.telephony.TelephonyCallback$IPhoneStateListenerStub$$ExternalSyntheticLambda63
 android.telephony.TelephonyCallback$IPhoneStateListenerStub$$ExternalSyntheticLambda65
+android.telephony.TelephonyCallback$IPhoneStateListenerStub
 android.telephony.TelephonyCallback$ImsCallDisconnectCauseListener
 android.telephony.TelephonyCallback$LinkCapacityEstimateChangedListener
 android.telephony.TelephonyCallback$MediaQualityStatusChangedListener
@@ -7967,7 +8055,9 @@
 android.telephony.TelephonyRegistryManager$$ExternalSyntheticLambda1
 android.telephony.TelephonyRegistryManager$$ExternalSyntheticLambda2
 android.telephony.TelephonyRegistryManager$1$$ExternalSyntheticLambda0
+android.telephony.TelephonyRegistryManager$1
 android.telephony.TelephonyRegistryManager$2
+android.telephony.TelephonyRegistryManager$3
 android.telephony.TelephonyRegistryManager$CarrierPrivilegesCallbackWrapper$$ExternalSyntheticLambda0
 android.telephony.TelephonyRegistryManager$CarrierPrivilegesCallbackWrapper$$ExternalSyntheticLambda1
 android.telephony.TelephonyRegistryManager$CarrierPrivilegesCallbackWrapper$$ExternalSyntheticLambda2
@@ -8347,6 +8437,7 @@
 android.text.SpanWatcher
 android.text.Spannable$Factory
 android.text.Spannable
+android.text.SpannableString
 android.text.SpannableStringBuilder
 android.text.SpannableStringInternal
 android.text.Spanned
@@ -8508,9 +8599,11 @@
 android.tracing.FeatureFlags
 android.tracing.FeatureFlagsImpl
 android.tracing.Flags
+android.tracing.inputmethod.InputMethodDataSource
 android.tracing.perfetto.CreateIncrementalStateArgs
 android.tracing.perfetto.CreateTlsStateArgs
 android.tracing.perfetto.DataSource
+android.tracing.perfetto.DataSourceInstance
 android.tracing.perfetto.DataSourceParams$Builder
 android.tracing.perfetto.DataSourceParams
 android.tracing.perfetto.FlushCallbackArguments
@@ -8595,6 +8688,7 @@
 android.util.AndroidException
 android.util.AndroidRuntimeException
 android.util.ArrayMap$1
+android.util.ArrayMap
 android.util.ArraySet$1
 android.util.ArraySet
 android.util.AtomicFile
@@ -8632,6 +8726,7 @@
 android.util.FloatProperty
 android.util.Half
 android.util.IconDrawableFactory
+android.util.IndentingPrintWriter
 android.util.IntArray
 android.util.IntProperty
 android.util.JsonReader$1
@@ -8663,6 +8758,11 @@
 android.util.LongSparseLongArray
 android.util.LruCache
 android.util.MalformedJsonException
+android.util.MapCollections$ArrayIterator
+android.util.MapCollections$EntrySet
+android.util.MapCollections$KeySet
+android.util.MapCollections$MapIterator
+android.util.MapCollections$ValuesCollection
 android.util.MapCollections
 android.util.MathUtils
 android.util.MemoryIntArray$1
@@ -8692,6 +8792,7 @@
 android.util.Rational
 android.util.RecurrenceRule$1
 android.util.RecurrenceRule$NonrecurringIterator
+android.util.RecurrenceRule$RecurringIterator
 android.util.RecurrenceRule
 android.util.ReflectiveProperty
 android.util.RotationUtils
@@ -8709,6 +8810,7 @@
 android.util.SparseLongArray
 android.util.SparseSetArray
 android.util.Spline$LinearSpline
+android.util.Spline$MonotoneCubicSpline
 android.util.Spline
 android.util.StateSet
 android.util.StringBuilderPrinter
@@ -8890,8 +8992,10 @@
 android.view.IDisplayFoldListener$Stub$Proxy
 android.view.IDisplayFoldListener$Stub
 android.view.IDisplayFoldListener
+android.view.IDisplayWindowInsetsController$Stub$Proxy
 android.view.IDisplayWindowInsetsController$Stub
 android.view.IDisplayWindowInsetsController
+android.view.IDisplayWindowListener$Stub$Proxy
 android.view.IDisplayWindowListener$Stub
 android.view.IDisplayWindowListener
 android.view.IDockedStackListener$Stub$Proxy
@@ -8934,6 +9038,7 @@
 android.view.ISurfaceControlViewHostParent
 android.view.ISystemGestureExclusionListener$Stub
 android.view.ISystemGestureExclusionListener
+android.view.IWallpaperVisibilityListener$Stub$Proxy
 android.view.IWallpaperVisibilityListener$Stub
 android.view.IWallpaperVisibilityListener
 android.view.IWindow$Stub
@@ -9132,7 +9237,9 @@
 android.view.SurfaceControl$RefreshRateRange
 android.view.SurfaceControl$RefreshRateRanges
 android.view.SurfaceControl$StaticDisplayInfo
+android.view.SurfaceControl$Transaction$$ExternalSyntheticLambda0
 android.view.SurfaceControl$Transaction$$ExternalSyntheticLambda1
+android.view.SurfaceControl$Transaction$$ExternalSyntheticLambda3
 android.view.SurfaceControl$Transaction$1
 android.view.SurfaceControl$Transaction$2
 android.view.SurfaceControl$Transaction
@@ -9250,6 +9357,7 @@
 android.view.View$ScrollabilityCache
 android.view.View$SendAccessibilityEventThrottle
 android.view.View$SendViewScrolledAccessibilityEvent
+android.view.View$SensitiveAutofillHintsHelper
 android.view.View$TintInfo
 android.view.View$TooltipInfo
 android.view.View$TransformationInfo
@@ -9314,6 +9422,7 @@
 android.view.ViewRootImpl$$ExternalSyntheticLambda20
 android.view.ViewRootImpl$$ExternalSyntheticLambda21
 android.view.ViewRootImpl$$ExternalSyntheticLambda22
+android.view.ViewRootImpl$$ExternalSyntheticLambda23
 android.view.ViewRootImpl$$ExternalSyntheticLambda2
 android.view.ViewRootImpl$$ExternalSyntheticLambda3
 android.view.ViewRootImpl$$ExternalSyntheticLambda4
@@ -9368,6 +9477,7 @@
 android.view.ViewRootImpl$ViewPostImeInputStage
 android.view.ViewRootImpl$ViewPreImeInputStage
 android.view.ViewRootImpl$ViewRootHandler
+android.view.ViewRootImpl$W
 android.view.ViewRootImpl$WindowInputEventReceiver
 android.view.ViewRootImpl-IA
 android.view.ViewRootImpl
@@ -9436,6 +9546,7 @@
 android.view.WindowManagerGlobal$TrustedPresentationListener
 android.view.WindowManagerGlobal-IA
 android.view.WindowManagerGlobal
+android.view.WindowManagerImpl
 android.view.WindowManagerPolicyConstants$PointerEventListener
 android.view.WindowManagerPolicyConstants
 android.view.WindowMetrics
@@ -9453,6 +9564,7 @@
 android.view.accessibility.AccessibilityManager$$ExternalSyntheticLambda1
 android.view.accessibility.AccessibilityManager$$ExternalSyntheticLambda3
 android.view.accessibility.AccessibilityManager$1$$ExternalSyntheticLambda0
+android.view.accessibility.AccessibilityManager$1
 android.view.accessibility.AccessibilityManager$AccessibilityPolicy
 android.view.accessibility.AccessibilityManager$AccessibilityServicesStateChangeListener
 android.view.accessibility.AccessibilityManager$AccessibilityStateChangeListener
@@ -9496,6 +9608,7 @@
 android.view.accessibility.IAccessibilityManager$Stub$Proxy
 android.view.accessibility.IAccessibilityManager$Stub
 android.view.accessibility.IAccessibilityManager
+android.view.accessibility.IAccessibilityManagerClient$Stub$Proxy
 android.view.accessibility.IAccessibilityManagerClient$Stub
 android.view.accessibility.IAccessibilityManagerClient
 android.view.accessibility.WeakSparseArray$WeakReferenceWithId
@@ -9677,6 +9790,7 @@
 android.view.inputmethod.IInputMethodSessionInvoker$$ExternalSyntheticLambda8
 android.view.inputmethod.IInputMethodSessionInvoker
 android.view.inputmethod.ImeTracker$1$$ExternalSyntheticLambda0
+android.view.inputmethod.ImeTracker$1
 android.view.inputmethod.ImeTracker$Debug$$ExternalSyntheticLambda0
 android.view.inputmethod.ImeTracker$Debug$$ExternalSyntheticLambda1
 android.view.inputmethod.ImeTracker$Debug$$ExternalSyntheticLambda2
@@ -10226,6 +10340,7 @@
 android.widget.RemoteViews$2
 android.widget.RemoteViews$Action
 android.widget.RemoteViews$ActionException
+android.widget.RemoteViews$ApplicationInfoCache$$ExternalSyntheticLambda0
 android.widget.RemoteViews$ApplicationInfoCache
 android.widget.RemoteViews$AsyncApplyTask
 android.widget.RemoteViews$AttributeReflectionAction
@@ -10413,6 +10528,7 @@
 android.window.BackProgressAnimator$1
 android.window.BackProgressAnimator$ProgressCallback
 android.window.BackProgressAnimator
+android.window.BackTouchTracker$TouchTrackerState
 android.window.BackTouchTracker
 android.window.ClientWindowFrames$1
 android.window.ClientWindowFrames-IA
@@ -10479,6 +10595,7 @@
 android.window.ISurfaceSyncGroup
 android.window.ISurfaceSyncGroupCompletedListener$Stub
 android.window.ISurfaceSyncGroupCompletedListener
+android.window.ITaskFragmentOrganizer$Stub$Proxy
 android.window.ITaskFragmentOrganizer$Stub
 android.window.ITaskFragmentOrganizer
 android.window.ITaskFragmentOrganizerController$Stub
@@ -10816,6 +10933,7 @@
 com.android.icu.charset.CharsetDecoderICU
 com.android.icu.charset.CharsetEncoderICU
 com.android.icu.charset.CharsetFactory
+com.android.icu.charset.CharsetICU
 com.android.icu.charset.NativeConverter
 com.android.icu.text.CompatibleDecimalFormatFactory
 com.android.icu.text.DateSorterBridge
@@ -11241,6 +11359,7 @@
 com.android.internal.app.AlertController$RecycleListView
 com.android.internal.app.AlertController
 com.android.internal.app.AssistUtils
+com.android.internal.app.IAppOpsActiveCallback$Stub$Proxy
 com.android.internal.app.IAppOpsActiveCallback$Stub
 com.android.internal.app.IAppOpsActiveCallback
 com.android.internal.app.IAppOpsAsyncNotedCallback$Stub
@@ -11327,6 +11446,7 @@
 com.android.internal.appwidget.IAppWidgetService$Stub$Proxy
 com.android.internal.appwidget.IAppWidgetService$Stub
 com.android.internal.appwidget.IAppWidgetService
+com.android.internal.backup.IBackupTransport$Stub$Proxy
 com.android.internal.backup.IBackupTransport$Stub
 com.android.internal.backup.IBackupTransport
 com.android.internal.colorextraction.ColorExtractor$GradientColors
@@ -11511,6 +11631,7 @@
 com.android.internal.inputmethod.IInputMethodPrivilegedOperations$Stub$Proxy
 com.android.internal.inputmethod.IInputMethodPrivilegedOperations$Stub
 com.android.internal.inputmethod.IInputMethodPrivilegedOperations
+com.android.internal.inputmethod.IInputMethodSession$Stub$Proxy
 com.android.internal.inputmethod.IInputMethodSession$Stub
 com.android.internal.inputmethod.IInputMethodSession
 com.android.internal.inputmethod.IRemoteAccessibilityInputConnection$Stub
@@ -11520,6 +11641,9 @@
 com.android.internal.inputmethod.IRemoteInputConnection
 com.android.internal.inputmethod.ImeTracing
 com.android.internal.inputmethod.ImeTracingClientImpl
+com.android.internal.inputmethod.ImeTracingPerfettoImpl$$ExternalSyntheticLambda3
+com.android.internal.inputmethod.ImeTracingPerfettoImpl$$ExternalSyntheticLambda4
+com.android.internal.inputmethod.ImeTracingPerfettoImpl
 com.android.internal.inputmethod.ImeTracingServerImpl
 com.android.internal.inputmethod.InputBindResult$1
 com.android.internal.inputmethod.InputBindResult-IA
@@ -11647,6 +11771,7 @@
 com.android.internal.os.CachedDeviceState$TimeInStateStopwatch
 com.android.internal.os.CachedDeviceState
 com.android.internal.os.ClassLoaderFactory
+com.android.internal.os.Clock$1
 com.android.internal.os.Clock
 com.android.internal.os.DebugStore$DebugStoreNative
 com.android.internal.os.DebugStore$DebugStoreNativeImpl
@@ -11722,6 +11847,8 @@
 com.android.internal.os.ProcessCpuTracker$FilterStats
 com.android.internal.os.ProcessCpuTracker$Stats
 com.android.internal.os.ProcessCpuTracker
+com.android.internal.os.ProcfsMemoryUtil$MemorySnapshot
+com.android.internal.os.ProcfsMemoryUtil
 com.android.internal.os.RailStats
 com.android.internal.os.RoSystemProperties
 com.android.internal.os.RpmStats$PowerStateElement
@@ -11834,8 +11961,14 @@
 com.android.internal.protolog.PerfettoProtoLogImpl
 com.android.internal.protolog.ProtoLog
 com.android.internal.protolog.ProtoLogCacheUpdater
+com.android.internal.protolog.ProtoLogDataSource$$ExternalSyntheticLambda0
+com.android.internal.protolog.ProtoLogDataSource$$ExternalSyntheticLambda1
+com.android.internal.protolog.ProtoLogDataSource$$ExternalSyntheticLambda2
+com.android.internal.protolog.ProtoLogDataSource$GroupConfig
 com.android.internal.protolog.ProtoLogDataSource$Instance$TracingInstanceStartCallback
 com.android.internal.protolog.ProtoLogDataSource$Instance$TracingInstanceStopCallback
+com.android.internal.protolog.ProtoLogDataSource$Instance
+com.android.internal.protolog.ProtoLogDataSource$ProtoLogConfig
 com.android.internal.protolog.ProtoLogDataSource
 com.android.internal.protolog.ProtoLogGroup
 com.android.internal.protolog.ProtoLogImpl
@@ -11978,6 +12111,7 @@
 com.android.internal.telephony.CellNetworkScanResult$1
 com.android.internal.telephony.CellNetworkScanResult
 com.android.internal.telephony.CellularNetworkService$CellularNetworkServiceProvider$1
+com.android.internal.telephony.CellularNetworkService$CellularNetworkServiceProvider
 com.android.internal.telephony.CellularNetworkService
 com.android.internal.telephony.ClientWakelockAccountant
 com.android.internal.telephony.ClientWakelockTracker
@@ -12065,6 +12199,7 @@
 com.android.internal.telephony.INumberVerificationCallback$Stub$Proxy
 com.android.internal.telephony.INumberVerificationCallback$Stub
 com.android.internal.telephony.INumberVerificationCallback
+com.android.internal.telephony.IOnSubscriptionsChangedListener$Stub$Proxy
 com.android.internal.telephony.IOnSubscriptionsChangedListener$Stub
 com.android.internal.telephony.IOnSubscriptionsChangedListener
 com.android.internal.telephony.IOns$Stub$Proxy
@@ -12170,6 +12305,7 @@
 com.android.internal.telephony.NetworkFactoryLegacyImpl$NetworkRequestInfo
 com.android.internal.telephony.NetworkFactoryLegacyImpl
 com.android.internal.telephony.NetworkFactoryShim
+com.android.internal.telephony.NetworkRegistrationManager$NetworkRegStateCallback
 com.android.internal.telephony.NetworkRegistrationManager$NetworkServiceConnection
 com.android.internal.telephony.NetworkRegistrationManager$RegManagerDeathRecipient
 com.android.internal.telephony.NetworkRegistrationManager
@@ -12255,6 +12391,7 @@
 com.android.internal.telephony.PhoneSubInfoController$$ExternalSyntheticLambda9
 com.android.internal.telephony.PhoneSubInfoController$CallPhoneMethodHelper
 com.android.internal.telephony.PhoneSubInfoController$PermissionCheckHelper
+com.android.internal.telephony.PhoneSubInfoController
 com.android.internal.telephony.ProxyController$1
 com.android.internal.telephony.ProxyController
 com.android.internal.telephony.RIL$RadioProxyDeathRecipient
@@ -12827,6 +12964,7 @@
 com.android.internal.telephony.imsphone.ImsPhoneCallTracker$MmTelFeatureListener
 com.android.internal.telephony.imsphone.ImsPhoneCallTracker$PhoneStateListener
 com.android.internal.telephony.imsphone.ImsPhoneCallTracker$SharedPreferenceProxy
+com.android.internal.telephony.imsphone.ImsPhoneCallTracker$VtDataUsageProvider
 com.android.internal.telephony.imsphone.ImsPhoneCallTracker
 com.android.internal.telephony.imsphone.ImsPhoneCommandInterface
 com.android.internal.telephony.imsphone.ImsPhoneConnection$$ExternalSyntheticLambda0
@@ -13363,6 +13501,7 @@
 com.android.internal.util.FastMath
 com.android.internal.util.FastPrintWriter$DummyWriter
 com.android.internal.util.FastPrintWriter-IA
+com.android.internal.util.FastPrintWriter
 com.android.internal.util.FastXmlSerializer
 com.android.internal.util.FileRotator$FileInfo
 com.android.internal.util.FileRotator$Reader
@@ -13383,6 +13522,7 @@
 com.android.internal.util.HexDump
 com.android.internal.util.IState
 com.android.internal.util.ImageUtils
+com.android.internal.util.IndentingPrintWriter
 com.android.internal.util.IntPair
 com.android.internal.util.JournaledFile
 com.android.internal.util.LatencyTracker$$ExternalSyntheticLambda0
@@ -13452,6 +13592,7 @@
 com.android.internal.util.XmlPullParserWrapper
 com.android.internal.util.XmlSerializerWrapper
 com.android.internal.util.XmlUtils$ForcedTypedXmlPullParser
+com.android.internal.util.XmlUtils$ForcedTypedXmlSerializer
 com.android.internal.util.XmlUtils$ReadMapCallback
 com.android.internal.util.XmlUtils$WriteMapCallback
 com.android.internal.util.XmlUtils
@@ -13497,6 +13638,7 @@
 com.android.internal.util.function.pooled.PooledLambdaImpl$LambdaType$ReturnType
 com.android.internal.util.function.pooled.PooledLambdaImpl$LambdaType
 com.android.internal.util.function.pooled.PooledLambdaImpl$Pool
+com.android.internal.util.function.pooled.PooledLambdaImpl
 com.android.internal.util.function.pooled.PooledPredicate
 com.android.internal.util.function.pooled.PooledRunnable
 com.android.internal.util.function.pooled.PooledSupplier$OfDouble
@@ -13662,6 +13804,11 @@
 com.android.nfc.x.android.nfc.FeatureFlags
 com.android.nfc.x.android.nfc.FeatureFlagsImpl
 com.android.nfc.x.android.nfc.Flags
+com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.BCDSAPublicKey
+com.android.org.conscrypt.OpenSSLRSAPublicKey
+com.android.org.conscrypt.OpenSSLX509Certificate
+com.android.org.kxml2.io.KXmlParser
+com.android.os.coregraphics.HwuiStatsLog
 com.android.phone.ecc.nano.CodedInputByteBufferNano
 com.android.phone.ecc.nano.CodedOutputByteBufferNano$OutOfSpaceException
 com.android.phone.ecc.nano.CodedOutputByteBufferNano
@@ -14238,6 +14385,75 @@
 gov.nist.javax.sip.stack.UDPMessageChannel$PingBackTimerTask
 gov.nist.javax.sip.stack.UDPMessageChannel
 gov.nist.javax.sip.stack.UDPMessageProcessor
+java.lang.ThreadLocal$SuppliedThreadLocal
+java.nio.ByteBufferAsFloatBuffer
+java.nio.ByteBufferAsIntBuffer
+java.nio.ByteBufferAsLongBuffer
+java.nio.DirectByteBuffer
+java.nio.HeapByteBuffer
+java.security.MessageDigest$Delegate
+java.time.Clock$SystemClock
+java.util.ArrayDeque$DeqIterator
+java.util.ArrayList$Itr
+java.util.Arrays$ArrayItr
+java.util.Arrays$ArrayList
+java.util.Collections$3
+java.util.Collections$EmptyIterator
+java.util.Collections$EmptyList
+java.util.Collections$EmptySet
+java.util.Collections$SingletonMap
+java.util.Collections$UnmodifiableCollection$1
+java.util.Collections$UnmodifiableCollection
+java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$1
+java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry
+java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet
+java.util.Collections$UnmodifiableMap
+java.util.Collections$UnmodifiableRandomAccessList
+java.util.Collections$UnmodifiableSet
+java.util.Collections$UnmodifiableSortedSet
+java.util.HashMap$EntryIterator
+java.util.HashMap$EntrySet
+java.util.HashMap$KeyIterator
+java.util.HashMap$KeySet
+java.util.HashMap$Node
+java.util.HashMap$TreeNode
+java.util.HashMap$ValueIterator
+java.util.HashMap$Values
+java.util.ImmutableCollections$List12
+java.util.ImmutableCollections$ListItr
+java.util.ImmutableCollections$ListN
+java.util.ImmutableCollections$MapN
+java.util.ImmutableCollections$Set12
+java.util.ImmutableCollections$SetN
+java.util.LinkedHashMap$LinkedKeyIterator
+java.util.LinkedHashMap$LinkedKeySet
+java.util.LinkedHashMap$LinkedValueIterator
+java.util.LinkedHashMap$LinkedValues
+java.util.LinkedList$ListItr
+java.util.TreeMap$EntryIterator
+java.util.TreeMap$EntrySet
+java.util.TreeMap$KeyIterator
+java.util.TreeMap$TreeMapEntry
+java.util.concurrent.ConcurrentHashMap$EntryIterator
+java.util.concurrent.ConcurrentHashMap$EntrySetView
+java.util.concurrent.ConcurrentHashMap$MapEntry
+java.util.concurrent.ConcurrentHashMap$ValueIterator
+java.util.concurrent.ConcurrentHashMap$ValuesView
+java.util.concurrent.ConcurrentLinkedQueue$Itr
+java.util.concurrent.CopyOnWriteArrayList$COWIterator
+java.util.concurrent.Executors$AutoShutdownDelegatedExecutorService
+java.util.concurrent.Executors$DelegatedScheduledExecutorService
+java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock
+java.util.function.DoubleUnaryOperator$$ExternalSyntheticLambda2
+java.util.stream.IntPipeline$10
+java.util.stream.IntPipeline$1
+java.util.stream.IntPipeline$4
+java.util.stream.IntPipeline$Head
+java.util.stream.ReferencePipeline$2
+java.util.stream.ReferencePipeline$3
+java.util.stream.ReferencePipeline$4
+java.util.stream.ReferencePipeline$Head
+java.util.stream.SortedOps$OfRef
 javax.microedition.khronos.egl.EGL10
 javax.microedition.khronos.egl.EGL11
 javax.microedition.khronos.egl.EGL
@@ -14352,6 +14568,7 @@
 javax.sip.message.MessageFactory
 javax.sip.message.Request
 javax.sip.message.Response
+libcore.util.ZoneInfo
 org.apache.http.conn.ConnectTimeoutException
 org.apache.http.conn.scheme.HostNameResolver
 org.apache.http.conn.scheme.LayeredSocketFactory
@@ -14366,6 +14583,7 @@
 org.apache.http.params.CoreConnectionPNames
 org.apache.http.params.HttpConnectionParams
 org.apache.http.params.HttpParams
+org.ccil.cowan.tagsoup.AttributesImpl
 org.ccil.cowan.tagsoup.AutoDetector
 org.ccil.cowan.tagsoup.CommandLine
 org.ccil.cowan.tagsoup.Element
@@ -14387,6 +14605,7 @@
 org.ccil.cowan.tagsoup.jaxp.SAX1ParserAdapter
 org.ccil.cowan.tagsoup.jaxp.SAXFactoryImpl
 org.ccil.cowan.tagsoup.jaxp.SAXParserImpl
+sun.nio.ch.FileChannelImpl
 [Landroid.accounts.Account;
 [Landroid.accounts.AuthenticatorDescription;
 [Landroid.animation.Animator;
@@ -14812,6 +15031,7 @@
 [Landroid.widget.SpellChecker$SpellParser;
 [Landroid.widget.TextView$BufferType;
 [Landroid.widget.TextView$ChangeWatcher;
+[Landroid.window.BackTouchTracker$TouchTrackerState;
 [Landroid.window.DesktopModeFlags$ToggleOverride;
 [Landroid.window.DesktopModeFlags;
 [Landroid.window.TransitionFilter$Requirement;
diff --git a/cmds/idmap2/OWNERS b/cmds/idmap2/OWNERS
index 062ffd4..def9f40 100644
--- a/cmds/idmap2/OWNERS
+++ b/cmds/idmap2/OWNERS
@@ -1,4 +1,3 @@
 set noparent
-toddke@google.com
 patb@google.com
 zyy@google.com
diff --git a/cmds/incidentd/OWNERS b/cmds/incidentd/OWNERS
index bcdcfc3..db8fa9f 100644
--- a/cmds/incidentd/OWNERS
+++ b/cmds/incidentd/OWNERS
@@ -1,4 +1,3 @@
 joeo@google.com
 yaochen@google.com
 yanmin@google.com
-zhouwenjie@google.com
diff --git a/config/preloaded-classes b/config/preloaded-classes
index 70a94a0..4147fd7 100644
--- a/config/preloaded-classes
+++ b/config/preloaded-classes
@@ -59,6 +59,7 @@
 android.accounts.AccountManager$AmsTask$Response
 android.accounts.AccountManager$AmsTask
 android.accounts.AccountManager$BaseFutureTask$1
+android.accounts.AccountManager$BaseFutureTask$Response
 android.accounts.AccountManager$BaseFutureTask
 android.accounts.AccountManager$Future2Task$1
 android.accounts.AccountManager$Future2Task
@@ -73,6 +74,7 @@
 android.accounts.AuthenticatorDescription-IA
 android.accounts.AuthenticatorDescription
 android.accounts.AuthenticatorException
+android.accounts.IAccountAuthenticator$Stub$Proxy
 android.accounts.IAccountAuthenticator$Stub
 android.accounts.IAccountAuthenticator
 android.accounts.IAccountAuthenticatorResponse$Stub$Proxy
@@ -81,6 +83,7 @@
 android.accounts.IAccountManager$Stub$Proxy
 android.accounts.IAccountManager$Stub
 android.accounts.IAccountManager
+android.accounts.IAccountManagerResponse$Stub$Proxy
 android.accounts.IAccountManagerResponse$Stub
 android.accounts.IAccountManagerResponse
 android.accounts.NetworkErrorException
@@ -93,6 +96,8 @@
 android.aconfig.nano.Aconfig$parsed_flag
 android.aconfig.nano.Aconfig$parsed_flags
 android.aconfig.nano.Aconfig$tracepoint
+android.adpf.FeatureFlags
+android.adpf.FeatureFlagsImpl
 android.adpf.Flags
 android.animation.AnimationHandler$$ExternalSyntheticLambda0
 android.animation.AnimationHandler$1
@@ -220,6 +225,7 @@
 android.app.ActivityManager$$ExternalSyntheticLambda1
 android.app.ActivityManager$$ExternalSyntheticLambda2
 android.app.ActivityManager$1
+android.app.ActivityManager$2
 android.app.ActivityManager$3
 android.app.ActivityManager$4
 android.app.ActivityManager$AppTask
@@ -270,11 +276,14 @@
 android.app.ActivityThread$3
 android.app.ActivityThread$4
 android.app.ActivityThread$5
+android.app.ActivityThread$6
 android.app.ActivityThread$ActivityClientRecord$1
 android.app.ActivityThread$ActivityClientRecord
+android.app.ActivityThread$AndroidOs
 android.app.ActivityThread$AppBindData
 android.app.ActivityThread$ApplicationThread$$ExternalSyntheticLambda2
 android.app.ActivityThread$ApplicationThread$1
+android.app.ActivityThread$ApplicationThread
 android.app.ActivityThread$BindServiceData
 android.app.ActivityThread$ContextCleanupInfo
 android.app.ActivityThread$CreateBackupAgentData
@@ -304,6 +313,7 @@
 android.app.ActivityTransitionState
 android.app.AlarmManager$AlarmClockInfo$1
 android.app.AlarmManager$AlarmClockInfo
+android.app.AlarmManager$ListenerWrapper
 android.app.AlarmManager$OnAlarmListener
 android.app.AlarmManager
 android.app.AlertDialog$Builder
@@ -324,6 +334,7 @@
 android.app.AppOpsManager$$ExternalSyntheticLambda8
 android.app.AppOpsManager$1
 android.app.AppOpsManager$2
+android.app.AppOpsManager$3
 android.app.AppOpsManager$4
 android.app.AppOpsManager$AppOpsCollector
 android.app.AppOpsManager$AttributedHistoricalOps$1
@@ -367,6 +378,7 @@
 android.app.AppOpsManagerInternal
 android.app.Application$ActivityLifecycleCallbacks
 android.app.Application$OnProvideAssistDataListener
+android.app.Application
 android.app.ApplicationErrorReport$1
 android.app.ApplicationErrorReport$AnrInfo
 android.app.ApplicationErrorReport$BatteryInfo
@@ -392,6 +404,7 @@
 android.app.ApplicationPackageManager$MoveCallbackDelegate
 android.app.ApplicationPackageManager$ResourceName
 android.app.ApplicationPackageManager-IA
+android.app.ApplicationPackageManager
 android.app.AsyncNotedAppOp$1
 android.app.AsyncNotedAppOp
 android.app.AutomaticZenRule$1
@@ -420,6 +433,7 @@
 android.app.ContentProviderHolder
 android.app.ContextImpl$1
 android.app.ContextImpl$ApplicationContentResolver
+android.app.ContextImpl
 android.app.DexLoadReporter
 android.app.Dialog$$ExternalSyntheticLambda0
 android.app.Dialog$$ExternalSyntheticLambda1
@@ -505,6 +519,7 @@
 android.app.IApplicationStartInfoCompleteListener$Stub$Proxy
 android.app.IApplicationStartInfoCompleteListener$Stub
 android.app.IApplicationStartInfoCompleteListener
+android.app.IApplicationThread$Stub$Proxy
 android.app.IApplicationThread$Stub
 android.app.IApplicationThread
 android.app.IAssistDataReceiver$Stub$Proxy
@@ -519,6 +534,7 @@
 android.app.IGameManagerService$Stub$Proxy
 android.app.IGameManagerService$Stub
 android.app.IGameManagerService
+android.app.IInstantAppResolver$Stub$Proxy
 android.app.IInstantAppResolver$Stub
 android.app.IInstantAppResolver
 android.app.IInstrumentationWatcher$Stub$Proxy
@@ -547,11 +563,13 @@
 android.app.ISearchManager$Stub$Proxy
 android.app.ISearchManager$Stub
 android.app.ISearchManager
+android.app.IServiceConnection$Stub$Proxy
 android.app.IServiceConnection$Stub
 android.app.IServiceConnection
 android.app.IStopUserCallback$Stub$Proxy
 android.app.IStopUserCallback$Stub
 android.app.IStopUserCallback
+android.app.ITaskStackListener$Stub$Proxy
 android.app.ITaskStackListener$Stub
 android.app.ITaskStackListener
 android.app.ITransientNotification$Stub$Proxy
@@ -571,6 +589,7 @@
 android.app.IUidFrozenStateChangedCallback$Stub$Proxy
 android.app.IUidFrozenStateChangedCallback$Stub
 android.app.IUidFrozenStateChangedCallback
+android.app.IUidObserver$Stub$Proxy
 android.app.IUidObserver$Stub
 android.app.IUidObserver
 android.app.IUnsafeIntentStrictModeCallback$Stub
@@ -599,6 +618,7 @@
 android.app.IntentReceiverLeaked
 android.app.IntentService$ServiceHandler
 android.app.IntentService
+android.app.JobSchedulerImpl
 android.app.KeyguardManager$1
 android.app.KeyguardManager$2
 android.app.KeyguardManager$KeyguardDismissCallback
@@ -606,9 +626,11 @@
 android.app.ListActivity
 android.app.LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0
 android.app.LoadedApk$ReceiverDispatcher$Args
+android.app.LoadedApk$ReceiverDispatcher$InnerReceiver
 android.app.LoadedApk$ReceiverDispatcher
 android.app.LoadedApk$ServiceDispatcher$ConnectionInfo
 android.app.LoadedApk$ServiceDispatcher$DeathMonitor
+android.app.LoadedApk$ServiceDispatcher$InnerConnection
 android.app.LoadedApk$ServiceDispatcher$RunConnection
 android.app.LoadedApk$ServiceDispatcher
 android.app.LoadedApk$SplitDependencyLoaderImpl
@@ -665,6 +687,7 @@
 android.app.NotificationManager$NotificationKey
 android.app.NotificationManager$Policy$1
 android.app.NotificationManager$Policy
+android.app.NotificationManager$RateLimiter
 android.app.NotificationManager
 android.app.OnActivityPausedListener
 android.app.PackageInstallObserver$1
@@ -675,6 +698,7 @@
 android.app.PendingIntent$1
 android.app.PendingIntent$CancelListener
 android.app.PendingIntent$CanceledException
+android.app.PendingIntent$FinishedDispatcher
 android.app.PendingIntent$OnFinished
 android.app.PendingIntent$OnMarshaledListener
 android.app.PendingIntent
@@ -760,6 +784,7 @@
 android.app.SharedPreferencesImpl$MemoryCommitResult
 android.app.SharedPreferencesImpl$SharedPreferencesThreadFactory
 android.app.SharedPreferencesImpl-IA
+android.app.SharedPreferencesImpl
 android.app.StackTrace
 android.app.StatusBarManager
 android.app.SyncNotedAppOp$1
@@ -1161,6 +1186,7 @@
 android.app.job.JobService$1
 android.app.job.JobService
 android.app.job.JobServiceEngine$JobHandler
+android.app.job.JobServiceEngine$JobInterface
 android.app.job.JobServiceEngine
 android.app.job.JobWorkItem$1
 android.app.job.JobWorkItem
@@ -1241,7 +1267,10 @@
 android.app.servertransaction.TopResumedActivityChangeItem
 android.app.servertransaction.TransactionExecutor
 android.app.servertransaction.TransactionExecutorHelper
+android.app.servertransaction.WindowStateInsetsControlChangeItem$1
+android.app.servertransaction.WindowStateInsetsControlChangeItem
 android.app.servertransaction.WindowStateTransactionItem$TransactionListener
+android.app.servertransaction.WindowStateTransactionItem
 android.app.slice.ISliceManager$Stub$Proxy
 android.app.slice.ISliceManager$Stub
 android.app.slice.ISliceManager
@@ -1467,6 +1496,7 @@
 android.content.ComponentName$WithComponentName
 android.content.ComponentName
 android.content.ContentCaptureOptions$1
+android.content.ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda0
 android.content.ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda1
 android.content.ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda2
 android.content.ContentCaptureOptions$ContentProtectionOptions
@@ -1488,10 +1518,12 @@
 android.content.ContentProviderOperation$Builder
 android.content.ContentProviderOperation-IA
 android.content.ContentProviderOperation
+android.content.ContentProviderProxy
 android.content.ContentProviderResult$1
 android.content.ContentProviderResult
 android.content.ContentResolver$1
 android.content.ContentResolver$2
+android.content.ContentResolver$CursorWrapperInner
 android.content.ContentResolver$OpenResourceIdResult
 android.content.ContentResolver$ParcelFileDescriptorInner
 android.content.ContentResolver$ResultListener
@@ -1522,6 +1554,7 @@
 android.content.IContentService$Stub$Proxy
 android.content.IContentService$Stub
 android.content.IContentService
+android.content.IIntentReceiver$Stub$Proxy
 android.content.IIntentReceiver$Stub
 android.content.IIntentReceiver
 android.content.IIntentSender$Stub$Proxy
@@ -1695,6 +1728,7 @@
 android.content.pm.ILauncherApps$Stub$Proxy
 android.content.pm.ILauncherApps$Stub
 android.content.pm.ILauncherApps
+android.content.pm.IOnAppsChangedListener$Stub$Proxy
 android.content.pm.IOnAppsChangedListener$Stub
 android.content.pm.IOnAppsChangedListener
 android.content.pm.IOnChecksumsReadyListener$Stub$Proxy
@@ -2040,6 +2074,7 @@
 android.content.res.ThemedResourceCache
 android.content.res.TypedArray
 android.content.res.Validator
+android.content.res.XmlBlock$Parser
 android.content.res.XmlBlock
 android.content.res.XmlResourceParser
 android.content.res.loader.AssetsProvider
@@ -2074,6 +2109,7 @@
 android.database.ContentObservable
 android.database.ContentObserver$$ExternalSyntheticLambda0
 android.database.ContentObserver$$ExternalSyntheticLambda1
+android.database.ContentObserver$Transport
 android.database.ContentObserver
 android.database.CrossProcessCursor
 android.database.CrossProcessCursorWrapper
@@ -2092,6 +2128,7 @@
 android.database.DatabaseUtils
 android.database.DefaultDatabaseErrorHandler
 android.database.IBulkCursor
+android.database.IContentObserver$Stub$Proxy
 android.database.IContentObserver$Stub
 android.database.IContentObserver
 android.database.MatrixCursor$RowBuilder
@@ -2128,6 +2165,7 @@
 android.database.sqlite.SQLiteConnectionPool-IA
 android.database.sqlite.SQLiteConnectionPool
 android.database.sqlite.SQLiteConstraintException
+android.database.sqlite.SQLiteCursor
 android.database.sqlite.SQLiteCursorDriver
 android.database.sqlite.SQLiteCustomFunction
 android.database.sqlite.SQLiteDatabase$$ExternalSyntheticLambda0
@@ -2154,6 +2192,7 @@
 android.database.sqlite.SQLiteFullException
 android.database.sqlite.SQLiteGlobal
 android.database.sqlite.SQLiteMisuseException
+android.database.sqlite.SQLiteOpenHelper$$ExternalSyntheticLambda0
 android.database.sqlite.SQLiteOpenHelper
 android.database.sqlite.SQLiteOutOfMemoryException
 android.database.sqlite.SQLiteProgram
@@ -2226,12 +2265,16 @@
 android.graphics.ColorSpace$Lab
 android.graphics.ColorSpace$Model
 android.graphics.ColorSpace$Named
+android.graphics.ColorSpace$OkLab
 android.graphics.ColorSpace$RenderIntent
 android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda0
 android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda1
 android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda2
 android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda3
+android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda4
 android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda5
+android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda6
+android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda9
 android.graphics.ColorSpace$Rgb$Native
 android.graphics.ColorSpace$Rgb$NoImagePreloadHolder
 android.graphics.ColorSpace$Rgb$TransferParameters
@@ -2537,6 +2580,7 @@
 android.graphics.fonts.Font
 android.graphics.fonts.FontCustomizationParser$Result
 android.graphics.fonts.FontCustomizationParser
+android.graphics.fonts.FontFamily$Builder$NoImagePreloadHolder
 android.graphics.fonts.FontFamily$Builder
 android.graphics.fonts.FontFamily
 android.graphics.fonts.FontFileUtil
@@ -2627,6 +2671,7 @@
 android.hardware.SystemSensorManager$InjectEventQueue
 android.hardware.SystemSensorManager$SensorEventQueue
 android.hardware.SystemSensorManager$TriggerEventQueue
+android.hardware.SystemSensorManager
 android.hardware.TriggerEvent
 android.hardware.TriggerEventListener
 android.hardware.biometrics.BiometricAuthenticator$AuthenticationCallback
@@ -2911,6 +2956,7 @@
 android.hardware.display.DisplayManagerGlobal$1
 android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate$$ExternalSyntheticLambda0
 android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate
+android.hardware.display.DisplayManagerGlobal$DisplayManagerCallback
 android.hardware.display.DisplayManagerGlobal
 android.hardware.display.DisplayManagerInternal$DisplayPowerCallbacks
 android.hardware.display.DisplayManagerInternal$DisplayPowerRequest
@@ -2927,6 +2973,7 @@
 android.hardware.display.IDisplayManager$Stub$Proxy
 android.hardware.display.IDisplayManager$Stub
 android.hardware.display.IDisplayManager
+android.hardware.display.IDisplayManagerCallback$Stub$Proxy
 android.hardware.display.IDisplayManagerCallback$Stub
 android.hardware.display.IDisplayManagerCallback
 android.hardware.display.IVirtualDisplayCallback$Stub$Proxy
@@ -3001,6 +3048,7 @@
 android.hardware.hdmi.HdmiRecordSources$RecordSource
 android.hardware.input.HostUsiVersion$1
 android.hardware.input.HostUsiVersion
+android.hardware.input.IInputDevicesChangedListener$Stub$Proxy
 android.hardware.input.IInputDevicesChangedListener$Stub
 android.hardware.input.IInputDevicesChangedListener
 android.hardware.input.IInputManager$Stub$Proxy
@@ -3016,6 +3064,7 @@
 android.hardware.input.InputManager$InputDeviceListener
 android.hardware.input.InputManager
 android.hardware.input.InputManagerGlobal$InputDeviceListenerDelegate
+android.hardware.input.InputManagerGlobal$InputDevicesChangedListener
 android.hardware.input.InputManagerGlobal$OnTabletModeChangedListenerDelegate
 android.hardware.input.InputManagerGlobal-IA
 android.hardware.input.InputManagerGlobal
@@ -4609,6 +4658,7 @@
 android.icu.text.ReplaceableString
 android.icu.text.RuleBasedBreakIterator$BreakCache
 android.icu.text.RuleBasedBreakIterator$DictionaryCache
+android.icu.text.RuleBasedBreakIterator
 android.icu.text.RuleBasedCollator$CollationBuffer
 android.icu.text.RuleBasedCollator$CollationKeyByteSink
 android.icu.text.RuleBasedCollator$FCDUTF16NFDIterator
@@ -4956,8 +5006,13 @@
 android.internal.aconfig.storage.AconfigStorageException
 android.internal.aconfig.storage.ByteBufferReader
 android.internal.aconfig.storage.FileType
+android.internal.aconfig.storage.FlagTable$Header
+android.internal.aconfig.storage.FlagTable
+android.internal.aconfig.storage.FlagValueList$Header
+android.internal.aconfig.storage.FlagValueList
 android.internal.aconfig.storage.PackageTable$Header
 android.internal.aconfig.storage.PackageTable
+android.internal.aconfig.storage.TableUtils$StorageFilesBundle
 android.internal.framework.protobuf.nano.InvalidProtocolBufferNanoException
 android.internal.framework.protobuf.nano.MessageNano
 android.internal.hidl.base.V1_0.DebugInfo
@@ -4984,6 +5039,7 @@
 android.internal.telephony.sysprop.TelephonyProperties$$ExternalSyntheticLambda8
 android.internal.telephony.sysprop.TelephonyProperties$$ExternalSyntheticLambda9
 android.internal.telephony.sysprop.TelephonyProperties
+android.location.CountryDetector
 android.location.Geofence$1
 android.location.Geofence
 android.location.IFusedGeofenceHardware$Stub$Proxy
@@ -4992,11 +5048,14 @@
 android.location.IGpsGeofenceHardware$Stub$Proxy
 android.location.IGpsGeofenceHardware$Stub
 android.location.IGpsGeofenceHardware
+android.location.ILocationManager$Stub
+android.location.ILocationManager
 android.location.Location$$ExternalSyntheticLambda0
 android.location.Location$1
 android.location.Location$BearingDistanceCache
 android.location.Location-IA
 android.location.Location
+android.location.LocationManager
 android.location.LocationTime$1
 android.location.LocationTime
 android.location.flags.FeatureFlags
@@ -5028,6 +5087,7 @@
 android.media.AudioGainConfig
 android.media.AudioHandle
 android.media.AudioManager$1
+android.media.AudioManager$2
 android.media.AudioManager$3
 android.media.AudioManager$4
 android.media.AudioManager$AudioPlaybackCallback
@@ -5161,6 +5221,7 @@
 android.media.IMediaRouter2
 android.media.IMediaRouter2Manager$Stub
 android.media.IMediaRouter2Manager
+android.media.IMediaRouterClient$Stub$Proxy
 android.media.IMediaRouterClient$Stub
 android.media.IMediaRouterClient
 android.media.IMediaRouterService$Stub$Proxy
@@ -5323,6 +5384,7 @@
 android.media.MediaRouter$Static$Client$$ExternalSyntheticLambda0
 android.media.MediaRouter$Static$Client$$ExternalSyntheticLambda1
 android.media.MediaRouter$Static$Client$1
+android.media.MediaRouter$Static$Client
 android.media.MediaRouter$Static
 android.media.MediaRouter$UserRouteInfo$SessionVolumeProvider
 android.media.MediaRouter$UserRouteInfo
@@ -5531,6 +5593,7 @@
 android.media.quality.MediaQualityManager
 android.media.quality.PictureProfileHandle$1
 android.media.quality.PictureProfileHandle
+android.media.session.IActiveSessionsListener$Stub$Proxy
 android.media.session.IActiveSessionsListener$Stub
 android.media.session.IActiveSessionsListener
 android.media.session.IOnMediaKeyEventDispatchedListener$Stub$Proxy
@@ -5557,6 +5620,7 @@
 android.media.session.ISessionController$Stub$Proxy
 android.media.session.ISessionController$Stub
 android.media.session.ISessionController
+android.media.session.ISessionControllerCallback$Stub$Proxy
 android.media.session.ISessionControllerCallback$Stub
 android.media.session.ISessionControllerCallback
 android.media.session.ISessionManager$Stub$Proxy
@@ -5593,6 +5657,7 @@
 android.media.session.MediaSessionManager$RemoteUserInfo
 android.media.session.MediaSessionManager$Session2TokensChangedWrapper
 android.media.session.MediaSessionManager$SessionsChangedWrapper$1$$ExternalSyntheticLambda0
+android.media.session.MediaSessionManager$SessionsChangedWrapper$1
 android.media.session.MediaSessionManager$SessionsChangedWrapper
 android.media.session.MediaSessionManager-IA
 android.media.session.MediaSessionManager
@@ -5684,6 +5749,8 @@
 android.net.LocalSocket
 android.net.LocalSocketAddress$Namespace
 android.net.LocalSocketAddress
+android.net.LocalSocketImpl$SocketInputStream
+android.net.LocalSocketImpl$SocketOutputStream
 android.net.LocalSocketImpl
 android.net.MatchAllNetworkSpecifier$1
 android.net.MatchAllNetworkSpecifier
@@ -5732,11 +5799,15 @@
 android.net.Uri$AbstractHierarchicalUri
 android.net.Uri$AbstractPart
 android.net.Uri$Builder
+android.net.Uri$HierarchicalUri
 android.net.Uri$NotCachedHolder
+android.net.Uri$OpaqueUri
 android.net.Uri$Part$EmptyPart
 android.net.Uri$Part
 android.net.Uri$PathPart
+android.net.Uri$PathSegments
 android.net.Uri$PathSegmentsBuilder
+android.net.Uri$StringUri
 android.net.Uri-IA
 android.net.Uri
 android.net.UriCodec
@@ -5986,7 +6057,6 @@
 android.nfc.NfcOemExtension$$ExternalSyntheticLambda9
 android.nfc.NfcOemExtension$Callback
 android.nfc.NfcOemExtension$NfcOemExtensionCallback
-android.nfc.NfcOemExtension-IA
 android.nfc.NfcOemExtension
 android.nfc.NfcRoutingTableEntry
 android.nfc.NfcServiceManager$ServiceRegisterer
@@ -6139,6 +6209,7 @@
 android.os.BinderProxy$BinderProxyMapSizeException
 android.os.BinderProxy$NoImagePreloadHolder
 android.os.BinderProxy$ProxyMap
+android.os.BinderProxy
 android.os.BluetoothServiceManager$ServiceRegisterer
 android.os.BluetoothServiceManager
 android.os.BugreportManager
@@ -6213,6 +6284,7 @@
 android.os.Handler$MessengerImpl
 android.os.Handler-IA
 android.os.Handler
+android.os.HandlerExecutor
 android.os.HandlerThread
 android.os.HardwarePropertiesManager
 android.os.HidlMemory
@@ -6297,6 +6369,7 @@
 android.os.IRecoverySystemProgressListener$Stub$Proxy
 android.os.IRecoverySystemProgressListener$Stub
 android.os.IRecoverySystemProgressListener
+android.os.IRemoteCallback$Stub$Proxy
 android.os.IRemoteCallback$Stub
 android.os.IRemoteCallback
 android.os.ISchedulingPolicyService$Stub
@@ -6370,6 +6443,7 @@
 android.os.LimitExceededException
 android.os.LocaleList$1
 android.os.LocaleList
+android.os.Looper$NoImagePreloadHolder
 android.os.Looper$Observer
 android.os.Looper
 android.os.MemoryFile
@@ -6408,7 +6482,7 @@
 android.os.PackageTagsList$1
 android.os.PackageTagsList
 android.os.Parcel$1
-android.os.Parcel$ClassLoaderProvider
+android.os.Parcel$2
 android.os.Parcel$LazyValue
 android.os.Parcel$ReadWriteHelper
 android.os.Parcel$SquashReadHelper
@@ -6417,6 +6491,7 @@
 android.os.ParcelDuration
 android.os.ParcelFileDescriptor$1
 android.os.ParcelFileDescriptor$2
+android.os.ParcelFileDescriptor$AutoCloseInputStream
 android.os.ParcelFileDescriptor$AutoCloseOutputStream
 android.os.ParcelFileDescriptor$OnCloseListener
 android.os.ParcelFileDescriptor$Status
@@ -6536,12 +6611,14 @@
 android.os.StrictMode$2
 android.os.StrictMode$3
 android.os.StrictMode$4
+android.os.StrictMode$5
 android.os.StrictMode$6
 android.os.StrictMode$7
 android.os.StrictMode$8
 android.os.StrictMode$9
 android.os.StrictMode$AndroidBlockGuardPolicy$$ExternalSyntheticLambda0
 android.os.StrictMode$AndroidBlockGuardPolicy$$ExternalSyntheticLambda1
+android.os.StrictMode$AndroidBlockGuardPolicy
 android.os.StrictMode$AndroidCloseGuardReporter
 android.os.StrictMode$InstanceTracker
 android.os.StrictMode$OnThreadViolationListener
@@ -7014,6 +7091,7 @@
 android.security.KeyStoreSecurityLevel
 android.security.NetworkSecurityPolicy
 android.security.Scrypt
+android.security.advancedprotection.AdvancedProtectionManager
 android.security.attestationverification.AttestationVerificationManager
 android.security.authenticationpolicy.AuthenticationPolicyManager
 android.security.intrusiondetection.IntrusionDetectionManager
@@ -7317,6 +7395,7 @@
 android.service.notification.Condition$1
 android.service.notification.Condition
 android.service.notification.ConditionProviderService$H
+android.service.notification.ConditionProviderService$Provider
 android.service.notification.ConditionProviderService-IA
 android.service.notification.ConditionProviderService
 android.service.notification.IConditionProvider$Stub
@@ -7332,6 +7411,7 @@
 android.service.notification.NotificationListenerFilter$1
 android.service.notification.NotificationListenerFilter
 android.service.notification.NotificationListenerService$MyHandler
+android.service.notification.NotificationListenerService$NotificationListenerWrapper
 android.service.notification.NotificationListenerService$Ranking
 android.service.notification.NotificationListenerService$RankingMap$1
 android.service.notification.NotificationListenerService$RankingMap
@@ -7346,6 +7426,7 @@
 android.service.notification.ScheduleCalendar
 android.service.notification.SnoozeCriterion$1
 android.service.notification.SnoozeCriterion
+android.service.notification.StatusBarNotification$$ExternalSyntheticLambda0
 android.service.notification.StatusBarNotification$1
 android.service.notification.StatusBarNotification
 android.service.notification.ZenDeviceEffects$1
@@ -7387,6 +7468,7 @@
 android.service.storage.IExternalStorageService$Stub$Proxy
 android.service.storage.IExternalStorageService$Stub
 android.service.storage.IExternalStorageService
+android.service.textclassifier.ITextClassifierCallback$Stub$Proxy
 android.service.textclassifier.ITextClassifierCallback$Stub
 android.service.textclassifier.ITextClassifierCallback
 android.service.textclassifier.ITextClassifierService$Stub$Proxy
@@ -7549,6 +7631,7 @@
 android.system.keystore2.KeyParameters
 android.system.keystore2.OperationChallenge$1
 android.system.keystore2.OperationChallenge
+android.system.suspend.internal.ISuspendControlServiceInternal$Stub$Proxy
 android.system.suspend.internal.ISuspendControlServiceInternal$Stub
 android.system.suspend.internal.ISuspendControlServiceInternal
 android.system.suspend.internal.WakeLockInfo$1
@@ -7691,6 +7774,7 @@
 android.telephony.CellIdentityGsm$1
 android.telephony.CellIdentityGsm
 android.telephony.CellIdentityLte$1
+android.telephony.CellIdentityLte
 android.telephony.CellIdentityNr$1
 android.telephony.CellIdentityNr
 android.telephony.CellIdentityTdscdma$1
@@ -7718,6 +7802,7 @@
 android.telephony.CellSignalStrengthCdma
 android.telephony.CellSignalStrengthGsm$1
 android.telephony.CellSignalStrengthGsm-IA
+android.telephony.CellSignalStrengthGsm
 android.telephony.CellSignalStrengthLte$1
 android.telephony.CellSignalStrengthLte-IA
 android.telephony.CellSignalStrengthLte
@@ -7729,6 +7814,7 @@
 android.telephony.CellSignalStrengthTdscdma
 android.telephony.CellSignalStrengthWcdma$1
 android.telephony.CellSignalStrengthWcdma-IA
+android.telephony.CellSignalStrengthWcdma
 android.telephony.CellularIdentifierDisclosure
 android.telephony.ClientRequestStats$1
 android.telephony.ClientRequestStats
@@ -7833,6 +7919,7 @@
 android.telephony.PhoneStateListener$IPhoneStateListenerStub$$ExternalSyntheticLambda62
 android.telephony.PhoneStateListener$IPhoneStateListenerStub$$ExternalSyntheticLambda6
 android.telephony.PhoneStateListener$IPhoneStateListenerStub$$ExternalSyntheticLambda9
+android.telephony.PhoneStateListener$IPhoneStateListenerStub
 android.telephony.PhoneStateListener
 android.telephony.PhysicalChannelConfig$1
 android.telephony.PhysicalChannelConfig$Builder
@@ -7939,6 +8026,7 @@
 android.telephony.TelephonyCallback$IPhoneStateListenerStub$$ExternalSyntheticLambda52
 android.telephony.TelephonyCallback$IPhoneStateListenerStub$$ExternalSyntheticLambda63
 android.telephony.TelephonyCallback$IPhoneStateListenerStub$$ExternalSyntheticLambda65
+android.telephony.TelephonyCallback$IPhoneStateListenerStub
 android.telephony.TelephonyCallback$ImsCallDisconnectCauseListener
 android.telephony.TelephonyCallback$LinkCapacityEstimateChangedListener
 android.telephony.TelephonyCallback$MediaQualityStatusChangedListener
@@ -8000,7 +8088,9 @@
 android.telephony.TelephonyRegistryManager$$ExternalSyntheticLambda1
 android.telephony.TelephonyRegistryManager$$ExternalSyntheticLambda2
 android.telephony.TelephonyRegistryManager$1$$ExternalSyntheticLambda0
+android.telephony.TelephonyRegistryManager$1
 android.telephony.TelephonyRegistryManager$2
+android.telephony.TelephonyRegistryManager$3
 android.telephony.TelephonyRegistryManager$CarrierPrivilegesCallbackWrapper$$ExternalSyntheticLambda0
 android.telephony.TelephonyRegistryManager$CarrierPrivilegesCallbackWrapper$$ExternalSyntheticLambda1
 android.telephony.TelephonyRegistryManager$CarrierPrivilegesCallbackWrapper$$ExternalSyntheticLambda2
@@ -8380,6 +8470,7 @@
 android.text.SpanWatcher
 android.text.Spannable$Factory
 android.text.Spannable
+android.text.SpannableString
 android.text.SpannableStringBuilder
 android.text.SpannableStringInternal
 android.text.Spanned
@@ -8541,9 +8632,11 @@
 android.tracing.FeatureFlags
 android.tracing.FeatureFlagsImpl
 android.tracing.Flags
+android.tracing.inputmethod.InputMethodDataSource
 android.tracing.perfetto.CreateIncrementalStateArgs
 android.tracing.perfetto.CreateTlsStateArgs
 android.tracing.perfetto.DataSource
+android.tracing.perfetto.DataSourceInstance
 android.tracing.perfetto.DataSourceParams$Builder
 android.tracing.perfetto.DataSourceParams
 android.tracing.perfetto.FlushCallbackArguments
@@ -8628,6 +8721,7 @@
 android.util.AndroidException
 android.util.AndroidRuntimeException
 android.util.ArrayMap$1
+android.util.ArrayMap
 android.util.ArraySet$1
 android.util.ArraySet
 android.util.AtomicFile
@@ -8665,6 +8759,7 @@
 android.util.FloatProperty
 android.util.Half
 android.util.IconDrawableFactory
+android.util.IndentingPrintWriter
 android.util.IntArray
 android.util.IntProperty
 android.util.JsonReader$1
@@ -8696,6 +8791,11 @@
 android.util.LongSparseLongArray
 android.util.LruCache
 android.util.MalformedJsonException
+android.util.MapCollections$ArrayIterator
+android.util.MapCollections$EntrySet
+android.util.MapCollections$KeySet
+android.util.MapCollections$MapIterator
+android.util.MapCollections$ValuesCollection
 android.util.MapCollections
 android.util.MathUtils
 android.util.MemoryIntArray$1
@@ -8725,6 +8825,7 @@
 android.util.Rational
 android.util.RecurrenceRule$1
 android.util.RecurrenceRule$NonrecurringIterator
+android.util.RecurrenceRule$RecurringIterator
 android.util.RecurrenceRule
 android.util.ReflectiveProperty
 android.util.RotationUtils
@@ -8742,6 +8843,7 @@
 android.util.SparseLongArray
 android.util.SparseSetArray
 android.util.Spline$LinearSpline
+android.util.Spline$MonotoneCubicSpline
 android.util.Spline
 android.util.StateSet
 android.util.StringBuilderPrinter
@@ -8923,8 +9025,10 @@
 android.view.IDisplayFoldListener$Stub$Proxy
 android.view.IDisplayFoldListener$Stub
 android.view.IDisplayFoldListener
+android.view.IDisplayWindowInsetsController$Stub$Proxy
 android.view.IDisplayWindowInsetsController$Stub
 android.view.IDisplayWindowInsetsController
+android.view.IDisplayWindowListener$Stub$Proxy
 android.view.IDisplayWindowListener$Stub
 android.view.IDisplayWindowListener
 android.view.IDockedStackListener$Stub$Proxy
@@ -8967,6 +9071,7 @@
 android.view.ISurfaceControlViewHostParent
 android.view.ISystemGestureExclusionListener$Stub
 android.view.ISystemGestureExclusionListener
+android.view.IWallpaperVisibilityListener$Stub$Proxy
 android.view.IWallpaperVisibilityListener$Stub
 android.view.IWallpaperVisibilityListener
 android.view.IWindow$Stub
@@ -9165,7 +9270,9 @@
 android.view.SurfaceControl$RefreshRateRange
 android.view.SurfaceControl$RefreshRateRanges
 android.view.SurfaceControl$StaticDisplayInfo
+android.view.SurfaceControl$Transaction$$ExternalSyntheticLambda0
 android.view.SurfaceControl$Transaction$$ExternalSyntheticLambda1
+android.view.SurfaceControl$Transaction$$ExternalSyntheticLambda3
 android.view.SurfaceControl$Transaction$1
 android.view.SurfaceControl$Transaction$2
 android.view.SurfaceControl$Transaction
@@ -9283,6 +9390,7 @@
 android.view.View$ScrollabilityCache
 android.view.View$SendAccessibilityEventThrottle
 android.view.View$SendViewScrolledAccessibilityEvent
+android.view.View$SensitiveAutofillHintsHelper
 android.view.View$TintInfo
 android.view.View$TooltipInfo
 android.view.View$TransformationInfo
@@ -9347,6 +9455,7 @@
 android.view.ViewRootImpl$$ExternalSyntheticLambda20
 android.view.ViewRootImpl$$ExternalSyntheticLambda21
 android.view.ViewRootImpl$$ExternalSyntheticLambda22
+android.view.ViewRootImpl$$ExternalSyntheticLambda23
 android.view.ViewRootImpl$$ExternalSyntheticLambda2
 android.view.ViewRootImpl$$ExternalSyntheticLambda3
 android.view.ViewRootImpl$$ExternalSyntheticLambda4
@@ -9401,6 +9510,7 @@
 android.view.ViewRootImpl$ViewPostImeInputStage
 android.view.ViewRootImpl$ViewPreImeInputStage
 android.view.ViewRootImpl$ViewRootHandler
+android.view.ViewRootImpl$W
 android.view.ViewRootImpl$WindowInputEventReceiver
 android.view.ViewRootImpl-IA
 android.view.ViewRootImpl
@@ -9469,6 +9579,7 @@
 android.view.WindowManagerGlobal$TrustedPresentationListener
 android.view.WindowManagerGlobal-IA
 android.view.WindowManagerGlobal
+android.view.WindowManagerImpl
 android.view.WindowManagerPolicyConstants$PointerEventListener
 android.view.WindowManagerPolicyConstants
 android.view.WindowMetrics
@@ -9486,6 +9597,7 @@
 android.view.accessibility.AccessibilityManager$$ExternalSyntheticLambda1
 android.view.accessibility.AccessibilityManager$$ExternalSyntheticLambda3
 android.view.accessibility.AccessibilityManager$1$$ExternalSyntheticLambda0
+android.view.accessibility.AccessibilityManager$1
 android.view.accessibility.AccessibilityManager$AccessibilityPolicy
 android.view.accessibility.AccessibilityManager$AccessibilityServicesStateChangeListener
 android.view.accessibility.AccessibilityManager$AccessibilityStateChangeListener
@@ -9529,6 +9641,7 @@
 android.view.accessibility.IAccessibilityManager$Stub$Proxy
 android.view.accessibility.IAccessibilityManager$Stub
 android.view.accessibility.IAccessibilityManager
+android.view.accessibility.IAccessibilityManagerClient$Stub$Proxy
 android.view.accessibility.IAccessibilityManagerClient$Stub
 android.view.accessibility.IAccessibilityManagerClient
 android.view.accessibility.WeakSparseArray$WeakReferenceWithId
@@ -9710,6 +9823,7 @@
 android.view.inputmethod.IInputMethodSessionInvoker$$ExternalSyntheticLambda8
 android.view.inputmethod.IInputMethodSessionInvoker
 android.view.inputmethod.ImeTracker$1$$ExternalSyntheticLambda0
+android.view.inputmethod.ImeTracker$1
 android.view.inputmethod.ImeTracker$Debug$$ExternalSyntheticLambda0
 android.view.inputmethod.ImeTracker$Debug$$ExternalSyntheticLambda1
 android.view.inputmethod.ImeTracker$Debug$$ExternalSyntheticLambda2
@@ -10259,6 +10373,7 @@
 android.widget.RemoteViews$2
 android.widget.RemoteViews$Action
 android.widget.RemoteViews$ActionException
+android.widget.RemoteViews$ApplicationInfoCache$$ExternalSyntheticLambda0
 android.widget.RemoteViews$ApplicationInfoCache
 android.widget.RemoteViews$AsyncApplyTask
 android.widget.RemoteViews$AttributeReflectionAction
@@ -10446,6 +10561,7 @@
 android.window.BackProgressAnimator$1
 android.window.BackProgressAnimator$ProgressCallback
 android.window.BackProgressAnimator
+android.window.BackTouchTracker$TouchTrackerState
 android.window.BackTouchTracker
 android.window.ClientWindowFrames$1
 android.window.ClientWindowFrames-IA
@@ -10512,6 +10628,7 @@
 android.window.ISurfaceSyncGroup
 android.window.ISurfaceSyncGroupCompletedListener$Stub
 android.window.ISurfaceSyncGroupCompletedListener
+android.window.ITaskFragmentOrganizer$Stub$Proxy
 android.window.ITaskFragmentOrganizer$Stub
 android.window.ITaskFragmentOrganizer
 android.window.ITaskFragmentOrganizerController$Stub
@@ -10852,6 +10969,7 @@
 com.android.icu.charset.CharsetDecoderICU
 com.android.icu.charset.CharsetEncoderICU
 com.android.icu.charset.CharsetFactory
+com.android.icu.charset.CharsetICU
 com.android.icu.charset.NativeConverter
 com.android.icu.text.CompatibleDecimalFormatFactory
 com.android.icu.text.DateSorterBridge
@@ -11277,6 +11395,7 @@
 com.android.internal.app.AlertController$RecycleListView
 com.android.internal.app.AlertController
 com.android.internal.app.AssistUtils
+com.android.internal.app.IAppOpsActiveCallback$Stub$Proxy
 com.android.internal.app.IAppOpsActiveCallback$Stub
 com.android.internal.app.IAppOpsActiveCallback
 com.android.internal.app.IAppOpsAsyncNotedCallback$Stub
@@ -11363,6 +11482,7 @@
 com.android.internal.appwidget.IAppWidgetService$Stub$Proxy
 com.android.internal.appwidget.IAppWidgetService$Stub
 com.android.internal.appwidget.IAppWidgetService
+com.android.internal.backup.IBackupTransport$Stub$Proxy
 com.android.internal.backup.IBackupTransport$Stub
 com.android.internal.backup.IBackupTransport
 com.android.internal.colorextraction.ColorExtractor$GradientColors
@@ -11547,6 +11667,7 @@
 com.android.internal.inputmethod.IInputMethodPrivilegedOperations$Stub$Proxy
 com.android.internal.inputmethod.IInputMethodPrivilegedOperations$Stub
 com.android.internal.inputmethod.IInputMethodPrivilegedOperations
+com.android.internal.inputmethod.IInputMethodSession$Stub$Proxy
 com.android.internal.inputmethod.IInputMethodSession$Stub
 com.android.internal.inputmethod.IInputMethodSession
 com.android.internal.inputmethod.IRemoteAccessibilityInputConnection$Stub
@@ -11556,6 +11677,9 @@
 com.android.internal.inputmethod.IRemoteInputConnection
 com.android.internal.inputmethod.ImeTracing
 com.android.internal.inputmethod.ImeTracingClientImpl
+com.android.internal.inputmethod.ImeTracingPerfettoImpl$$ExternalSyntheticLambda3
+com.android.internal.inputmethod.ImeTracingPerfettoImpl$$ExternalSyntheticLambda4
+com.android.internal.inputmethod.ImeTracingPerfettoImpl
 com.android.internal.inputmethod.ImeTracingServerImpl
 com.android.internal.inputmethod.InputBindResult$1
 com.android.internal.inputmethod.InputBindResult-IA
@@ -11683,6 +11807,7 @@
 com.android.internal.os.CachedDeviceState$TimeInStateStopwatch
 com.android.internal.os.CachedDeviceState
 com.android.internal.os.ClassLoaderFactory
+com.android.internal.os.Clock$1
 com.android.internal.os.Clock
 com.android.internal.os.DebugStore$DebugStoreNative
 com.android.internal.os.DebugStore$DebugStoreNativeImpl
@@ -11758,6 +11883,8 @@
 com.android.internal.os.ProcessCpuTracker$FilterStats
 com.android.internal.os.ProcessCpuTracker$Stats
 com.android.internal.os.ProcessCpuTracker
+com.android.internal.os.ProcfsMemoryUtil$MemorySnapshot
+com.android.internal.os.ProcfsMemoryUtil
 com.android.internal.os.RailStats
 com.android.internal.os.RoSystemProperties
 com.android.internal.os.RpmStats$PowerStateElement
@@ -11870,8 +11997,14 @@
 com.android.internal.protolog.PerfettoProtoLogImpl
 com.android.internal.protolog.ProtoLog
 com.android.internal.protolog.ProtoLogCacheUpdater
+com.android.internal.protolog.ProtoLogDataSource$$ExternalSyntheticLambda0
+com.android.internal.protolog.ProtoLogDataSource$$ExternalSyntheticLambda1
+com.android.internal.protolog.ProtoLogDataSource$$ExternalSyntheticLambda2
+com.android.internal.protolog.ProtoLogDataSource$GroupConfig
 com.android.internal.protolog.ProtoLogDataSource$Instance$TracingInstanceStartCallback
 com.android.internal.protolog.ProtoLogDataSource$Instance$TracingInstanceStopCallback
+com.android.internal.protolog.ProtoLogDataSource$Instance
+com.android.internal.protolog.ProtoLogDataSource$ProtoLogConfig
 com.android.internal.protolog.ProtoLogDataSource
 com.android.internal.protolog.ProtoLogGroup
 com.android.internal.protolog.ProtoLogImpl
@@ -12014,6 +12147,7 @@
 com.android.internal.telephony.CellNetworkScanResult$1
 com.android.internal.telephony.CellNetworkScanResult
 com.android.internal.telephony.CellularNetworkService$CellularNetworkServiceProvider$1
+com.android.internal.telephony.CellularNetworkService$CellularNetworkServiceProvider
 com.android.internal.telephony.CellularNetworkService
 com.android.internal.telephony.ClientWakelockAccountant
 com.android.internal.telephony.ClientWakelockTracker
@@ -12101,6 +12235,7 @@
 com.android.internal.telephony.INumberVerificationCallback$Stub$Proxy
 com.android.internal.telephony.INumberVerificationCallback$Stub
 com.android.internal.telephony.INumberVerificationCallback
+com.android.internal.telephony.IOnSubscriptionsChangedListener$Stub$Proxy
 com.android.internal.telephony.IOnSubscriptionsChangedListener$Stub
 com.android.internal.telephony.IOnSubscriptionsChangedListener
 com.android.internal.telephony.IOns$Stub$Proxy
@@ -12206,6 +12341,7 @@
 com.android.internal.telephony.NetworkFactoryLegacyImpl$NetworkRequestInfo
 com.android.internal.telephony.NetworkFactoryLegacyImpl
 com.android.internal.telephony.NetworkFactoryShim
+com.android.internal.telephony.NetworkRegistrationManager$NetworkRegStateCallback
 com.android.internal.telephony.NetworkRegistrationManager$NetworkServiceConnection
 com.android.internal.telephony.NetworkRegistrationManager$RegManagerDeathRecipient
 com.android.internal.telephony.NetworkRegistrationManager
@@ -12291,6 +12427,7 @@
 com.android.internal.telephony.PhoneSubInfoController$$ExternalSyntheticLambda9
 com.android.internal.telephony.PhoneSubInfoController$CallPhoneMethodHelper
 com.android.internal.telephony.PhoneSubInfoController$PermissionCheckHelper
+com.android.internal.telephony.PhoneSubInfoController
 com.android.internal.telephony.ProxyController$1
 com.android.internal.telephony.ProxyController
 com.android.internal.telephony.RIL$RadioProxyDeathRecipient
@@ -12863,6 +13000,7 @@
 com.android.internal.telephony.imsphone.ImsPhoneCallTracker$MmTelFeatureListener
 com.android.internal.telephony.imsphone.ImsPhoneCallTracker$PhoneStateListener
 com.android.internal.telephony.imsphone.ImsPhoneCallTracker$SharedPreferenceProxy
+com.android.internal.telephony.imsphone.ImsPhoneCallTracker$VtDataUsageProvider
 com.android.internal.telephony.imsphone.ImsPhoneCallTracker
 com.android.internal.telephony.imsphone.ImsPhoneCommandInterface
 com.android.internal.telephony.imsphone.ImsPhoneConnection$$ExternalSyntheticLambda0
@@ -13399,6 +13537,7 @@
 com.android.internal.util.FastMath
 com.android.internal.util.FastPrintWriter$DummyWriter
 com.android.internal.util.FastPrintWriter-IA
+com.android.internal.util.FastPrintWriter
 com.android.internal.util.FastXmlSerializer
 com.android.internal.util.FileRotator$FileInfo
 com.android.internal.util.FileRotator$Reader
@@ -13419,6 +13558,7 @@
 com.android.internal.util.HexDump
 com.android.internal.util.IState
 com.android.internal.util.ImageUtils
+com.android.internal.util.IndentingPrintWriter
 com.android.internal.util.IntPair
 com.android.internal.util.JournaledFile
 com.android.internal.util.LatencyTracker$$ExternalSyntheticLambda0
@@ -13488,6 +13628,7 @@
 com.android.internal.util.XmlPullParserWrapper
 com.android.internal.util.XmlSerializerWrapper
 com.android.internal.util.XmlUtils$ForcedTypedXmlPullParser
+com.android.internal.util.XmlUtils$ForcedTypedXmlSerializer
 com.android.internal.util.XmlUtils$ReadMapCallback
 com.android.internal.util.XmlUtils$WriteMapCallback
 com.android.internal.util.XmlUtils
@@ -13533,6 +13674,7 @@
 com.android.internal.util.function.pooled.PooledLambdaImpl$LambdaType$ReturnType
 com.android.internal.util.function.pooled.PooledLambdaImpl$LambdaType
 com.android.internal.util.function.pooled.PooledLambdaImpl$Pool
+com.android.internal.util.function.pooled.PooledLambdaImpl
 com.android.internal.util.function.pooled.PooledPredicate
 com.android.internal.util.function.pooled.PooledRunnable
 com.android.internal.util.function.pooled.PooledSupplier$OfDouble
@@ -14025,6 +14167,7 @@
 com.android.org.bouncycastle.jcajce.provider.asymmetric.RSA
 com.android.org.bouncycastle.jcajce.provider.asymmetric.X509$Mappings
 com.android.org.bouncycastle.jcajce.provider.asymmetric.dh.KeyFactorySpi
+com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.BCDSAPublicKey
 com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.DSAUtil
 com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.KeyFactorySpi
 com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi$NoPadding
@@ -14134,8 +14277,13 @@
 com.android.org.bouncycastle.util.encoders.Hex
 com.android.org.bouncycastle.util.encoders.HexEncoder
 com.android.org.bouncycastle.util.io.Streams
+com.android.org.conscrypt.OpenSSLRSAPublicKey
+com.android.org.conscrypt.OpenSSLX509Certificate
 com.android.org.kxml2.io.KXmlParser$ContentSource
 com.android.org.kxml2.io.KXmlParser$ValueContext
+com.android.org.kxml2.io.KXmlParser
+com.android.org.kxml2.io.KXmlSerializer
+com.android.os.coregraphics.HwuiStatsLog
 com.android.phone.ecc.nano.CodedInputByteBufferNano
 com.android.phone.ecc.nano.CodedOutputByteBufferNano$OutOfSpaceException
 com.android.phone.ecc.nano.CodedOutputByteBufferNano
@@ -14303,6 +14451,7 @@
 dalvik.system.AppSpecializationHooks
 dalvik.system.BaseDexClassLoader$Reporter
 dalvik.system.BaseDexClassLoader
+dalvik.system.BlockGuard$1
 dalvik.system.BlockGuard$2
 dalvik.system.BlockGuard$3
 dalvik.system.BlockGuard$BlockGuardPolicyException
@@ -14761,6 +14910,7 @@
 java.awt.font.TextAttribute
 java.io.Bits
 java.io.BufferedInputStream
+java.io.BufferedOutputStream
 java.io.BufferedReader
 java.io.BufferedWriter
 java.io.ByteArrayInputStream
@@ -14827,6 +14977,7 @@
 java.io.ObjectOutputStream$DebugTraceInfoStack
 java.io.ObjectOutputStream$HandleTable
 java.io.ObjectOutputStream$PutField
+java.io.ObjectOutputStream$PutFieldImpl
 java.io.ObjectOutputStream$ReplaceTable
 java.io.ObjectOutputStream
 java.io.ObjectStreamClass$$ExternalSyntheticLambda0
@@ -15039,6 +15190,7 @@
 java.lang.Thread
 java.lang.ThreadDeath
 java.lang.ThreadGroup
+java.lang.ThreadLocal$SuppliedThreadLocal
 java.lang.ThreadLocal$ThreadLocalMap$Entry
 java.lang.ThreadLocal$ThreadLocalMap
 java.lang.ThreadLocal-IA
@@ -15054,8 +15206,10 @@
 java.lang.UNIXProcess$2
 java.lang.UNIXProcess$3
 java.lang.UNIXProcess$ProcessPipeInputStream
+java.lang.UNIXProcess$ProcessPipeOutputStream
 java.lang.UNIXProcess$ProcessReaperThreadFactory$1
 java.lang.UNIXProcess$ProcessReaperThreadFactory
+java.lang.UNIXProcess
 java.lang.UnsatisfiedLinkError
 java.lang.UnsupportedClassVersionError
 java.lang.UnsupportedOperationException
@@ -15310,8 +15464,10 @@
 java.net.SocketException
 java.net.SocketImpl
 java.net.SocketImplFactory
+java.net.SocketInputStream
 java.net.SocketOption
 java.net.SocketOptions
+java.net.SocketOutputStream
 java.net.SocketPermission
 java.net.SocketTimeoutException
 java.net.SocksConsts
@@ -15338,12 +15494,18 @@
 java.nio.ByteBuffer
 java.nio.ByteBufferAsCharBuffer
 java.nio.ByteBufferAsDoubleBuffer
+java.nio.ByteBufferAsFloatBuffer
+java.nio.ByteBufferAsIntBuffer
+java.nio.ByteBufferAsLongBuffer
 java.nio.ByteBufferAsShortBuffer
 java.nio.ByteOrder
 java.nio.CharBuffer
 java.nio.DirectByteBuffer$MemoryRef
+java.nio.DirectByteBuffer
 java.nio.DoubleBuffer
 java.nio.FloatBuffer
+java.nio.HeapByteBuffer
+java.nio.HeapCharBuffer
 java.nio.HeapIntBuffer
 java.nio.IntBuffer
 java.nio.InvalidMarkException
@@ -15495,6 +15657,7 @@
 java.security.KeyStore
 java.security.KeyStoreException
 java.security.KeyStoreSpi
+java.security.MessageDigest$Delegate
 java.security.MessageDigest
 java.security.MessageDigestSpi
 java.security.NoSuchAlgorithmException
@@ -15656,6 +15819,7 @@
 java.text.RuleBasedCollator
 java.text.SimpleDateFormat
 java.text.StringCharacterIterator
+java.time.Clock$SystemClock
 java.time.Clock
 java.time.DateTimeException
 java.time.DayOfWeek
@@ -15674,6 +15838,7 @@
 java.time.Year
 java.time.ZoneId
 java.time.ZoneOffset
+java.time.ZoneRegion
 java.time.ZonedDateTime$$ExternalSyntheticLambda0
 java.time.ZonedDateTime$1
 java.time.ZonedDateTime
@@ -15764,6 +15929,7 @@
 java.time.zone.ZoneRulesException
 java.time.zone.ZoneRulesProvider
 java.util.AbstractCollection
+java.util.AbstractList$Itr
 java.util.AbstractList$ListItr
 java.util.AbstractList$RandomAccessSpliterator
 java.util.AbstractList$RandomAccessSubList
@@ -15773,6 +15939,7 @@
 java.util.AbstractList
 java.util.AbstractMap$1
 java.util.AbstractMap$2$1
+java.util.AbstractMap$2
 java.util.AbstractMap$SimpleEntry
 java.util.AbstractMap$SimpleImmutableEntry
 java.util.AbstractMap$ViewCollection
@@ -15781,10 +15948,15 @@
 java.util.AbstractSequentialList
 java.util.AbstractSet
 java.util.ArrayDeque$$ExternalSyntheticLambda1
+java.util.ArrayDeque$DeqIterator
+java.util.ArrayDeque$DescendingIterator
 java.util.ArrayDeque
 java.util.ArrayList$ArrayListSpliterator
+java.util.ArrayList$Itr
 java.util.ArrayList$ListItr
+java.util.ArrayList$SubList$1
 java.util.ArrayList$SubList$2
+java.util.ArrayList$SubList
 java.util.ArrayList
 java.util.ArrayPrefixHelpers$CumulateTask
 java.util.ArrayPrefixHelpers$DoubleCumulateTask
@@ -15794,6 +15966,8 @@
 java.util.Arrays$$ExternalSyntheticLambda1
 java.util.Arrays$$ExternalSyntheticLambda2
 java.util.Arrays$$ExternalSyntheticLambda3
+java.util.Arrays$ArrayItr
+java.util.Arrays$ArrayList
 java.util.Arrays$NaturalOrder
 java.util.Arrays
 java.util.ArraysParallelSortHelpers$FJObject$Sorter
@@ -15805,7 +15979,9 @@
 java.util.Calendar$Builder
 java.util.Calendar
 java.util.Collection
+java.util.Collections$1
 java.util.Collections$2
+java.util.Collections$3
 java.util.Collections$AsLIFOQueue
 java.util.Collections$CheckedCollection
 java.util.Collections$CheckedList
@@ -15819,29 +15995,50 @@
 java.util.Collections$CheckedSortedSet
 java.util.Collections$CopiesList
 java.util.Collections$EmptyEnumeration
+java.util.Collections$EmptyIterator
+java.util.Collections$EmptyList
 java.util.Collections$EmptyListIterator
+java.util.Collections$EmptyMap
+java.util.Collections$EmptySet
 java.util.Collections$ReverseComparator2
 java.util.Collections$ReverseComparator
 java.util.Collections$SequencedSetFromMap
 java.util.Collections$SetFromMap
+java.util.Collections$SingletonList
+java.util.Collections$SingletonMap
+java.util.Collections$SingletonSet
+java.util.Collections$SynchronizedCollection
 java.util.Collections$SynchronizedList
+java.util.Collections$SynchronizedMap
 java.util.Collections$SynchronizedNavigableMap
 java.util.Collections$SynchronizedNavigableSet
+java.util.Collections$SynchronizedRandomAccessList
+java.util.Collections$SynchronizedSet
 java.util.Collections$SynchronizedSortedMap
 java.util.Collections$SynchronizedSortedSet
+java.util.Collections$UnmodifiableCollection$1
+java.util.Collections$UnmodifiableCollection
 java.util.Collections$UnmodifiableList$1
 java.util.Collections$UnmodifiableList
+java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$1
+java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry
+java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet
+java.util.Collections$UnmodifiableMap
 java.util.Collections$UnmodifiableNavigableMap$EmptyNavigableMap
 java.util.Collections$UnmodifiableNavigableMap
 java.util.Collections$UnmodifiableNavigableSet$EmptyNavigableSet
 java.util.Collections$UnmodifiableNavigableSet
+java.util.Collections$UnmodifiableRandomAccessList
 java.util.Collections$UnmodifiableSequencedCollection
 java.util.Collections$UnmodifiableSequencedMap
 java.util.Collections$UnmodifiableSequencedSet
+java.util.Collections$UnmodifiableSet
 java.util.Collections$UnmodifiableSortedMap
+java.util.Collections$UnmodifiableSortedSet
 java.util.Collections-IA
 java.util.Collections
 java.util.ComparableTimSort
+java.util.Comparator$$ExternalSyntheticLambda0
 java.util.Comparator$$ExternalSyntheticLambda1
 java.util.Comparator$$ExternalSyntheticLambda2
 java.util.Comparator$$ExternalSyntheticLambda3
@@ -15888,15 +16085,25 @@
 java.util.Formatter$FormatString
 java.util.Formatter
 java.util.FormatterClosedException
+java.util.GregorianCalendar
+java.util.HashMap$EntryIterator
+java.util.HashMap$EntrySet
 java.util.HashMap$EntrySpliterator
 java.util.HashMap$HashIterator
 java.util.HashMap$HashMapSpliterator
+java.util.HashMap$KeyIterator
+java.util.HashMap$KeySet
 java.util.HashMap$KeySpliterator
+java.util.HashMap$Node
+java.util.HashMap$TreeNode
 java.util.HashMap$UnsafeHolder
+java.util.HashMap$ValueIterator
 java.util.HashMap$ValueSpliterator
+java.util.HashMap$Values
 java.util.HashMap
 java.util.HashSet
 java.util.Hashtable$EntrySet
+java.util.Hashtable$Enumerator
 java.util.Hashtable$HashtableEntry
 java.util.Hashtable$KeySet
 java.util.Hashtable$ValueCollection
@@ -15927,9 +16134,16 @@
 java.util.ImmutableCollections$AbstractImmutableSet
 java.util.ImmutableCollections$Access$1
 java.util.ImmutableCollections$Access
+java.util.ImmutableCollections$List12
+java.util.ImmutableCollections$ListItr
+java.util.ImmutableCollections$ListN
+java.util.ImmutableCollections$Map1
 java.util.ImmutableCollections$MapN$1
 java.util.ImmutableCollections$MapN$MapNIterator
+java.util.ImmutableCollections$MapN
+java.util.ImmutableCollections$Set12
 java.util.ImmutableCollections$SetN$SetNIterator
+java.util.ImmutableCollections$SetN
 java.util.ImmutableCollections$SubList
 java.util.ImmutableCollections-IA
 java.util.InputMismatchException
@@ -15937,10 +16151,19 @@
 java.util.JumboEnumSet$EnumSetIterator
 java.util.JumboEnumSet
 java.util.KeyValueHolder
+java.util.LinkedHashMap$Entry
+java.util.LinkedHashMap$LinkedEntryIterator
+java.util.LinkedHashMap$LinkedEntrySet
 java.util.LinkedHashMap$LinkedHashIterator
+java.util.LinkedHashMap$LinkedKeyIterator
+java.util.LinkedHashMap$LinkedKeySet
+java.util.LinkedHashMap$LinkedValueIterator
+java.util.LinkedHashMap$LinkedValues
 java.util.LinkedHashMap$ReversedLinkedHashMapView
 java.util.LinkedHashMap
 java.util.LinkedHashSet
+java.util.LinkedList$DescendingIterator
+java.util.LinkedList$ListItr
 java.util.LinkedList$Node
 java.util.LinkedList
 java.util.List
@@ -15977,6 +16200,7 @@
 java.util.PrimitiveIterator$OfInt$$ExternalSyntheticLambda0
 java.util.PrimitiveIterator$OfInt
 java.util.PrimitiveIterator
+java.util.PriorityQueue$Itr
 java.util.PriorityQueue
 java.util.Properties$EntrySet
 java.util.Properties$LineReader
@@ -16048,13 +16272,18 @@
 java.util.TreeMap$AscendingSubMap$AscendingEntrySetView
 java.util.TreeMap$AscendingSubMap
 java.util.TreeMap$DescendingSubMap
+java.util.TreeMap$EntryIterator
+java.util.TreeMap$EntrySet
+java.util.TreeMap$KeyIterator
 java.util.TreeMap$KeySet
 java.util.TreeMap$NavigableSubMap$DescendingSubMapKeyIterator
 java.util.TreeMap$NavigableSubMap$EntrySetView
 java.util.TreeMap$NavigableSubMap$SubMapEntryIterator
 java.util.TreeMap$NavigableSubMap$SubMapIterator
+java.util.TreeMap$NavigableSubMap$SubMapKeyIterator
 java.util.TreeMap$NavigableSubMap
 java.util.TreeMap$PrivateEntryIterator
+java.util.TreeMap$TreeMapEntry
 java.util.TreeMap$ValueIterator
 java.util.TreeMap$Values
 java.util.TreeMap
@@ -16073,6 +16302,8 @@
 java.util.WeakHashMap$EntryIterator
 java.util.WeakHashMap$EntrySet
 java.util.WeakHashMap$HashIterator
+java.util.WeakHashMap$KeyIterator
+java.util.WeakHashMap$KeySet
 java.util.WeakHashMap$ValueIterator
 java.util.WeakHashMap$Values
 java.util.WeakHashMap-IA
@@ -16099,6 +16330,8 @@
 java.util.concurrent.ConcurrentHashMap$BulkTask
 java.util.concurrent.ConcurrentHashMap$CollectionView
 java.util.concurrent.ConcurrentHashMap$CounterCell
+java.util.concurrent.ConcurrentHashMap$EntryIterator
+java.util.concurrent.ConcurrentHashMap$EntrySetView
 java.util.concurrent.ConcurrentHashMap$ForEachEntryTask
 java.util.concurrent.ConcurrentHashMap$ForEachKeyTask
 java.util.concurrent.ConcurrentHashMap$ForEachMappingTask
@@ -16111,6 +16344,7 @@
 java.util.concurrent.ConcurrentHashMap$KeyIterator
 java.util.concurrent.ConcurrentHashMap$KeySetView
 java.util.concurrent.ConcurrentHashMap$KeySpliterator
+java.util.concurrent.ConcurrentHashMap$MapEntry
 java.util.concurrent.ConcurrentHashMap$MapReduceEntriesTask
 java.util.concurrent.ConcurrentHashMap$MapReduceEntriesToDoubleTask
 java.util.concurrent.ConcurrentHashMap$MapReduceEntriesToIntTask
@@ -16141,11 +16375,14 @@
 java.util.concurrent.ConcurrentHashMap$Traverser
 java.util.concurrent.ConcurrentHashMap$TreeBin
 java.util.concurrent.ConcurrentHashMap$TreeNode
+java.util.concurrent.ConcurrentHashMap$ValueIterator
+java.util.concurrent.ConcurrentHashMap$ValuesView
 java.util.concurrent.ConcurrentHashMap
 java.util.concurrent.ConcurrentLinkedDeque$Node
 java.util.concurrent.ConcurrentLinkedDeque
 java.util.concurrent.ConcurrentLinkedQueue$$ExternalSyntheticLambda0
 java.util.concurrent.ConcurrentLinkedQueue$$ExternalSyntheticLambda2
+java.util.concurrent.ConcurrentLinkedQueue$Itr
 java.util.concurrent.ConcurrentLinkedQueue$Node
 java.util.concurrent.ConcurrentLinkedQueue
 java.util.concurrent.ConcurrentMap$$ExternalSyntheticLambda0
@@ -16160,6 +16397,8 @@
 java.util.concurrent.ConcurrentSkipListMap
 java.util.concurrent.ConcurrentSkipListSet
 java.util.concurrent.CopyOnWriteArrayList$$ExternalSyntheticLambda2
+java.util.concurrent.CopyOnWriteArrayList$COWIterator
+java.util.concurrent.CopyOnWriteArrayList
 java.util.concurrent.CopyOnWriteArraySet
 java.util.concurrent.CountDownLatch$Sync
 java.util.concurrent.CountDownLatch
@@ -16170,8 +16409,11 @@
 java.util.concurrent.Executor
 java.util.concurrent.ExecutorService
 java.util.concurrent.Executors$AutoShutdownDelegatedExecutorService$$ExternalSyntheticLambda0
+java.util.concurrent.Executors$AutoShutdownDelegatedExecutorService$$ExternalSyntheticLambda1
+java.util.concurrent.Executors$AutoShutdownDelegatedExecutorService
 java.util.concurrent.Executors$DefaultThreadFactory
 java.util.concurrent.Executors$DelegatedExecutorService
+java.util.concurrent.Executors$DelegatedScheduledExecutorService
 java.util.concurrent.Executors$RunnableAdapter
 java.util.concurrent.Executors
 java.util.concurrent.ForkJoinPool$1
@@ -16206,6 +16448,8 @@
 java.util.concurrent.ScheduledFuture
 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr
 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue
+java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask
+java.util.concurrent.ScheduledThreadPoolExecutor
 java.util.concurrent.Semaphore$FairSync
 java.util.concurrent.Semaphore$NonfairSync
 java.util.concurrent.Semaphore$Sync
@@ -16216,6 +16460,7 @@
 java.util.concurrent.ThreadPoolExecutor$AbortPolicy
 java.util.concurrent.ThreadPoolExecutor$DiscardPolicy
 java.util.concurrent.ThreadPoolExecutor$Worker
+java.util.concurrent.ThreadPoolExecutor
 java.util.concurrent.TimeUnit$1
 java.util.concurrent.TimeUnit
 java.util.concurrent.TimeoutException
@@ -16255,9 +16500,11 @@
 java.util.concurrent.locks.ReentrantLock
 java.util.concurrent.locks.ReentrantReadWriteLock$FairSync
 java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync
+java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock
 java.util.concurrent.locks.ReentrantReadWriteLock$Sync$HoldCounter
 java.util.concurrent.locks.ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter
 java.util.concurrent.locks.ReentrantReadWriteLock$Sync
+java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock
 java.util.concurrent.locks.ReentrantReadWriteLock
 java.util.function.BiConsumer
 java.util.function.BiFunction$$ExternalSyntheticLambda0
@@ -16273,6 +16520,7 @@
 java.util.function.DoubleSupplier
 java.util.function.DoubleUnaryOperator$$ExternalSyntheticLambda0
 java.util.function.DoubleUnaryOperator$$ExternalSyntheticLambda1
+java.util.function.DoubleUnaryOperator$$ExternalSyntheticLambda2
 java.util.function.DoubleUnaryOperator
 java.util.function.Function$$ExternalSyntheticLambda0
 java.util.function.Function$$ExternalSyntheticLambda1
@@ -16426,6 +16674,7 @@
 java.util.stream.Collectors
 java.util.stream.DistinctOps$1$1
 java.util.stream.DistinctOps$1$2
+java.util.stream.DistinctOps$1
 java.util.stream.DistinctOps
 java.util.stream.DoublePipeline$$ExternalSyntheticLambda0
 java.util.stream.DoublePipeline$$ExternalSyntheticLambda4
@@ -16457,8 +16706,12 @@
 java.util.stream.IntPipeline$$ExternalSyntheticLambda7
 java.util.stream.IntPipeline$$ExternalSyntheticLambda8
 java.util.stream.IntPipeline$1$1
+java.util.stream.IntPipeline$10
+java.util.stream.IntPipeline$1
 java.util.stream.IntPipeline$4$1
+java.util.stream.IntPipeline$4
 java.util.stream.IntPipeline$9
+java.util.stream.IntPipeline$Head
 java.util.stream.IntPipeline$StatelessOp
 java.util.stream.IntPipeline
 java.util.stream.IntStream
@@ -16529,14 +16782,18 @@
 java.util.stream.ReferencePipeline$15$1
 java.util.stream.ReferencePipeline$15
 java.util.stream.ReferencePipeline$2$1
+java.util.stream.ReferencePipeline$2
 java.util.stream.ReferencePipeline$3$1
+java.util.stream.ReferencePipeline$3
 java.util.stream.ReferencePipeline$4$1
+java.util.stream.ReferencePipeline$4
 java.util.stream.ReferencePipeline$5$1
 java.util.stream.ReferencePipeline$5
 java.util.stream.ReferencePipeline$6$1
 java.util.stream.ReferencePipeline$6
 java.util.stream.ReferencePipeline$7$1
 java.util.stream.ReferencePipeline$7
+java.util.stream.ReferencePipeline$Head
 java.util.stream.ReferencePipeline$StatefulOp
 java.util.stream.ReferencePipeline$StatelessOp
 java.util.stream.ReferencePipeline
@@ -16550,6 +16807,7 @@
 java.util.stream.SliceOps$1
 java.util.stream.SliceOps
 java.util.stream.SortedOps$AbstractRefSortingSink
+java.util.stream.SortedOps$OfRef
 java.util.stream.SortedOps$RefSortingSink$$ExternalSyntheticLambda0
 java.util.stream.SortedOps$RefSortingSink
 java.util.stream.SortedOps$SizedRefSortingSink
@@ -16875,6 +17133,7 @@
 jdk.internal.misc.VM
 jdk.internal.misc.VirtualThreads
 jdk.internal.ref.CleanerFactory
+jdk.internal.ref.CleanerImpl$PhantomCleanableRef
 jdk.internal.ref.CleanerImpl
 jdk.internal.ref.PhantomCleanable
 jdk.internal.reflect.Reflection
@@ -16975,6 +17234,7 @@
 libcore.util.Objects
 libcore.util.SneakyThrow
 libcore.util.XmlObjectFactory
+libcore.util.ZoneInfo
 org.apache.harmony.dalvik.ddmc.Chunk
 org.apache.harmony.dalvik.ddmc.ChunkHandler
 org.apache.harmony.dalvik.ddmc.DdmServer
@@ -17021,6 +17281,7 @@
 org.apache.http.params.CoreConnectionPNames
 org.apache.http.params.HttpConnectionParams
 org.apache.http.params.HttpParams
+org.ccil.cowan.tagsoup.AttributesImpl
 org.ccil.cowan.tagsoup.AutoDetector
 org.ccil.cowan.tagsoup.CommandLine
 org.ccil.cowan.tagsoup.Element
@@ -17137,6 +17398,7 @@
 sun.nio.ch.FileChannelImpl$SimpleFileLockTable
 sun.nio.ch.FileChannelImpl$Unmapper
 sun.nio.ch.FileChannelImpl-IA
+sun.nio.ch.FileChannelImpl
 sun.nio.ch.FileDescriptorHolderSocketImpl
 sun.nio.ch.FileDispatcher
 sun.nio.ch.FileDispatcherImpl
@@ -17408,6 +17670,7 @@
 sun.util.locale.BaseLocale
 sun.util.locale.Extension
 sun.util.locale.InternalLocaleBuilder$CaseInsensitiveChar
+sun.util.locale.InternalLocaleBuilder$CaseInsensitiveString
 sun.util.locale.InternalLocaleBuilder-IA
 sun.util.locale.InternalLocaleBuilder
 sun.util.locale.LanguageTag
@@ -17865,6 +18128,7 @@
 [Landroid.widget.SpellChecker$SpellParser;
 [Landroid.widget.TextView$BufferType;
 [Landroid.widget.TextView$ChangeWatcher;
+[Landroid.window.BackTouchTracker$TouchTrackerState;
 [Landroid.window.DesktopModeFlags$ToggleOverride;
 [Landroid.window.DesktopModeFlags;
 [Landroid.window.TransitionFilter$Requirement;
@@ -17976,6 +18240,7 @@
 [Ljava.io.ObjectStreamClass$ClassDataSlot;
 [Ljava.io.ObjectStreamClass$MemberSignature;
 [Ljava.io.ObjectStreamField;
+[Ljava.io.Serializable;
 [Ljava.lang.Boolean;
 [Ljava.lang.Byte;
 [Ljava.lang.CharSequence;
@@ -17989,6 +18254,7 @@
 [Ljava.lang.Double;
 [Ljava.lang.Enum;
 [Ljava.lang.Integer;
+[Ljava.lang.Iterable;
 [Ljava.lang.Long;
 [Ljava.lang.Number;
 [Ljava.lang.Object;
@@ -18004,6 +18270,7 @@
 [Ljava.lang.Thread;
 [Ljava.lang.ThreadGroup;
 [Ljava.lang.ThreadLocal$ThreadLocalMap$Entry;
+[Ljava.lang.ThreadLocal;
 [Ljava.lang.Throwable;
 [Ljava.lang.Void;
 [Ljava.lang.annotation.Annotation;
@@ -18085,6 +18352,7 @@
 [Ljava.time.zone.ZoneOffsetTransitionRule$TimeDefinition;
 [Ljava.time.zone.ZoneOffsetTransitionRule;
 [Ljava.util.ArrayList;
+[Ljava.util.Comparator;
 [Ljava.util.Comparators$NaturalOrderComparator;
 [Ljava.util.Enumeration;
 [Ljava.util.Formatter$Flags;
@@ -18097,7 +18365,9 @@
 [Ljava.util.Locale$IsoCountryCode;
 [Ljava.util.Locale;
 [Ljava.util.Map$Entry;
+[Ljava.util.Set;
 [Ljava.util.TimerTask;
+[Ljava.util.UUID;
 [Ljava.util.WeakHashMap$Entry;
 [Ljava.util.concurrent.ConcurrentHashMap$CounterCell;
 [Ljava.util.concurrent.ConcurrentHashMap$Node;
@@ -18107,6 +18377,7 @@
 [Ljava.util.concurrent.Future$State;
 [Ljava.util.concurrent.RunnableScheduledFuture;
 [Ljava.util.concurrent.TimeUnit;
+[Ljava.util.concurrent.atomic.AtomicReference;
 [Ljava.util.concurrent.atomic.Striped64$Cell;
 [Ljava.util.logging.Handler;
 [Ljava.util.prefs.AbstractPreferences;
diff --git a/core/api/current.txt b/core/api/current.txt
index 4862236..3da5a5c 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -16993,7 +16993,7 @@
     method public void setFilterBitmap(boolean);
     method public void setFlags(int);
     method public void setFontFeatureSettings(String);
-    method @FlaggedApi("com.android.text.flags.typeface_redesign_readonly") public boolean setFontVariationOverride(@Nullable String);
+    method @FlaggedApi("com.android.text.flags.typeface_redesign_readonly") public void setFontVariationOverride(@Nullable String);
     method public boolean setFontVariationSettings(String);
     method public void setHinting(int);
     method public void setLetterSpacing(float);
@@ -18112,7 +18112,7 @@
     method public void setThickness(@Px int);
     method public void setThicknessRatio(@FloatRange(from=0.0f, fromInclusive=false) float);
     method public void setUseLevel(boolean);
-    field @FlaggedApi("com.android.graphics.flags.gradient_drawable_shape_rounded_cap") public static final int ARC = 4; // 0x4
+    field @FlaggedApi("com.android.graphics.flags.gradient_drawable_shape_arc_for_rounded_cap") public static final int ARC = 4; // 0x4
     field public static final int LINE = 2; // 0x2
     field public static final int LINEAR_GRADIENT = 0; // 0x0
     field public static final int OVAL = 1; // 0x1
@@ -23332,12 +23332,12 @@
   public static final class MediaCodecInfo.CodecCapabilities {
     ctor public MediaCodecInfo.CodecCapabilities();
     method public static android.media.MediaCodecInfo.CodecCapabilities createFromProfileLevel(String, int, int);
-    method public android.media.MediaCodecInfo.AudioCapabilities getAudioCapabilities();
+    method @Nullable public android.media.MediaCodecInfo.AudioCapabilities getAudioCapabilities();
     method public android.media.MediaFormat getDefaultFormat();
-    method public android.media.MediaCodecInfo.EncoderCapabilities getEncoderCapabilities();
+    method @Nullable public android.media.MediaCodecInfo.EncoderCapabilities getEncoderCapabilities();
     method public int getMaxSupportedInstances();
     method public String getMimeType();
-    method public android.media.MediaCodecInfo.VideoCapabilities getVideoCapabilities();
+    method @Nullable public android.media.MediaCodecInfo.VideoCapabilities getVideoCapabilities();
     method public boolean isFeatureRequired(String);
     method public boolean isFeatureSupported(String);
     method public boolean isFormatSupported(android.media.MediaFormat);
@@ -46375,7 +46375,7 @@
     field public static final int OUT_OF_NETWORK = 11; // 0xb
     field public static final int OUT_OF_SERVICE = 18; // 0x12
     field public static final int POWER_OFF = 17; // 0x11
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_ENABLED = 82; // 0x52
+    field public static final int SATELLITE_ENABLED = 82; // 0x52
     field public static final int SERVER_ERROR = 12; // 0xc
     field public static final int SERVER_UNREACHABLE = 9; // 0x9
     field public static final int TIMED_OUT = 13; // 0xd
@@ -47077,7 +47077,7 @@
     method public int getSubscriptionType();
     method public int getUsageSetting();
     method public boolean isEmbedded();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public boolean isOnlyNonTerrestrialNetwork();
+    method public boolean isOnlyNonTerrestrialNetwork();
     method public boolean isOpportunistic();
     method public void writeToParcel(android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SubscriptionInfo> CREATOR;
@@ -47528,7 +47528,7 @@
     field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int ERI_FLASH = 2; // 0x2
     field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int ERI_OFF = 1; // 0x1
     field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int ERI_ON = 0; // 0x0
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final String EVENT_DISPLAY_EMERGENCY_MESSAGE = "android.telephony.event.DISPLAY_EMERGENCY_MESSAGE";
+    field public static final String EVENT_DISPLAY_EMERGENCY_MESSAGE = "android.telephony.event.DISPLAY_EMERGENCY_MESSAGE";
     field public static final String EXTRA_ACTIVE_SIM_SUPPORTED_COUNT = "android.telephony.extra.ACTIVE_SIM_SUPPORTED_COUNT";
     field public static final String EXTRA_APN_PROTOCOL = "android.telephony.extra.APN_PROTOCOL";
     field public static final String EXTRA_APN_TYPE = "android.telephony.extra.APN_TYPE";
@@ -47537,8 +47537,8 @@
     field public static final String EXTRA_CARRIER_NAME = "android.telephony.extra.CARRIER_NAME";
     field public static final String EXTRA_DATA_FAIL_CAUSE = "android.telephony.extra.DATA_FAIL_CAUSE";
     field public static final String EXTRA_DEFAULT_NETWORK_AVAILABLE = "android.telephony.extra.DEFAULT_NETWORK_AVAILABLE";
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final String EXTRA_EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE = "android.telephony.extra.EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE";
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final String EXTRA_EMERGENCY_CALL_TO_SATELLITE_LAUNCH_INTENT = "android.telephony.extra.EMERGENCY_CALL_TO_SATELLITE_LAUNCH_INTENT";
+    field public static final String EXTRA_EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE = "android.telephony.extra.EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE";
+    field public static final String EXTRA_EMERGENCY_CALL_TO_SATELLITE_LAUNCH_INTENT = "android.telephony.extra.EMERGENCY_CALL_TO_SATELLITE_LAUNCH_INTENT";
     field public static final String EXTRA_HIDE_PUBLIC_SETTINGS = "android.telephony.extra.HIDE_PUBLIC_SETTINGS";
     field @Deprecated public static final String EXTRA_INCOMING_NUMBER = "incoming_number";
     field public static final String EXTRA_IS_REFRESH = "android.telephony.extra.IS_REFRESH";
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index 137c967..984bc68 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -11082,7 +11082,7 @@
   public final class ConfigUpdate {
     field public static final String ACTION_UPDATE_CARRIER_ID_DB = "android.os.action.UPDATE_CARRIER_ID_DB";
     field public static final String ACTION_UPDATE_CARRIER_PROVISIONING_URLS = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS";
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final String ACTION_UPDATE_CONFIG = "android.os.action.UPDATE_CONFIG";
+    field public static final String ACTION_UPDATE_CONFIG = "android.os.action.UPDATE_CONFIG";
     field public static final String ACTION_UPDATE_CONVERSATION_ACTIONS = "android.intent.action.UPDATE_CONVERSATION_ACTIONS";
     field public static final String ACTION_UPDATE_CT_LOGS = "android.intent.action.UPDATE_CT_LOGS";
     field public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = "android.os.action.UPDATE_EMERGENCY_NUMBER_DB";
@@ -11092,7 +11092,7 @@
     field public static final String ACTION_UPDATE_PINS = "android.intent.action.UPDATE_PINS";
     field public static final String ACTION_UPDATE_SMART_SELECTION = "android.intent.action.UPDATE_SMART_SELECTION";
     field public static final String ACTION_UPDATE_SMS_SHORT_CODES = "android.intent.action.UPDATE_SMS_SHORT_CODES";
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final String EXTRA_DOMAIN = "android.os.extra.DOMAIN";
+    field public static final String EXTRA_DOMAIN = "android.os.extra.DOMAIN";
     field public static final String EXTRA_REQUIRED_HASH = "android.os.extra.REQUIRED_HASH";
     field public static final String EXTRA_VERSION = "android.os.extra.VERSION";
   }
@@ -18473,21 +18473,21 @@
 
 package android.telephony.satellite {
 
-  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public final class AntennaDirection implements android.os.Parcelable {
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int describeContents();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public float getX();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public float getY();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public float getZ();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void writeToParcel(@NonNull android.os.Parcel, int);
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.AntennaDirection> CREATOR;
+  public final class AntennaDirection implements android.os.Parcelable {
+    method public int describeContents();
+    method public float getX();
+    method public float getY();
+    method public float getZ();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.AntennaDirection> CREATOR;
   }
 
-  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public final class AntennaPosition implements android.os.Parcelable {
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int describeContents();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public android.telephony.satellite.AntennaDirection getAntennaDirection();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int getSuggestedHoldPosition();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void writeToParcel(@NonNull android.os.Parcel, int);
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.AntennaPosition> CREATOR;
+  public final class AntennaPosition implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.telephony.satellite.AntennaDirection getAntennaDirection();
+    method public int getSuggestedHoldPosition();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.AntennaPosition> CREATOR;
   }
 
   @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public final class EarfcnRange implements android.os.Parcelable {
@@ -18498,42 +18498,42 @@
     field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.EarfcnRange> CREATOR;
   }
 
-  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public class EnableRequestAttributes {
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public boolean isDemoMode();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public boolean isEmergencyMode();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public boolean isEnabled();
+  public class EnableRequestAttributes {
+    method public boolean isDemoMode();
+    method public boolean isEmergencyMode();
+    method public boolean isEnabled();
   }
 
-  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final class EnableRequestAttributes.Builder {
-    ctor @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public EnableRequestAttributes.Builder(boolean);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public android.telephony.satellite.EnableRequestAttributes build();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public android.telephony.satellite.EnableRequestAttributes.Builder setDemoMode(boolean);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public android.telephony.satellite.EnableRequestAttributes.Builder setEmergencyMode(boolean);
+  public static final class EnableRequestAttributes.Builder {
+    ctor public EnableRequestAttributes.Builder(boolean);
+    method @NonNull public android.telephony.satellite.EnableRequestAttributes build();
+    method @NonNull public android.telephony.satellite.EnableRequestAttributes.Builder setDemoMode(boolean);
+    method @NonNull public android.telephony.satellite.EnableRequestAttributes.Builder setEmergencyMode(boolean);
   }
 
-  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public final class NtnSignalStrength implements android.os.Parcelable {
-    ctor @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public NtnSignalStrength(@Nullable android.telephony.satellite.NtnSignalStrength);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int describeContents();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int getLevel();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void writeToParcel(@NonNull android.os.Parcel, int);
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.NtnSignalStrength> CREATOR;
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NTN_SIGNAL_STRENGTH_GOOD = 3; // 0x3
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NTN_SIGNAL_STRENGTH_GREAT = 4; // 0x4
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NTN_SIGNAL_STRENGTH_MODERATE = 2; // 0x2
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NTN_SIGNAL_STRENGTH_NONE = 0; // 0x0
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NTN_SIGNAL_STRENGTH_POOR = 1; // 0x1
+  public final class NtnSignalStrength implements android.os.Parcelable {
+    ctor public NtnSignalStrength(@Nullable android.telephony.satellite.NtnSignalStrength);
+    method public int describeContents();
+    method public int getLevel();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.NtnSignalStrength> CREATOR;
+    field public static final int NTN_SIGNAL_STRENGTH_GOOD = 3; // 0x3
+    field public static final int NTN_SIGNAL_STRENGTH_GREAT = 4; // 0x4
+    field public static final int NTN_SIGNAL_STRENGTH_MODERATE = 2; // 0x2
+    field public static final int NTN_SIGNAL_STRENGTH_NONE = 0; // 0x0
+    field public static final int NTN_SIGNAL_STRENGTH_POOR = 1; // 0x1
   }
 
-  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public interface NtnSignalStrengthCallback {
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void onNtnSignalStrengthChanged(@NonNull android.telephony.satellite.NtnSignalStrength);
+  public interface NtnSignalStrengthCallback {
+    method public void onNtnSignalStrengthChanged(@NonNull android.telephony.satellite.NtnSignalStrength);
   }
 
-  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public final class PointingInfo implements android.os.Parcelable {
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int describeContents();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @FloatRange(from=0xffffff4c, to=180) public float getSatelliteAzimuthDegrees();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @FloatRange(from=0xffffffa6, to=90) public float getSatelliteElevationDegrees();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void writeToParcel(@NonNull android.os.Parcel, int);
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.PointingInfo> CREATOR;
+  public final class PointingInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=0xffffff4c, to=180) public float getSatelliteAzimuthDegrees();
+    method @FloatRange(from=0xffffffa6, to=90) public float getSatelliteElevationDegrees();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.PointingInfo> CREATOR;
   }
 
   @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public final class SatelliteAccessConfiguration implements android.os.Parcelable {
@@ -18544,18 +18544,18 @@
     field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteAccessConfiguration> CREATOR;
   }
 
-  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public final class SatelliteCapabilities implements android.os.Parcelable {
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int describeContents();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public java.util.Map<java.lang.Integer,android.telephony.satellite.AntennaPosition> getAntennaPositionMap();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int getMaxBytesPerOutgoingDatagram();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public java.util.Set<java.lang.Integer> getSupportedRadioTechnologies();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public boolean isPointingRequired();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void writeToParcel(@NonNull android.os.Parcel, int);
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteCapabilities> CREATOR;
+  public final class SatelliteCapabilities implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Map<java.lang.Integer,android.telephony.satellite.AntennaPosition> getAntennaPositionMap();
+    method public int getMaxBytesPerOutgoingDatagram();
+    method @NonNull public java.util.Set<java.lang.Integer> getSupportedRadioTechnologies();
+    method public boolean isPointingRequired();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteCapabilities> CREATOR;
   }
 
-  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public interface SatelliteCapabilitiesCallback {
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void onSatelliteCapabilitiesChanged(@NonNull android.telephony.satellite.SatelliteCapabilities);
+  public interface SatelliteCapabilitiesCallback {
+    method public void onSatelliteCapabilitiesChanged(@NonNull android.telephony.satellite.SatelliteCapabilities);
   }
 
   @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public interface SatelliteCommunicationAccessStateCallback {
@@ -18563,15 +18563,15 @@
     method public default void onAccessConfigurationChanged(@Nullable android.telephony.satellite.SatelliteAccessConfiguration);
   }
 
-  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public final class SatelliteDatagram implements android.os.Parcelable {
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int describeContents();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public byte[] getSatelliteDatagram();
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void writeToParcel(@NonNull android.os.Parcel, int);
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteDatagram> CREATOR;
+  public final class SatelliteDatagram implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public byte[] getSatelliteDatagram();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteDatagram> CREATOR;
   }
 
-  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public interface SatelliteDatagramCallback {
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void onSatelliteDatagramReceived(long, @NonNull android.telephony.satellite.SatelliteDatagram, int, @NonNull java.util.function.Consumer<java.lang.Void>);
+  public interface SatelliteDatagramCallback {
+    method public void onSatelliteDatagramReceived(long, @NonNull android.telephony.satellite.SatelliteDatagram, int, @NonNull java.util.function.Consumer<java.lang.Void>);
   }
 
   @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public interface SatelliteDisallowedReasonsCallback {
@@ -18591,49 +18591,49 @@
   @FlaggedApi("com.android.internal.telephony.flags.satellite_state_change_listener") public final class SatelliteManager {
     method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void addAttachRestrictionForCarrier(int, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void deprovisionSatellite(@NonNull java.util.List<android.telephony.satellite.SatelliteSubscriberInfo>, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.telephony.satellite.SatelliteManager.SatelliteException>);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void deprovisionService(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void deprovisionService(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
     method @NonNull @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public java.util.Set<java.lang.Integer> getAttachRestrictionReasonsForCarrier(int);
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_25q4_apis") @NonNull @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public java.util.List<java.lang.String> getSatelliteDataOptimizedApps();
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @NonNull @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int[] getSatelliteDisallowedReasons();
     method @NonNull @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public java.util.List<java.lang.String> getSatellitePlmnsForCarrier(int);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void pollPendingDatagrams(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void pollPendingDatagrams(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void provisionSatellite(@NonNull java.util.List<android.telephony.satellite.SatelliteSubscriberInfo>, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.telephony.satellite.SatelliteManager.SatelliteException>);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void provisionService(@NonNull String, @NonNull byte[], @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForCapabilitiesChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteCapabilitiesCallback);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void provisionService(@NonNull String, @NonNull byte[], @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForCapabilitiesChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteCapabilitiesCallback);
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForCommunicationAccessStateChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteCommunicationAccessStateCallback);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForIncomingDatagram(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteDatagramCallback);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForModemStateChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteModemStateCallback);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void registerForNtnSignalStrengthChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.NtnSignalStrengthCallback);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForProvisionStateChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteProvisionStateCallback);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForIncomingDatagram(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteDatagramCallback);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForModemStateChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteModemStateCallback);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void registerForNtnSignalStrengthChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.NtnSignalStrengthCallback);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForProvisionStateChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteProvisionStateCallback);
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void registerForSatelliteDisallowedReasonsChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteDisallowedReasonsCallback);
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForSelectedNbIotSatelliteSubscriptionChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SelectedNbIotSatelliteSubscriptionCallback);
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForSupportedStateChanged(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
     method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void removeAttachRestrictionForCarrier(int, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
     method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestAttachEnabledForCarrier(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestCapabilities(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.satellite.SatelliteCapabilities,android.telephony.satellite.SatelliteManager.SatelliteException>);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestEnabled(@NonNull android.telephony.satellite.EnableRequestAttributes, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestCapabilities(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.satellite.SatelliteCapabilities,android.telephony.satellite.SatelliteManager.SatelliteException>);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestEnabled(@NonNull android.telephony.satellite.EnableRequestAttributes, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
     method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsAttachEnabledForCarrier(int, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsCommunicationAllowedForCurrentLocation(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsDemoModeEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsEmergencyModeEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsProvisioned(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void requestIsSupported(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestNtnSignalStrength(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.satellite.NtnSignalStrength,android.telephony.satellite.SatelliteManager.SatelliteException>);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsCommunicationAllowedForCurrentLocation(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsDemoModeEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsEmergencyModeEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsProvisioned(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
+    method public void requestIsSupported(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestNtnSignalStrength(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.satellite.NtnSignalStrength,android.telephony.satellite.SatelliteManager.SatelliteException>);
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestSatelliteAccessConfigurationForCurrentLocation(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.satellite.SatelliteAccessConfiguration,android.telephony.satellite.SatelliteManager.SatelliteException>);
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestSatelliteSubscriberProvisionStatus(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.util.List<android.telephony.satellite.SatelliteSubscriberProvisionStatus>,android.telephony.satellite.SatelliteManager.SatelliteException>);
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestSelectedNbIotSatelliteSubscriptionId(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Integer,android.telephony.satellite.SatelliteManager.SatelliteException>);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestTimeForNextSatelliteVisibility(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.time.Duration,android.telephony.satellite.SatelliteManager.SatelliteException>);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void sendDatagram(int, @NonNull android.telephony.satellite.SatelliteDatagram, boolean, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void setDeviceAlignedWithSatellite(boolean);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void startTransmissionUpdates(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>, @NonNull android.telephony.satellite.SatelliteTransmissionUpdateCallback);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void stopTransmissionUpdates(@NonNull android.telephony.satellite.SatelliteTransmissionUpdateCallback, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForCapabilitiesChanged(@NonNull android.telephony.satellite.SatelliteCapabilitiesCallback);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestTimeForNextSatelliteVisibility(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.time.Duration,android.telephony.satellite.SatelliteManager.SatelliteException>);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void sendDatagram(int, @NonNull android.telephony.satellite.SatelliteDatagram, boolean, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void setDeviceAlignedWithSatellite(boolean);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void startTransmissionUpdates(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>, @NonNull android.telephony.satellite.SatelliteTransmissionUpdateCallback);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void stopTransmissionUpdates(@NonNull android.telephony.satellite.SatelliteTransmissionUpdateCallback, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForCapabilitiesChanged(@NonNull android.telephony.satellite.SatelliteCapabilitiesCallback);
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForCommunicationAccessStateChanged(@NonNull android.telephony.satellite.SatelliteCommunicationAccessStateCallback);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForIncomingDatagram(@NonNull android.telephony.satellite.SatelliteDatagramCallback);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForModemStateChanged(@NonNull android.telephony.satellite.SatelliteModemStateCallback);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForNtnSignalStrengthChanged(@NonNull android.telephony.satellite.NtnSignalStrengthCallback);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForProvisionStateChanged(@NonNull android.telephony.satellite.SatelliteProvisionStateCallback);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForIncomingDatagram(@NonNull android.telephony.satellite.SatelliteDatagramCallback);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForModemStateChanged(@NonNull android.telephony.satellite.SatelliteModemStateCallback);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForNtnSignalStrengthChanged(@NonNull android.telephony.satellite.NtnSignalStrengthCallback);
+    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForProvisionStateChanged(@NonNull android.telephony.satellite.SatelliteProvisionStateCallback);
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForSatelliteDisallowedReasonsChanged(@NonNull android.telephony.satellite.SatelliteDisallowedReasonsCallback);
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForSelectedNbIotSatelliteSubscriptionChanged(@NonNull android.telephony.satellite.SelectedNbIotSatelliteSubscriptionCallback);
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForSupportedStateChanged(@NonNull java.util.function.Consumer<java.lang.Boolean>);
@@ -18643,86 +18643,86 @@
     field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int DATAGRAM_TYPE_KEEP_ALIVE = 3; // 0x3
     field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int DATAGRAM_TYPE_LAST_SOS_MESSAGE_NO_HELP_NEEDED = 5; // 0x5
     field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int DATAGRAM_TYPE_LAST_SOS_MESSAGE_STILL_NEED_HELP = 4; // 0x4
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DATAGRAM_TYPE_LOCATION_SHARING = 2; // 0x2
+    field public static final int DATAGRAM_TYPE_LOCATION_SHARING = 2; // 0x2
     field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int DATAGRAM_TYPE_SMS = 6; // 0x6
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DATAGRAM_TYPE_SOS_MESSAGE = 1; // 0x1
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DATAGRAM_TYPE_UNKNOWN = 0; // 0x0
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DEVICE_HOLD_POSITION_LANDSCAPE_LEFT = 2; // 0x2
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DEVICE_HOLD_POSITION_LANDSCAPE_RIGHT = 3; // 0x3
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DEVICE_HOLD_POSITION_PORTRAIT = 1; // 0x1
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DEVICE_HOLD_POSITION_UNKNOWN = 0; // 0x0
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DISPLAY_MODE_CLOSED = 3; // 0x3
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DISPLAY_MODE_FIXED = 1; // 0x1
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DISPLAY_MODE_OPENED = 2; // 0x2
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DISPLAY_MODE_UNKNOWN = 0; // 0x0
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE_SOS = 1; // 0x1
+    field public static final int DATAGRAM_TYPE_SOS_MESSAGE = 1; // 0x1
+    field public static final int DATAGRAM_TYPE_UNKNOWN = 0; // 0x0
+    field public static final int DEVICE_HOLD_POSITION_LANDSCAPE_LEFT = 2; // 0x2
+    field public static final int DEVICE_HOLD_POSITION_LANDSCAPE_RIGHT = 3; // 0x3
+    field public static final int DEVICE_HOLD_POSITION_PORTRAIT = 1; // 0x1
+    field public static final int DEVICE_HOLD_POSITION_UNKNOWN = 0; // 0x0
+    field public static final int DISPLAY_MODE_CLOSED = 3; // 0x3
+    field public static final int DISPLAY_MODE_FIXED = 1; // 0x1
+    field public static final int DISPLAY_MODE_OPENED = 2; // 0x2
+    field public static final int DISPLAY_MODE_UNKNOWN = 0; // 0x0
+    field public static final int EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE_SOS = 1; // 0x1
     field public static final int EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE_T911 = 2; // 0x2
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NT_RADIO_TECHNOLOGY_EMTC_NTN = 3; // 0x3
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NT_RADIO_TECHNOLOGY_NB_IOT_NTN = 1; // 0x1
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NT_RADIO_TECHNOLOGY_NR_NTN = 2; // 0x2
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NT_RADIO_TECHNOLOGY_PROPRIETARY = 4; // 0x4
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NT_RADIO_TECHNOLOGY_UNKNOWN = 0; // 0x0
+    field public static final int NT_RADIO_TECHNOLOGY_EMTC_NTN = 3; // 0x3
+    field public static final int NT_RADIO_TECHNOLOGY_NB_IOT_NTN = 1; // 0x1
+    field public static final int NT_RADIO_TECHNOLOGY_NR_NTN = 2; // 0x2
+    field public static final int NT_RADIO_TECHNOLOGY_PROPRIETARY = 4; // 0x4
+    field public static final int NT_RADIO_TECHNOLOGY_UNKNOWN = 0; // 0x0
     field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final String PROPERTY_SATELLITE_MANUAL_CONNECT_P2P_SUPPORT = "android.telephony.satellite.PROPERTY_SATELLITE_MANUAL_CONNECT_P2P_SUPPORT";
     field public static final int SATELLITE_COMMUNICATION_RESTRICTION_REASON_ENTITLEMENT = 2; // 0x2
     field public static final int SATELLITE_COMMUNICATION_RESTRICTION_REASON_GEOLOCATION = 1; // 0x1
     field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_COMMUNICATION_RESTRICTION_REASON_USER = 0; // 0x0
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE = 0; // 0x0
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_FAILED = 7; // 0x7
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_NONE = 6; // 0x6
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_SUCCESS = 5; // 0x5
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVING = 4; // 0x4
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SENDING = 1; // 0x1
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_FAILED = 3; // 0x3
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_SUCCESS = 2; // 0x2
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_UNKNOWN = -1; // 0xffffffff
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_WAITING_TO_CONNECT = 8; // 0x8
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_CONNECTED = 7; // 0x7
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_DATAGRAM_RETRYING = 3; // 0x3
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_DATAGRAM_TRANSFERRING = 2; // 0x2
+    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE = 0; // 0x0
+    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_FAILED = 7; // 0x7
+    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_NONE = 6; // 0x6
+    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_SUCCESS = 5; // 0x5
+    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVING = 4; // 0x4
+    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SENDING = 1; // 0x1
+    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_FAILED = 3; // 0x3
+    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_SUCCESS = 2; // 0x2
+    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_UNKNOWN = -1; // 0xffffffff
+    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_WAITING_TO_CONNECT = 8; // 0x8
+    field public static final int SATELLITE_MODEM_STATE_CONNECTED = 7; // 0x7
+    field public static final int SATELLITE_MODEM_STATE_DATAGRAM_RETRYING = 3; // 0x3
+    field public static final int SATELLITE_MODEM_STATE_DATAGRAM_TRANSFERRING = 2; // 0x2
     field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_MODEM_STATE_DISABLING_SATELLITE = 9; // 0x9
     field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_MODEM_STATE_ENABLING_SATELLITE = 8; // 0x8
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_IDLE = 0; // 0x0
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_LISTENING = 1; // 0x1
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_NOT_CONNECTED = 6; // 0x6
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_OFF = 4; // 0x4
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_UNAVAILABLE = 5; // 0x5
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_UNKNOWN = -1; // 0xffffffff
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_ACCESS_BARRED = 16; // 0x10
+    field public static final int SATELLITE_MODEM_STATE_IDLE = 0; // 0x0
+    field public static final int SATELLITE_MODEM_STATE_LISTENING = 1; // 0x1
+    field public static final int SATELLITE_MODEM_STATE_NOT_CONNECTED = 6; // 0x6
+    field public static final int SATELLITE_MODEM_STATE_OFF = 4; // 0x4
+    field public static final int SATELLITE_MODEM_STATE_UNAVAILABLE = 5; // 0x5
+    field public static final int SATELLITE_MODEM_STATE_UNKNOWN = -1; // 0xffffffff
+    field public static final int SATELLITE_RESULT_ACCESS_BARRED = 16; // 0x10
     field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_RESULT_DISABLE_IN_PROGRESS = 28; // 0x1c
     field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_RESULT_EMERGENCY_CALL_IN_PROGRESS = 27; // 0x1b
     field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_RESULT_ENABLE_IN_PROGRESS = 29; // 0x1d
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_ERROR = 1; // 0x1
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_ILLEGAL_STATE = 23; // 0x17
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_INVALID_ARGUMENTS = 8; // 0x8
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_INVALID_MODEM_STATE = 7; // 0x7
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_INVALID_TELEPHONY_STATE = 6; // 0x6
+    field public static final int SATELLITE_RESULT_ERROR = 1; // 0x1
+    field public static final int SATELLITE_RESULT_ILLEGAL_STATE = 23; // 0x17
+    field public static final int SATELLITE_RESULT_INVALID_ARGUMENTS = 8; // 0x8
+    field public static final int SATELLITE_RESULT_INVALID_MODEM_STATE = 7; // 0x7
+    field public static final int SATELLITE_RESULT_INVALID_TELEPHONY_STATE = 6; // 0x6
     field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_RESULT_LOCATION_DISABLED = 25; // 0x19
     field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_RESULT_LOCATION_NOT_AVAILABLE = 26; // 0x1a
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_MODEM_BUSY = 22; // 0x16
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_MODEM_ERROR = 4; // 0x4
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_MODEM_TIMEOUT = 24; // 0x18
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_NETWORK_ERROR = 5; // 0x5
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_NETWORK_TIMEOUT = 17; // 0x11
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_NOT_AUTHORIZED = 19; // 0x13
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_NOT_REACHABLE = 18; // 0x12
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_NOT_SUPPORTED = 20; // 0x14
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_NO_RESOURCES = 12; // 0xc
+    field public static final int SATELLITE_RESULT_MODEM_BUSY = 22; // 0x16
+    field public static final int SATELLITE_RESULT_MODEM_ERROR = 4; // 0x4
+    field public static final int SATELLITE_RESULT_MODEM_TIMEOUT = 24; // 0x18
+    field public static final int SATELLITE_RESULT_NETWORK_ERROR = 5; // 0x5
+    field public static final int SATELLITE_RESULT_NETWORK_TIMEOUT = 17; // 0x11
+    field public static final int SATELLITE_RESULT_NOT_AUTHORIZED = 19; // 0x13
+    field public static final int SATELLITE_RESULT_NOT_REACHABLE = 18; // 0x12
+    field public static final int SATELLITE_RESULT_NOT_SUPPORTED = 20; // 0x14
+    field public static final int SATELLITE_RESULT_NO_RESOURCES = 12; // 0xc
     field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_RESULT_NO_VALID_SATELLITE_SUBSCRIPTION = 30; // 0x1e
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_RADIO_NOT_AVAILABLE = 10; // 0xa
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_REQUEST_ABORTED = 15; // 0xf
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_REQUEST_FAILED = 9; // 0x9
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_REQUEST_IN_PROGRESS = 21; // 0x15
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_REQUEST_NOT_SUPPORTED = 11; // 0xb
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_SERVER_ERROR = 2; // 0x2
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_SERVICE_ERROR = 3; // 0x3
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_SERVICE_NOT_PROVISIONED = 13; // 0xd
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_SERVICE_PROVISION_IN_PROGRESS = 14; // 0xe
-    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_SUCCESS = 0; // 0x0
+    field public static final int SATELLITE_RESULT_RADIO_NOT_AVAILABLE = 10; // 0xa
+    field public static final int SATELLITE_RESULT_REQUEST_ABORTED = 15; // 0xf
+    field public static final int SATELLITE_RESULT_REQUEST_FAILED = 9; // 0x9
+    field public static final int SATELLITE_RESULT_REQUEST_IN_PROGRESS = 21; // 0x15
+    field public static final int SATELLITE_RESULT_REQUEST_NOT_SUPPORTED = 11; // 0xb
+    field public static final int SATELLITE_RESULT_SERVER_ERROR = 2; // 0x2
+    field public static final int SATELLITE_RESULT_SERVICE_ERROR = 3; // 0x3
+    field public static final int SATELLITE_RESULT_SERVICE_NOT_PROVISIONED = 13; // 0xd
+    field public static final int SATELLITE_RESULT_SERVICE_PROVISION_IN_PROGRESS = 14; // 0xe
+    field public static final int SATELLITE_RESULT_SUCCESS = 0; // 0x0
   }
 
-  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static class SatelliteManager.SatelliteException extends java.lang.Exception {
-    ctor @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public SatelliteManager.SatelliteException(int);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int getErrorCode();
+  public static class SatelliteManager.SatelliteException extends java.lang.Exception {
+    ctor public SatelliteManager.SatelliteException(int);
+    method public int getErrorCode();
   }
 
   @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public final class SatelliteModemEnableRequestAttributes implements android.os.Parcelable {
@@ -18736,8 +18736,8 @@
     field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteModemEnableRequestAttributes> CREATOR;
   }
 
-  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public interface SatelliteModemStateCallback {
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void onSatelliteModemStateChanged(int);
+  public interface SatelliteModemStateCallback {
+    method public void onSatelliteModemStateChanged(int);
   }
 
   @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public final class SatellitePosition implements android.os.Parcelable {
@@ -18749,8 +18749,8 @@
     field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatellitePosition> CREATOR;
   }
 
-  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public interface SatelliteProvisionStateCallback {
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void onSatelliteProvisionStateChanged(boolean);
+  public interface SatelliteProvisionStateCallback {
+    method public void onSatelliteProvisionStateChanged(boolean);
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public default void onSatelliteSubscriptionProvisionStateChanged(@NonNull java.util.List<android.telephony.satellite.SatelliteSubscriberProvisionStatus>);
   }
 
@@ -18800,11 +18800,11 @@
     field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteSubscriptionInfo> CREATOR;
   }
 
-  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public interface SatelliteTransmissionUpdateCallback {
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void onReceiveDatagramStateChanged(int, int, int);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void onSatellitePositionChanged(@NonNull android.telephony.satellite.PointingInfo);
+  public interface SatelliteTransmissionUpdateCallback {
+    method public void onReceiveDatagramStateChanged(int, int, int);
+    method public void onSatellitePositionChanged(@NonNull android.telephony.satellite.PointingInfo);
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public default void onSendDatagramRequested(int);
-    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void onSendDatagramStateChanged(int, int, int);
+    method public void onSendDatagramStateChanged(int, int, int);
     method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public default void onSendDatagramStateChanged(int, int, int, int);
   }
 
diff --git a/core/api/test-current.txt b/core/api/test-current.txt
index 514a582..00ec48b 100644
--- a/core/api/test-current.txt
+++ b/core/api/test-current.txt
@@ -2128,6 +2128,12 @@
     method public android.media.PlaybackParams setAudioStretchMode(int);
   }
 
+  public class Utils {
+    ctor public Utils();
+    field public static final String SYNCHRONIZED_VIBRATION = "synchronized";
+    field public static final String VIBRATION_URI_PARAM = "vibration_uri";
+  }
+
   public final class VolumePolicy implements android.os.Parcelable {
     ctor public VolumePolicy(boolean, boolean, boolean, int);
     method public int describeContents();
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/ActivityManager.java b/core/java/android/app/ActivityManager.java
index 69d3e8d..f9ec214 100644
--- a/core/java/android/app/ActivityManager.java
+++ b/core/java/android/app/ActivityManager.java
@@ -550,35 +550,35 @@
     public static final int START_ASSISTANT_NOT_ACTIVE_SESSION = FIRST_START_FATAL_ERROR_CODE + 11;
 
     /**
-     * Result for IActivityManaqer.startActivity: the activity was started
+     * Result for IActivityManager.startActivity: the activity was started
      * successfully as normal.
      * @hide
      */
     public static final int START_SUCCESS = FIRST_START_SUCCESS_CODE;
 
     /**
-     * Result for IActivityManaqer.startActivity: the caller asked that the Intent not
+     * Result for IActivityManager.startActivity: the caller asked that the Intent not
      * be executed if it is the recipient, and that is indeed the case.
      * @hide
      */
     public static final int START_RETURN_INTENT_TO_CALLER = FIRST_START_SUCCESS_CODE + 1;
 
     /**
-     * Result for IActivityManaqer.startActivity: activity was started or brought forward in an
+     * Result for IActivityManager.startActivity: activity was started or brought forward in an
      * existing task which was brought to the foreground.
      * @hide
      */
     public static final int START_TASK_TO_FRONT = FIRST_START_SUCCESS_CODE + 2;
 
     /**
-     * Result for IActivityManaqer.startActivity: activity wasn't really started, but
+     * Result for IActivityManager.startActivity: activity wasn't really started, but
      * the given Intent was given to the existing top activity.
      * @hide
      */
     public static final int START_DELIVERED_TO_TOP = FIRST_START_SUCCESS_CODE + 3;
 
     /**
-     * Result for IActivityManaqer.startActivity: request was canceled because
+     * Result for IActivityManager.startActivity: request was canceled because
      * app switches are temporarily canceled to ensure the user's last request
      * (such as pressing home) is performed.
      * @hide
@@ -586,7 +586,7 @@
     public static final int START_SWITCHES_CANCELED = FIRST_START_NON_FATAL_ERROR_CODE;
 
     /**
-     * Result for IActivityManaqer.startActivity: a new activity was attempted to be started
+     * Result for IActivityManager.startActivity: a new activity was attempted to be started
      * while in Lock Task Mode.
      * @hide
      */
@@ -594,55 +594,55 @@
             FIRST_START_NON_FATAL_ERROR_CODE + 1;
 
     /**
-     * Result for IActivityManaqer.startActivity: a new activity start was aborted. Never returned
+     * Result for IActivityManager.startActivity: a new activity start was aborted. Never returned
      * externally.
      * @hide
      */
     public static final int START_ABORTED = FIRST_START_NON_FATAL_ERROR_CODE + 2;
 
     /**
-     * Flag for IActivityManaqer.startActivity: do special start mode where
+     * Flag for IActivityManager.startActivity: do special start mode where
      * a new activity is launched only if it is needed.
      * @hide
      */
     public static final int START_FLAG_ONLY_IF_NEEDED = 1<<0;
 
     /**
-     * Flag for IActivityManaqer.startActivity: launch the app for
+     * Flag for IActivityManager.startActivity: launch the app for
      * debugging.
      * @hide
      */
     public static final int START_FLAG_DEBUG = 1<<1;
 
     /**
-     * Flag for IActivityManaqer.startActivity: launch the app for
+     * Flag for IActivityManager.startActivity: launch the app for
      * allocation tracking.
      * @hide
      */
     public static final int START_FLAG_TRACK_ALLOCATION = 1<<2;
 
     /**
-     * Flag for IActivityManaqer.startActivity: launch the app with
+     * Flag for IActivityManager.startActivity: launch the app with
      * native debugging support.
      * @hide
      */
     public static final int START_FLAG_NATIVE_DEBUGGING = 1<<3;
 
     /**
-     * Flag for IActivityManaqer.startActivity: launch the app for
+     * Flag for IActivityManager.startActivity: launch the app for
      * debugging and suspend threads.
      * @hide
      */
     public static final int START_FLAG_DEBUG_SUSPEND = 1 << 4;
 
     /**
-     * Result for IActivityManaqer.broadcastIntent: success!
+     * Result for IActivityManager.broadcastIntent: success!
      * @hide
      */
     public static final int BROADCAST_SUCCESS = 0;
 
     /**
-     * Result for IActivityManaqer.broadcastIntent: attempt to broadcast
+     * Result for IActivityManager.broadcastIntent: attempt to broadcast
      * a sticky intent without appropriate permission.
      * @hide
      */
@@ -656,20 +656,20 @@
     public static final int BROADCAST_FAILED_USER_STOPPED = -2;
 
     /**
-     * Type for IActivityManaqer.getIntentSender: this PendingIntent type is unknown.
+     * Type for IActivityManager.getIntentSender: this PendingIntent type is unknown.
      * @hide
      */
     public static final int INTENT_SENDER_UNKNOWN = 0;
 
     /**
-     * Type for IActivityManaqer.getIntentSender: this PendingIntent is
+     * Type for IActivityManager.getIntentSender: this PendingIntent is
      * for a sendBroadcast operation.
      * @hide
      */
     public static final int INTENT_SENDER_BROADCAST = 1;
 
     /**
-     * Type for IActivityManaqer.getIntentSender: this PendingIntent is
+     * Type for IActivityManager.getIntentSender: this PendingIntent is
      * for a startActivity operation.
      * @hide
      */
@@ -677,21 +677,21 @@
     public static final int INTENT_SENDER_ACTIVITY = 2;
 
     /**
-     * Type for IActivityManaqer.getIntentSender: this PendingIntent is
+     * Type for IActivityManager.getIntentSender: this PendingIntent is
      * for an activity result operation.
      * @hide
      */
     public static final int INTENT_SENDER_ACTIVITY_RESULT = 3;
 
     /**
-     * Type for IActivityManaqer.getIntentSender: this PendingIntent is
+     * Type for IActivityManager.getIntentSender: this PendingIntent is
      * for a startService operation.
      * @hide
      */
     public static final int INTENT_SENDER_SERVICE = 4;
 
     /**
-     * Type for IActivityManaqer.getIntentSender: this PendingIntent is
+     * Type for IActivityManager.getIntentSender: this PendingIntent is
      * for a startForegroundService operation.
      * @hide
      */
diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java
index 458c171..248f191 100644
--- a/core/java/android/app/AppOpsManager.java
+++ b/core/java/android/app/AppOpsManager.java
@@ -1651,9 +1651,65 @@
     /** @hide Similar to {@link OP_CONTROL_AUDIO}, but doesn't require capabilities. */
     public static final int OP_CONTROL_AUDIO_PARTIAL = AppOpEnums.APP_OP_CONTROL_AUDIO_PARTIAL;
 
+    /**
+     * Access coarse eye tracking data.
+     *
+     * @hide
+     */
+    public static final int OP_EYE_TRACKING_COARSE =
+            AppOpEnums.APP_OP_EYE_TRACKING_COARSE;
+
+    /**
+     * Access fine eye tracking data.
+     *
+     * @hide
+     */
+    public static final int OP_EYE_TRACKING_FINE =
+            AppOpEnums.APP_OP_EYE_TRACKING_FINE;
+
+    /**
+     * Access face tracking data.
+     *
+     * @hide
+     */
+    public static final int OP_FACE_TRACKING =
+            AppOpEnums.APP_OP_FACE_TRACKING;
+
+    /**
+     * Access hand tracking data.
+     *
+     * @hide
+     */
+    public static final int OP_HAND_TRACKING =
+            AppOpEnums.APP_OP_HAND_TRACKING;
+
+    /**
+     * Access head tracking data.
+     *
+     * @hide
+     */
+    public static final int OP_HEAD_TRACKING =
+            AppOpEnums.APP_OP_HEAD_TRACKING;
+
+    /**
+     * Access coarse scene tracking data.
+     *
+     * @hide
+     */
+    public static final int OP_SCENE_UNDERSTANDING_COARSE =
+            AppOpEnums.APP_OP_SCENE_UNDERSTANDING_COARSE;
+
+    /**
+     * Access fine scene tracking data.
+     *
+     * @hide
+     */
+    public static final int OP_SCENE_UNDERSTANDING_FINE =
+            AppOpEnums.APP_OP_SCENE_UNDERSTANDING_FINE;
+
     /** @hide */
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
-    public static final int _NUM_OP = 156;
+    public static final int _NUM_OP = 163;
 
     /**
      * All app ops represented as strings.
@@ -1813,6 +1869,13 @@
             OPSTR_WRITE_SYSTEM_PREFERENCES,
             OPSTR_CONTROL_AUDIO,
             OPSTR_CONTROL_AUDIO_PARTIAL,
+            OPSTR_EYE_TRACKING_COARSE,
+            OPSTR_EYE_TRACKING_FINE,
+            OPSTR_FACE_TRACKING,
+            OPSTR_HAND_TRACKING,
+            OPSTR_HEAD_TRACKING,
+            OPSTR_SCENE_UNDERSTANDING_COARSE,
+            OPSTR_SCENE_UNDERSTANDING_FINE,
     })
     public @interface AppOpString {}
 
@@ -2579,6 +2642,36 @@
     /** @hide Access to a audio playback and control APIs without capability requirements */
     public static final String OPSTR_CONTROL_AUDIO_PARTIAL = "android:control_audio_partial";
 
+    /** @hide Access coarse eye tracking data. */
+    @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES)
+    public static final String OPSTR_EYE_TRACKING_COARSE = "android:eye_tracking_coarse";
+
+    /** @hide Access fine eye tracking data. */
+    @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES)
+    public static final String OPSTR_EYE_TRACKING_FINE = "android:eye_tracking_fine";
+
+    /** @hide Access face tracking data. */
+    @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES)
+    public static final String OPSTR_FACE_TRACKING = "android:face_tracking";
+
+    /** @hide Access hand tracking data. */
+    @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES)
+    public static final String OPSTR_HAND_TRACKING = "android:hand_tracking";
+
+    /** @hide Access head tracking data. */
+    @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES)
+    public static final String OPSTR_HEAD_TRACKING = "android:head_tracking";
+
+    /** @hide Access coarse scene tracking data. */
+    @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES)
+    public static final String OPSTR_SCENE_UNDERSTANDING_COARSE =
+            "android:scene_understanding_coarse";
+
+    /** @hide Access fine scene tracking data. */
+    @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES)
+    public static final String OPSTR_SCENE_UNDERSTANDING_FINE =
+            "android:scene_understanding_fine";
+
     /** {@link #sAppOpsToNote} not initialized yet for this op */
     private static final byte SHOULD_COLLECT_NOTE_OP_NOT_INITIALIZED = 0;
     /** Should not collect noting of this app-op in {@link #sAppOpsToNote} */
@@ -2657,6 +2750,14 @@
             Flags.replaceBodySensorPermissionEnabled() ? OP_READ_HEART_RATE : OP_NONE,
             Flags.replaceBodySensorPermissionEnabled() ? OP_READ_SKIN_TEMPERATURE : OP_NONE,
             Flags.replaceBodySensorPermissionEnabled() ? OP_READ_OXYGEN_SATURATION : OP_NONE,
+            // Android XR
+            android.xr.Flags.xrManifestEntries() ? OP_EYE_TRACKING_COARSE : OP_NONE,
+            android.xr.Flags.xrManifestEntries() ? OP_EYE_TRACKING_FINE : OP_NONE,
+            android.xr.Flags.xrManifestEntries() ? OP_FACE_TRACKING : OP_NONE,
+            android.xr.Flags.xrManifestEntries() ? OP_HAND_TRACKING : OP_NONE,
+            android.xr.Flags.xrManifestEntries() ? OP_HEAD_TRACKING : OP_NONE,
+            android.xr.Flags.xrManifestEntries() ? OP_SCENE_UNDERSTANDING_COARSE : OP_NONE,
+            android.xr.Flags.xrManifestEntries() ? OP_SCENE_UNDERSTANDING_FINE : OP_NONE,
     };
 
     /**
@@ -3192,6 +3293,41 @@
                 "CONTROL_AUDIO").setDefaultMode(AppOpsManager.MODE_FOREGROUND).build(),
         new AppOpInfo.Builder(OP_CONTROL_AUDIO_PARTIAL, OPSTR_CONTROL_AUDIO_PARTIAL,
                 "CONTROL_AUDIO_PARTIAL").setDefaultMode(AppOpsManager.MODE_FOREGROUND).build(),
+        new AppOpInfo.Builder(OP_EYE_TRACKING_COARSE, OPSTR_EYE_TRACKING_COARSE,
+                "EYE_TRACKING_COARSE")
+                .setPermission(android.xr.Flags.xrManifestEntries()
+                    ? Manifest.permission.EYE_TRACKING_COARSE : null)
+                .build(),
+        new AppOpInfo.Builder(OP_EYE_TRACKING_FINE, OPSTR_EYE_TRACKING_FINE,
+                "EYE_TRACKING_FINE")
+                .setPermission(android.xr.Flags.xrManifestEntries()
+                    ? Manifest.permission.EYE_TRACKING_FINE : null)
+                .build(),
+        new AppOpInfo.Builder(OP_FACE_TRACKING, OPSTR_FACE_TRACKING,
+                "FACE_TRACKING")
+                .setPermission(android.xr.Flags.xrManifestEntries()
+                    ? Manifest.permission.FACE_TRACKING : null)
+                .build(),
+        new AppOpInfo.Builder(OP_HAND_TRACKING, OPSTR_HAND_TRACKING,
+                "HAND_TRACKING")
+                .setPermission(android.xr.Flags.xrManifestEntries()
+                    ? Manifest.permission.HAND_TRACKING : null)
+                .build(),
+        new AppOpInfo.Builder(OP_HEAD_TRACKING, OPSTR_HEAD_TRACKING,
+                "HEAD_TRACKING")
+                .setPermission(android.xr.Flags.xrManifestEntries()
+                    ? Manifest.permission.HEAD_TRACKING : null)
+                .build(),
+        new AppOpInfo.Builder(OP_SCENE_UNDERSTANDING_COARSE, OPSTR_SCENE_UNDERSTANDING_COARSE,
+                "SCENE_UNDERSTANDING_COARSE")
+                .setPermission(android.xr.Flags.xrManifestEntries()
+                    ? Manifest.permission.SCENE_UNDERSTANDING_COARSE : null)
+                .build(),
+        new AppOpInfo.Builder(OP_SCENE_UNDERSTANDING_FINE, OPSTR_SCENE_UNDERSTANDING_FINE,
+                "SCENE_UNDERSTANDING_FINE")
+                .setPermission(android.xr.Flags.xrManifestEntries()
+                    ? Manifest.permission.SCENE_UNDERSTANDING_FINE : null)
+                .build(),
     };
 
     // The number of longs needed to form a full bitmask of app ops
@@ -3301,6 +3437,15 @@
     }
 
     /**
+     * Returns whether the provided {@code op} is a valid op code or not.
+     *
+     * @hide
+     */
+    public static boolean isValidOp(int op) {
+        return op >= 0 && op < sAppOpInfos.length;
+    }
+
+    /**
      * @hide
      */
     public static int strDebugOpToOp(String op) {
diff --git a/core/java/android/app/AutomaticZenRule.java b/core/java/android/app/AutomaticZenRule.java
index fa977c9..2daa52b 100644
--- a/core/java/android/app/AutomaticZenRule.java
+++ b/core/java/android/app/AutomaticZenRule.java
@@ -228,7 +228,7 @@
     public AutomaticZenRule(Parcel source) {
         enabled = source.readInt() == ENABLED;
         if (source.readInt() == ENABLED) {
-            name = getTrimmedString(source.readString());
+            name = getTrimmedString(source.readString8());
         }
         interruptionFilter = source.readInt();
         conditionId = getTrimmedUri(source.readParcelable(null, android.net.Uri.class));
@@ -238,11 +238,11 @@
                 source.readParcelable(null, android.content.ComponentName.class));
         creationTime = source.readLong();
         mZenPolicy = source.readParcelable(null, ZenPolicy.class);
-        mPkg = source.readString();
+        mPkg = source.readString8();
         mDeviceEffects = source.readParcelable(null, ZenDeviceEffects.class);
         mAllowManualInvocation = source.readBoolean();
         mIconResId = source.readInt();
-        mTriggerDescription = getTrimmedString(source.readString(), MAX_DESC_LENGTH);
+        mTriggerDescription = getTrimmedString(source.readString8(), MAX_DESC_LENGTH);
         mType = source.readInt();
     }
 
@@ -514,7 +514,7 @@
         dest.writeInt(enabled ? ENABLED : DISABLED);
         if (name != null) {
             dest.writeInt(1);
-            dest.writeString(name);
+            dest.writeString8(name);
         } else {
             dest.writeInt(0);
         }
@@ -524,11 +524,11 @@
         dest.writeParcelable(configurationActivity, 0);
         dest.writeLong(creationTime);
         dest.writeParcelable(mZenPolicy, 0);
-        dest.writeString(mPkg);
+        dest.writeString8(mPkg);
         dest.writeParcelable(mDeviceEffects, 0);
         dest.writeBoolean(mAllowManualInvocation);
         dest.writeInt(mIconResId);
-        dest.writeString(mTriggerDescription);
+        dest.writeString8(mTriggerDescription);
         dest.writeInt(mType);
     }
 
diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java
index 1a6e9b0..dc5974f 100644
--- a/core/java/android/app/ContextImpl.java
+++ b/core/java/android/app/ContextImpl.java
@@ -22,14 +22,12 @@
 import static android.permission.flags.Flags.shouldRegisterAttributionSource;
 import static android.view.WindowManager.LayoutParams.WindowType;
 
-import android.Manifest;
 import android.annotation.CallbackExecutor;
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SuppressLint;
 import android.annotation.UiContext;
-import android.companion.virtual.VirtualDevice;
 import android.companion.virtual.VirtualDeviceManager;
 import android.compat.annotation.UnsupportedAppUsage;
 import android.content.AttributionSource;
@@ -2367,47 +2365,11 @@
             Log.v(TAG, "Treating renounced permission " + permission + " as denied");
             return PERMISSION_DENIED;
         }
-        int deviceId = resolveDeviceIdForPermissionCheck(permission);
+        int deviceId = PermissionManager.resolveDeviceIdForPermissionCheck(this, getDeviceId(),
+                permission);
         return PermissionManager.checkPermission(permission, pid, uid, deviceId);
     }
 
-    private int resolveDeviceIdForPermissionCheck(String permission) {
-        // When checking a device-aware permission on a remote device, if the permission is CAMERA
-        // or RECORD_AUDIO we need to check remote device's corresponding capability. If the remote
-        // device doesn't have capability fall back to checking permission on the default device.
-        // Note: we only perform permission check redirection when the device id is not explicitly
-        // set in the context.
-        int deviceId = getDeviceId();
-        if (deviceId != Context.DEVICE_ID_DEFAULT
-                && !mIsExplicitDeviceId
-                && PermissionManager.DEVICE_AWARE_PERMISSIONS.contains(permission)) {
-            VirtualDeviceManager virtualDeviceManager =
-                    getSystemService(VirtualDeviceManager.class);
-            if (virtualDeviceManager == null) {
-                Slog.e(
-                        TAG,
-                        "VDM is not enabled when device id is not default. deviceId = "
-                                + deviceId);
-            } else {
-                VirtualDevice virtualDevice = virtualDeviceManager.getVirtualDevice(deviceId);
-                if (virtualDevice != null) {
-                    if ((Objects.equals(permission, Manifest.permission.RECORD_AUDIO)
-                            && !virtualDevice.hasCustomAudioInputSupport())
-                            || (Objects.equals(permission, Manifest.permission.CAMERA)
-                            && !virtualDevice.hasCustomCameraSupport())) {
-                        deviceId = Context.DEVICE_ID_DEFAULT;
-                    }
-                } else {
-                    Slog.e(
-                            TAG,
-                            "virtualDevice is not found when device id is not default. deviceId = "
-                                    + deviceId);
-                }
-            }
-        }
-        return deviceId;
-    }
-
     /** @hide */
     @Override
     public int checkPermission(String permission, int pid, int uid, IBinder callerToken) {
@@ -2511,7 +2473,8 @@
     @Override
     public int getPermissionRequestState(String permission) {
         Objects.requireNonNull(permission, "Permission name can't be null");
-        int deviceId = resolveDeviceIdForPermissionCheck(permission);
+        int deviceId = PermissionManager.resolveDeviceIdForPermissionCheck(this, getDeviceId(),
+                permission);
         PermissionManager permissionManager = getSystemService(PermissionManager.class);
         return permissionManager.getPermissionRequestState(getOpPackageName(), permission,
                 deviceId);
diff --git a/core/java/android/app/DreamManager.java b/core/java/android/app/DreamManager.java
index c597a9d..555006b 100644
--- a/core/java/android/app/DreamManager.java
+++ b/core/java/android/app/DreamManager.java
@@ -71,8 +71,11 @@
     @TestApi
     @RequiresPermission(WRITE_SECURE_SETTINGS)
     public void setScreensaverEnabled(boolean enabled) {
-        Settings.Secure.putIntForUser(mContext.getContentResolver(),
-                Settings.Secure.SCREENSAVER_ENABLED, enabled ? 1 : 0, UserHandle.USER_CURRENT);
+        try {
+            mService.setScreensaverEnabled(enabled);
+        } catch (RemoteException e) {
+            e.rethrowFromSystemServer();
+        }
     }
 
     /**
diff --git a/core/java/android/app/Instrumentation.java b/core/java/android/app/Instrumentation.java
index eb9feb9..8af5b1b 100644
--- a/core/java/android/app/Instrumentation.java
+++ b/core/java/android/app/Instrumentation.java
@@ -189,6 +189,7 @@
      * @param arguments Any additional arguments that were supplied when the 
      *                  instrumentation was started.
      */
+    @android.ravenwood.annotation.RavenwoodKeep
     public void onCreate(Bundle arguments) {
     }
 
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index 719e438..cc72d8f 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -25,6 +25,9 @@
 import static android.app.admin.DevicePolicyResources.UNDEFINED;
 import static android.graphics.drawable.Icon.TYPE_URI;
 import static android.graphics.drawable.Icon.TYPE_URI_ADAPTIVE_BITMAP;
+import static android.util.TypedValue.COMPLEX_UNIT_PX;
+import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
+import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
 
 import static java.util.Objects.requireNonNull;
 
@@ -6001,6 +6004,8 @@
                 contentView.setViewVisibility(p.mTextViewId, View.GONE);
                 contentView.setTextViewText(p.mTextViewId, null);
             }
+
+            updateExpanderAlignment(contentView, p, hasSecondLine);
             setHeaderlessVerticalMargins(contentView, p, hasSecondLine);
 
             // Update margins to leave space for the top line (but not for headerless views like
@@ -6010,12 +6015,29 @@
                 int margin = getContentMarginTop(mContext,
                         R.dimen.notification_2025_content_margin_top);
                 contentView.setViewLayoutMargin(R.id.notification_main_column,
-                        RemoteViews.MARGIN_TOP, margin, TypedValue.COMPLEX_UNIT_PX);
+                        RemoteViews.MARGIN_TOP, margin, COMPLEX_UNIT_PX);
             }
 
             return contentView;
         }
 
+        private static void updateExpanderAlignment(RemoteViews contentView,
+                StandardTemplateParams p, boolean hasSecondLine) {
+            if (notificationsRedesignTemplates() && p.mHeaderless) {
+                if (!hasSecondLine) {
+                    // If there's no text, let's center the expand button vertically to align things
+                    // more nicely. This is handled separately for notifications that use a
+                    // NotificationHeaderView, see NotificationHeaderView#centerTopLine.
+                    contentView.setViewLayoutHeight(R.id.expand_button, MATCH_PARENT,
+                            COMPLEX_UNIT_PX);
+                } else {
+                    // Otherwise, just use the default height for the button to keep it top-aligned.
+                    contentView.setViewLayoutHeight(R.id.expand_button, WRAP_CONTENT,
+                            COMPLEX_UNIT_PX);
+                }
+            }
+        }
+
         private static void setHeaderlessVerticalMargins(RemoteViews contentView,
                 StandardTemplateParams p, boolean hasSecondLine) {
             if (Flags.notificationsRedesignTemplates() || !p.mHeaderless) {
@@ -9504,14 +9526,21 @@
                     .viewType(viewType)
                     .highlightExpander(isConversationLayout)
                     .hideProgress(true)
-                    .text(null)
                     .hideLeftIcon(isOneToOne)
                     .hideRightIcon(hideRightIcons || isOneToOne);
             if (notificationsRedesignTemplates()) {
+                String lastMessage = !mMessages.isEmpty()
+                        ? mMessages.getLast().mText.toString() : null;
+
                 p.title(conversationTitle)
+                        // The text is not actually displayed like this (since we're using a
+                        // MessagingLinearLayout instead of the regular text), but we're using it to
+                        // know whether the notification will have a second line in practice.
+                        .text(lastMessage)
                         .hideAppName(isCollapsed);
             } else {
                 p.title(isLegacyHeaderless ? conversationTitle : null)
+                        .text(null)
                         .headerTextSecondary(isLegacyHeaderless ? null : conversationTitle);
             }
             RemoteViews contentView = mBuilder.applyStandardTemplateWithActions(
@@ -9560,7 +9589,7 @@
                 int marginStart = res.getDimensionPixelSize(
                         R.dimen.notification_2025_content_margin_start);
                 contentView.setViewLayoutMargin(R.id.title,
-                        RemoteViews.MARGIN_START, marginStart, TypedValue.COMPLEX_UNIT_PX);
+                        RemoteViews.MARGIN_START, marginStart, COMPLEX_UNIT_PX);
             }
             if (isLegacyHeaderless) {
                 // Collapsed legacy messaging style has a 1-line limit.
diff --git a/core/java/android/app/NotificationManager.java b/core/java/android/app/NotificationManager.java
index 726999a..050ef23 100644
--- a/core/java/android/app/NotificationManager.java
+++ b/core/java/android/app/NotificationManager.java
@@ -1282,6 +1282,10 @@
      * delegate for (see {@link #canNotifyAsPackage(String)}), or it will not be returned. To query
      * a channel as a notification delegate, call this method from a context created for that
      * package (see {@link Context#createPackageContext(String, int)}).</p>
+     *
+     * <p>If a conversation channel with the given conversation id is not found, this method will
+     * instead return the parent channel with the given channel ID, or {@code null} if neither
+     * exists.</p>
      */
     public @Nullable NotificationChannel getNotificationChannel(@NonNull String channelId,
             @NonNull String conversationId) {
diff --git a/core/java/android/app/OWNERS b/core/java/android/app/OWNERS
index 7a811a1..5b0cf115 100644
--- a/core/java/android/app/OWNERS
+++ b/core/java/android/app/OWNERS
@@ -132,7 +132,7 @@
 per-file ConfigurationController.java = file:/services/core/java/com/android/server/wm/OWNERS
 per-file *ScreenCapture* = file:/services/core/java/com/android/server/wm/OWNERS
 per-file ComponentOptions.java = file:/services/core/java/com/android/server/wm/OWNERS
-
+per-file Presentation.java = file:/services/core/java/com/android/server/wm/OWNERS
 
 # Multitasking
 per-file multitasking.aconfig = file:/services/core/java/com/android/server/wm/OWNERS
diff --git a/core/java/android/app/Presentation.java b/core/java/android/app/Presentation.java
index bdab39d..f39e2dd 100644
--- a/core/java/android/app/Presentation.java
+++ b/core/java/android/app/Presentation.java
@@ -20,6 +20,8 @@
 import static android.view.WindowManager.LayoutParams.TYPE_PRESENTATION;
 import static android.view.WindowManager.LayoutParams.TYPE_PRIVATE_PRESENTATION;
 
+import static com.android.window.flags.Flags.enablePresentationForConnectedDisplays;
+
 import android.annotation.NonNull;
 import android.compat.annotation.UnsupportedAppUsage;
 import android.content.Context;
@@ -34,6 +36,8 @@
 import android.view.Display;
 import android.view.Gravity;
 import android.view.Window;
+import android.view.WindowInsets;
+import android.view.WindowInsetsController;
 import android.view.WindowManager;
 import android.view.WindowManager.LayoutParams.WindowType;
 
@@ -277,6 +281,11 @@
     @Override
     public void show() {
         super.show();
+
+        WindowInsetsController controller = getWindow().getInsetsController();
+        if (controller != null && enablePresentationForConnectedDisplays()) {
+            controller.hide(WindowInsets.Type.systemBars());
+        }
     }
 
     /**
diff --git a/core/java/android/app/PropertyInvalidatedCache.java b/core/java/android/app/PropertyInvalidatedCache.java
index c573161..38141cf 100644
--- a/core/java/android/app/PropertyInvalidatedCache.java
+++ b/core/java/android/app/PropertyInvalidatedCache.java
@@ -293,6 +293,7 @@
 
     // The test mode. This is only used to ensure that the test functions setTestMode() and
     // testPropertyName() are used correctly.
+    @GuardedBy("sGlobalLock")
     private static boolean sTestMode = false;
 
     /**
@@ -668,7 +669,7 @@
         // True if this handler is in test mode.  If it is in test mode, then nonces are stored
         // and retrieved from mTestNonce.
         @GuardedBy("mLock")
-        private boolean mTestMode = false;
+        private boolean mTestMode;
 
         // This is the local value of the nonce, as last set by the NonceHandler.  It is always
         // updated by the setNonce() operation.  The getNonce() operation returns this value in
@@ -692,6 +693,9 @@
 
         NonceHandler(@NonNull String name) {
             mName = name;
+            synchronized (sGlobalLock) {
+                mTestMode = sTestMode;
+            }
         }
 
         /**
@@ -1414,9 +1418,13 @@
 
     /**
      * Enable or disable testing.  The protocol requires that the mode toggle: for instance, it is
-     * illegal to clear the test mode if the test mode is already off.  The purpose is solely to
-     * ensure that test clients do not forget to use the test mode properly, even though the
-     * current logic does not care.
+     * illegal to clear the test mode if the test mode is already off.  Enabling test mode puts
+     * all caches in the process into test mode; all nonces are initialized to UNSET and
+     * subsequent reads and writes are to process memory.  This has the effect of disabling all
+     * caches that are not local to the process.  Disabling test mode restores caches to normal
+     * operation.
+     * @param mode The desired test mode.
+     * @throws IllegalStateException if the supplied mode is already set.
      * @hide
      */
     @VisibleForTesting
@@ -1431,10 +1439,8 @@
                 }
             }
             sTestMode = mode;
-            if (mode) {
-                // No action when testing begins.
-            } else {
-                resetAfterTestLocked();
+            if (Flags.picTestMode() || !mode) {
+                setTestModeLocked(mode);
             }
         }
     }
@@ -1445,11 +1451,11 @@
      * that were not originally in test mode.
      */
     @GuardedBy("sGlobalLock")
-    private static void resetAfterTestLocked() {
+    private static void setTestModeLocked(boolean mode) {
         for (Iterator<String> e = sHandlers.keys().asIterator(); e.hasNext(); ) {
             String s = e.next();
             final NonceHandler h = sHandlers.get(s);
-            h.setTestMode(false);
+            h.setTestMode(mode);
         }
     }
 
diff --git a/core/java/android/app/TEST_MAPPING b/core/java/android/app/TEST_MAPPING
index e93d8bdb..3a02188 100644
--- a/core/java/android/app/TEST_MAPPING
+++ b/core/java/android/app/TEST_MAPPING
@@ -169,6 +169,23 @@
             "name": "CtsWindowManagerBackgroundActivityTestCases"
         }
     ],
+    // v2/sysui/suite/test-mapping-sysui-screenshot-test
+    "sysui-screenshot-test": [
+        {
+        "name": "SystemUIGoogleScreenshotTests",
+        "options": [
+            {
+            "exclude-annotation": "org.junit.Ignore"
+            },
+            {
+            "exclude-annotation": "androidx.test.filters.FlakyTest"
+            },
+            {
+            "exclude-annotation": "android.platform.test.annotations.Postsubmit"
+            }
+        ]
+        }
+    ],
     "postsubmit": [
         {
             "file_patterns": ["(/|^)ActivityThreadClientTest.java"],
diff --git a/core/java/android/app/contentsuggestions/OWNERS b/core/java/android/app/contentsuggestions/OWNERS
index 5f8de77..3d21a6a 100644
--- a/core/java/android/app/contentsuggestions/OWNERS
+++ b/core/java/android/app/contentsuggestions/OWNERS
@@ -1,4 +1,3 @@
 # Bug component: 643919
 
 hackz@google.com
-volnov@google.com
diff --git a/core/java/android/app/contextualsearch/flags.aconfig b/core/java/android/app/contextualsearch/flags.aconfig
index 1de034b..1a14b20 100644
--- a/core/java/android/app/contextualsearch/flags.aconfig
+++ b/core/java/android/app/contextualsearch/flags.aconfig
@@ -23,6 +23,18 @@
     bug: "371065456"
 }
 
+
+flag {
+  name: "report_secure_surfaces_in_assist_structure"
+  namespace: "windowing_frontend"
+  description: "SurfaceView reports when the surface is using a SECURE flag."
+  bug: "390504528"
+  metadata {
+    purpose: PURPOSE_BUGFIX
+  }
+}
+
+
 flag {
     name: "contextual_search_prevent_self_capture"
     namespace: "sysui_integrations"
diff --git a/core/java/android/app/people/OWNERS b/core/java/android/app/people/OWNERS
index 7371a88..399511a 100644
--- a/core/java/android/app/people/OWNERS
+++ b/core/java/android/app/people/OWNERS
@@ -1,4 +1,3 @@
 # Bug component: 978868
 
-danningc@google.com
-juliacr@google.com
\ No newline at end of file
+juliacr@google.com
diff --git a/core/java/android/app/performance.aconfig b/core/java/android/app/performance.aconfig
index 2569f7b..82875eb 100644
--- a/core/java/android/app/performance.aconfig
+++ b/core/java/android/app/performance.aconfig
@@ -50,3 +50,10 @@
      description: "Cache null returns from binder calls"
      bug: "372923336"
 }
+
+flag {
+     namespace: "system_performance"
+     name: "pic_test_mode"
+     description: "Updated test mode for PIC"
+     bug: "396173886"
+}
diff --git a/core/java/android/app/servertransaction/ClientTransaction.java b/core/java/android/app/servertransaction/ClientTransaction.java
index 6e3e86c..e726bc9 100644
--- a/core/java/android/app/servertransaction/ClientTransaction.java
+++ b/core/java/android/app/servertransaction/ClientTransaction.java
@@ -236,9 +236,17 @@
      * 2. The transaction message is scheduled.
      * 3. The client calls {@link TransactionExecutor#execute(ClientTransaction)}, which executes
      *    all callbacks and necessary lifecycle transitions.
+     *
+     * @return {@link RemoteException} if the transaction failed.
      */
-    public void schedule() throws RemoteException {
-        mClient.scheduleTransaction(this);
+    @Nullable
+    public RemoteException schedule() {
+        try {
+            mClient.scheduleTransaction(this);
+            return null;
+        } catch (RemoteException e) {
+            return e;
+        }
     }
 
     // Parcelable implementation
diff --git a/core/java/android/app/wearable/OWNERS b/core/java/android/app/wearable/OWNERS
index 497eaf0..56c8ca5 100644
--- a/core/java/android/app/wearable/OWNERS
+++ b/core/java/android/app/wearable/OWNERS
@@ -2,4 +2,3 @@
 hackz@google.com
 oni@google.com
 tomchan@google.com
-volnov@google.com
\ No newline at end of file
diff --git a/core/java/android/companion/virtual/flags/flags.aconfig b/core/java/android/companion/virtual/flags/flags.aconfig
index 67ade79..0085e4f 100644
--- a/core/java/android/companion/virtual/flags/flags.aconfig
+++ b/core/java/android/companion/virtual/flags/flags.aconfig
@@ -143,3 +143,10 @@
     is_fixed_read_only: true
     bug: "370928384"
 }
+
+flag {
+    name: "device_aware_settings_override"
+    namespace: "virtual_devices"
+    description: "Settings override for virtual devices"
+    bug: "371801645"
+}
diff --git a/core/java/android/content/BroadcastReceiver.java b/core/java/android/content/BroadcastReceiver.java
index a816294..cf68487 100644
--- a/core/java/android/content/BroadcastReceiver.java
+++ b/core/java/android/content/BroadcastReceiver.java
@@ -52,6 +52,8 @@
  * <a href="{@docRoot}guide/components/broadcasts.html">Broadcasts</a> developer guide.</p></div>
  *
  */
+@android.ravenwood.annotation.RavenwoodPartiallyAllowlisted
+@android.ravenwood.annotation.RavenwoodKeepPartialClass
 public abstract class BroadcastReceiver {
     @UnsupportedAppUsage
     private PendingResult mPendingResult;
@@ -360,6 +362,7 @@
         }
     }
 
+    @android.ravenwood.annotation.RavenwoodKeep
     public BroadcastReceiver() {
     }
 
diff --git a/core/java/android/content/integrity/OWNERS b/core/java/android/content/integrity/OWNERS
index 20c758a..ca65fda 100644
--- a/core/java/android/content/integrity/OWNERS
+++ b/core/java/android/content/integrity/OWNERS
@@ -1,5 +1,4 @@
 # Bug component: 722021
 
 toddke@android.com
-toddke@google.com
 patb@google.com
diff --git a/core/java/android/content/pm/ActivityInfo.java b/core/java/android/content/pm/ActivityInfo.java
index e645060..fd59ea9 100644
--- a/core/java/android/content/pm/ActivityInfo.java
+++ b/core/java/android/content/pm/ActivityInfo.java
@@ -1347,6 +1347,33 @@
             314961188L;
 
     /**
+     * Excludes the packages the override is applied to from 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>By setting this override to {@code true}, it disables the camera compatibility treatment
+     * which simulates app's requested orientation.
+     *
+     * @hide
+     */
+    @ChangeId
+    @Overridable
+    @Disabled
+    public static final long OVERRIDE_CAMERA_COMPAT_DISABLE_SIMULATE_REQUESTED_ORIENTATION =
+            398195815L;  // buganizer id
+
+    /**
      * This change id forces the packages it is applied to sandbox {@link android.view.View} API to
      * an activity bounds for:
      *
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 9e91f59..49fd634 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -5000,10 +5000,9 @@
      * supports the Android XR Spatial APIs. The feature version indicates the highest version of
      * the Android XR Spatial APIs supported by the device.
      *
-     * <p>Also see <a href="https://developer.android.com/xr">Getting started with Spatializing
-     * your app</a>.
+     * <p>Also see <a href="https://developer.android.com/develop/xr">Develop with the Android XR
+     * SDK</a>.
      */
-    // TODO(b/374330735): update public documentation once link content is finalized
     @FlaggedApi(android.xr.Flags.FLAG_XR_MANIFEST_ENTRIES)
     @SdkConstant(SdkConstantType.FEATURE)
     public static final String FEATURE_XR_API_SPATIAL =
diff --git a/core/java/android/content/pm/flags.aconfig b/core/java/android/content/pm/flags.aconfig
index 255a08c..42bef0e 100644
--- a/core/java/android/content/pm/flags.aconfig
+++ b/core/java/android/content/pm/flags.aconfig
@@ -400,3 +400,11 @@
     bug: "378539511"
     is_fixed_read_only: true
 }
+
+flag {
+    name: "cloud_compilation_verification"
+    namespace: "art_mainline"
+    description: "Feature flag to enable the Cloud Compilation install-time verification in the package manager."
+    bug: "377474232"
+    is_fixed_read_only: true
+}
diff --git a/core/java/android/content/pm/parsing/OWNERS b/core/java/android/content/pm/parsing/OWNERS
index 8049d5c..445a833 100644
--- a/core/java/android/content/pm/parsing/OWNERS
+++ b/core/java/android/content/pm/parsing/OWNERS
@@ -2,4 +2,3 @@
 
 chiuwinson@google.com
 patb@google.com
-toddke@google.com
diff --git a/core/java/android/content/pm/permission/OWNERS b/core/java/android/content/pm/permission/OWNERS
index cf7e689..8ef8474 100644
--- a/core/java/android/content/pm/permission/OWNERS
+++ b/core/java/android/content/pm/permission/OWNERS
@@ -3,6 +3,5 @@
 include platform/frameworks/base:/core/java/android/permission/OWNERS
 
 toddke@android.com
-toddke@google.com
 patb@google.com
 
diff --git a/core/java/android/content/res/CompatibilityInfo.java b/core/java/android/content/res/CompatibilityInfo.java
index afcdcb0..5727fcf 100644
--- a/core/java/android/content/res/CompatibilityInfo.java
+++ b/core/java/android/content/res/CompatibilityInfo.java
@@ -40,8 +40,6 @@
 import android.view.WindowManager;
 import android.view.WindowManager.LayoutParams;
 
-import com.android.aconfig.annotations.VisibleForTesting;
-
 /**
  * CompatibilityInfo class keeps the information about the screen compatibility mode that the
  * application is running under.
@@ -763,7 +761,6 @@
     }
 
     /** @see #sOverrideDisplayRotation */
-    @VisibleForTesting
     public static int getOverrideDisplayRotation() {
         return sOverrideDisplayRotation;
     }
diff --git a/core/java/android/credentials/flags.aconfig b/core/java/android/credentials/flags.aconfig
index 449423f1..73c4d66 100644
--- a/core/java/android/credentials/flags.aconfig
+++ b/core/java/android/credentials/flags.aconfig
@@ -154,4 +154,14 @@
     metadata {
         purpose: PURPOSE_BUGFIX
     }
+}
+
+flag {
+    namespace: "credential_manager"
+    name: "safeguard_candidate_credentials_api_caller"
+    description: "Restricts get candidate credentials api to credential autofill service"
+    bug: "370477460"
+    metadata {
+        purpose: PURPOSE_BUGFIX
+    }
 }
\ No newline at end of file
diff --git a/core/java/android/database/sqlite/SQLiteConnectionPool.java b/core/java/android/database/sqlite/SQLiteConnectionPool.java
index 505905f..86480fd 100644
--- a/core/java/android/database/sqlite/SQLiteConnectionPool.java
+++ b/core/java/android/database/sqlite/SQLiteConnectionPool.java
@@ -31,6 +31,7 @@
 
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.os.BackgroundThread;
 
 import dalvik.annotation.optimization.NeverCompile;
 import dalvik.system.CloseGuard;
@@ -187,7 +188,8 @@
         // In case of MAX_VALUE - idle connections are never closed
         if (mConfiguration.idleConnectionTimeoutMs != Long.MAX_VALUE) {
             setupIdleConnectionHandler(
-                    Looper.getMainLooper(), mConfiguration.idleConnectionTimeoutMs, null);
+                BackgroundThread.getHandler().getLooper(),
+                mConfiguration.idleConnectionTimeoutMs, null);
         }
     }
 
diff --git a/core/java/android/hardware/display/DisplayManagerGlobal.java b/core/java/android/hardware/display/DisplayManagerGlobal.java
index c4af871..bebca57 100644
--- a/core/java/android/hardware/display/DisplayManagerGlobal.java
+++ b/core/java/android/hardware/display/DisplayManagerGlobal.java
@@ -1499,7 +1499,7 @@
     }
 
     @VisibleForTesting
-    static final class DisplayListenerDelegate {
+    public static final class DisplayListenerDelegate {
         public final DisplayListener mListener;
         public volatile long mInternalEventFlagsMask;
 
@@ -1536,7 +1536,7 @@
         }
 
         @VisibleForTesting
-        boolean isEventFilterExplicit() {
+        public boolean isEventFilterExplicit() {
             return mIsEventFilterExplicit;
         }
 
@@ -1892,7 +1892,7 @@
     }
 
     @VisibleForTesting
-    CopyOnWriteArrayList<DisplayListenerDelegate> getDisplayListeners() {
+    public CopyOnWriteArrayList<DisplayListenerDelegate> getDisplayListeners() {
         return mDisplayListeners;
     }
 }
diff --git a/core/java/android/hardware/location/ContextHubManager.java b/core/java/android/hardware/location/ContextHubManager.java
index 953ee08..5b5360e 100644
--- a/core/java/android/hardware/location/ContextHubManager.java
+++ b/core/java/android/hardware/location/ContextHubManager.java
@@ -485,6 +485,9 @@
     /**
      * Returns the list of ContextHubInfo objects describing the available Context Hubs.
      *
+     * To find the list of hubs that include all Hubs (including both Context Hubs and Vendor Hubs),
+     * use the {@link #getHubs()} method instead.
+     *
      * @return the list of ContextHubInfo objects
      *
      * @see ContextHubInfo
@@ -499,8 +502,8 @@
     }
 
     /**
-     * Returns the list of HubInfo objects describing the available hubs (including ContextHub and
-     * VendorHub). This method is primarily used for debugging purposes as most clients care about
+     * Returns the list of HubInfo objects describing the available hubs (including Context Hubs and
+     * Vendor Hubs). This method is primarily used for debugging purposes as most clients care about
      * endpoints and services more than hubs.
      *
      * @return the list of HubInfo objects
diff --git a/core/java/android/hardware/serial/OWNERS b/core/java/android/hardware/serial/OWNERS
new file mode 100644
index 0000000..bc2c66a
--- /dev/null
+++ b/core/java/android/hardware/serial/OWNERS
@@ -0,0 +1,6 @@
+kkaplon@google.com
+mjel@google.com
+chominskib@google.com
+wzwonarz@google.com
+gstepniewski@google.com
+xutan@google.com
\ No newline at end of file
diff --git a/core/java/android/hardware/serial/flags/flags.aconfig b/core/java/android/hardware/serial/flags/flags.aconfig
new file mode 100644
index 0000000..d8244ba
--- /dev/null
+++ b/core/java/android/hardware/serial/flags/flags.aconfig
@@ -0,0 +1,10 @@
+package: "android.hardware.serial"
+container: "system"
+
+flag {
+    name: "enable_serial_api"
+    namespace: "serial"
+    description: "Feature flag to enable serial API"
+    bug: "369155426"
+    is_exported: true
+}
\ No newline at end of file
diff --git a/core/java/android/os/Build.java b/core/java/android/os/Build.java
index 1e6469c..0ceafa0 100644
--- a/core/java/android/os/Build.java
+++ b/core/java/android/os/Build.java
@@ -1515,7 +1515,7 @@
                 VERSION_CODES.VANILLA_ICE_CREAM * SDK_INT_MULTIPLIER;
 
         /**
-         * The upcoming, not yet finalized, version of Android.
+         * Android 36.0.
          */
         public static final int BAKLAVA = VERSION_CODES.BAKLAVA * SDK_INT_MULTIPLIER;
     }
diff --git a/core/java/android/os/CombinedMessageQueue/MessageQueue.java b/core/java/android/os/CombinedMessageQueue/MessageQueue.java
index 7497234..ce1717b 100644
--- a/core/java/android/os/CombinedMessageQueue/MessageQueue.java
+++ b/core/java/android/os/CombinedMessageQueue/MessageQueue.java
@@ -92,11 +92,8 @@
     // queue for async messages when inserting a message at the tail.
     private int mAsyncMessageCount;
 
-    /**
-     * @hide
-     */
     private final AtomicLong mMessageCount = new AtomicLong();
-    private final Thread mThread;
+    private final String mThreadName;
     private final long mTid;
 
     /**
@@ -133,7 +130,7 @@
         mUseConcurrent = sIsProcessAllowedToUseConcurrent;
         mQuitAllowed = quitAllowed;
         mPtr = nativeInit();
-        mThread = Thread.currentThread();
+        mThreadName = Thread.currentThread().getName();
         mTid = Process.myTid();
     }
 
@@ -223,10 +220,10 @@
 
         traceMessageCount();
         PerfettoTrace.instant(PerfettoTrace.MQ_CATEGORY, "message_queue_send")
-                .addFlow(msg.mEventId.get())
+                .setFlow(msg.mEventId.get())
                 .beginProto()
                 .beginNested(2004 /* message_queue */)
-                .addField(2 /* receiving_thread_name */, mThread.getName())
+                .addField(2 /* receiving_thread_name */, mThreadName)
                 .addField(3 /* message_code */, msg.what)
                 .addField(4 /* message_delay_ms */, when - SystemClock.uptimeMillis())
                 .endNested()
@@ -237,7 +234,7 @@
     /** @hide */
     private void traceMessageCount() {
         PerfettoTrace.counter(PerfettoTrace.MQ_CATEGORY, mMessageCount.get())
-                .usingThreadCounterTrack(mTid, mThread.getName())
+                .usingThreadCounterTrack(mTid, mThreadName)
                 .emit();
     }
 
diff --git a/core/java/android/os/ConfigUpdate.java b/core/java/android/os/ConfigUpdate.java
index 87cd4ee..38530d1a5 100644
--- a/core/java/android/os/ConfigUpdate.java
+++ b/core/java/android/os/ConfigUpdate.java
@@ -16,7 +16,6 @@
 
 package android.os;
 
-import android.annotation.FlaggedApi;
 import android.annotation.SdkConstant;
 import android.annotation.SdkConstant.SdkConstantType;
 import android.annotation.SystemApi;
@@ -144,7 +143,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(com.android.internal.telephony.flags.Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
     public static final String ACTION_UPDATE_CONFIG = "android.os.action.UPDATE_CONFIG";
 
@@ -172,7 +170,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(com.android.internal.telephony.flags.Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final String EXTRA_DOMAIN  = "android.os.extra.DOMAIN";
 
     private ConfigUpdate() {
diff --git a/core/java/android/os/IBinder.java b/core/java/android/os/IBinder.java
index 8cfd324..48e6249 100644
--- a/core/java/android/os/IBinder.java
+++ b/core/java/android/os/IBinder.java
@@ -451,7 +451,7 @@
      * @param executor The executor on which to run the callback.
      * @param callback The callback used to deliver state change notifications.
      *
-     * <p>@throws {@link UnsupportedOperationException} if the kernel binder driver does not support
+     * @throws {@link UnsupportedOperationException} if the kernel binder driver does not support
      * this feature.
      */
     @FlaggedApi(Flags.FLAG_BINDER_FROZEN_STATE_CHANGE_CALLBACK)
diff --git a/core/java/android/os/IpcDataCache.java b/core/java/android/os/IpcDataCache.java
index 240bc4f..2e7c3be 100644
--- a/core/java/android/os/IpcDataCache.java
+++ b/core/java/android/os/IpcDataCache.java
@@ -719,9 +719,13 @@
 
     /**
      * Enable or disable testing.  The protocol requires that the mode toggle: for instance, it is
-     * illegal to clear the test mode if the test mode is already off.  The purpose is solely to
-     * ensure that test clients do not forget to use the test mode properly, even though the
-     * current logic does not care.
+     * illegal to clear the test mode if the test mode is already off.  Enabling test mode puts
+     * all caches in the process into test mode; all nonces are initialized to UNSET and
+     * subsequent reads and writes are to process memory.  This has the effect of disabling all
+     * caches that are not local to the process.  Disabling test mode restores caches to normal
+     * operation.
+     * @param mode The desired test mode.
+     * @throws IllegalStateException if the supplied mode is already set.
      * @hide
      */
     @TestApi
diff --git a/core/java/android/os/Looper.java b/core/java/android/os/Looper.java
index 1329b90..3ff6e05 100644
--- a/core/java/android/os/Looper.java
+++ b/core/java/android/os/Looper.java
@@ -205,7 +205,7 @@
                 .addField(1 /* sending_thread_name */, msg.mSendingThreadName)
                 .endNested()
                 .endProto()
-                .addTerminatingFlow(msg.mEventId.get())
+                .setTerminatingFlow(msg.mEventId.get())
                 .emit();
 
         // This must be in a local variabe, in case a UI event sets the logger
diff --git a/core/java/android/os/Message.java b/core/java/android/os/Message.java
index b22d177..69e84e3 100644
--- a/core/java/android/os/Message.java
+++ b/core/java/android/os/Message.java
@@ -23,7 +23,7 @@
 
 import com.android.internal.annotations.VisibleForTesting;
 
-import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
 
 /**
  *
@@ -43,7 +43,7 @@
      *
      * @hide Only for use within the system server.
      */
-    public final AtomicInteger mEventId = new AtomicInteger();
+    public final AtomicLong mEventId = new AtomicLong();
 
     /**
      * User-defined message code so that the recipient can identify
diff --git a/core/java/android/os/OWNERS b/core/java/android/os/OWNERS
index 727dcba..a6785ba 100644
--- a/core/java/android/os/OWNERS
+++ b/core/java/android/os/OWNERS
@@ -78,7 +78,7 @@
 per-file PatternMatcher* = file:/PACKAGE_MANAGER_OWNERS
 
 # PermissionEnforcer
-per-file PermissionEnforcer.java = tweek@google.com, brufino@google.com
+per-file PermissionEnforcer.java = tweek@google.com
 
 # RemoteCallbackList
 per-file RemoteCallbackList.java = shayba@google.com
diff --git a/core/java/android/os/PerfettoTrackEventExtra.java b/core/java/android/os/PerfettoTrackEventExtra.java
index f4b5dfe..2848bcb 100644
--- a/core/java/android/os/PerfettoTrackEventExtra.java
+++ b/core/java/android/os/PerfettoTrackEventExtra.java
@@ -172,7 +172,6 @@
         private final Pool<FieldDouble> mFieldDoubleCache;
         private final Pool<FieldString> mFieldStringCache;
         private final Pool<FieldNested> mFieldNestedCache;
-        private final Pool<Flow> mFlowCache;
         private final Pool<Builder> mBuilderCache;
 
         private Builder() {
@@ -187,7 +186,6 @@
             mFieldDoubleCache = mExtra.mFieldDoubleCache;
             mFieldStringCache = mExtra.mFieldStringCache;
             mFieldNestedCache = mExtra.mFieldNestedCache;
-            mFlowCache = mExtra.mFlowCache;
             mBuilderCache = mExtra.mBuilderCache;
 
             mCounterInt64 = mExtra.getCounterInt64();
@@ -227,7 +225,6 @@
             mFieldStringCache.reset();
             mFieldNestedCache.reset();
             mBuilderCache.reset();
-            mFlowCache.reset();
 
             mExtra.reset();
             // Reset after on init in case the thread created builders without calling emit
@@ -325,39 +322,7 @@
         /**
          * Adds a flow with {@code id}.
          */
-        public Builder addFlow(int id) {
-            if (!mIsCategoryEnabled) {
-                return this;
-            }
-            if (DEBUG) {
-                checkParent();
-            }
-            Flow flow = mFlowCache.get(sFlowSupplier);
-            flow.setProcessFlow(id);
-            mExtra.addPerfettoPointer(flow);
-            return this;
-        }
-
-        /**
-         * Adds a terminating flow with {@code id}.
-         */
-        public Builder addTerminatingFlow(int id) {
-            if (!mIsCategoryEnabled) {
-                return this;
-            }
-            if (DEBUG) {
-                checkParent();
-            }
-            Flow flow = mFlowCache.get(sFlowSupplier);
-            flow.setProcessTerminatingFlow(id);
-            mExtra.addPerfettoPointer(flow);
-            return this;
-        }
-
-        /**
-         * Adds a flow with {@code id}.
-         */
-        public Builder setFlow(int id) {
+        public Builder setFlow(long id) {
             if (!mIsCategoryEnabled) {
                 return this;
             }
@@ -372,7 +337,7 @@
         /**
          * Adds a terminating flow with {@code id}.
          */
-        public Builder setTerminatingFlow(int id) {
+        public Builder setTerminatingFlow(long id) {
             if (!mIsCategoryEnabled) {
                 return this;
             }
@@ -670,7 +635,6 @@
     private final Pool<FieldDouble> mFieldDoubleCache = new Pool(DEFAULT_EXTRA_CACHE_SIZE);
     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<Builder> mBuilderCache = new Pool(DEFAULT_EXTRA_CACHE_SIZE);
 
     private static final NativeAllocationRegistry sRegistry =
diff --git a/core/java/android/os/PowerManagerInternal.java b/core/java/android/os/PowerManagerInternal.java
index 77b6d70..2736b60 100644
--- a/core/java/android/os/PowerManagerInternal.java
+++ b/core/java/android/os/PowerManagerInternal.java
@@ -357,4 +357,9 @@
      * This may affect dream eligibility.
      */
     public abstract void setDevicePostured(boolean isPostured);
+
+    /**
+     * Notifies PowerManager that settings have changed and that it should refresh its state.
+     */
+    public abstract void updateSettings();
 }
diff --git a/core/java/android/os/vibrator/flags.aconfig b/core/java/android/os/vibrator/flags.aconfig
index 0615578..414f2749 100644
--- a/core/java/android/os/vibrator/flags.aconfig
+++ b/core/java/android/os/vibrator/flags.aconfig
@@ -155,3 +155,13 @@
       purpose: PURPOSE_BUGFIX
     }
 }
+
+flag {
+    namespace: "haptics"
+    name: "fix_external_vibration_system_update_aware"
+    description: "Fix the audio-coupled haptics handling of system updates."
+    bug: "372241975"
+    metadata {
+      purpose: PURPOSE_BUGFIX
+    }
+}
diff --git a/core/java/android/permission/PermissionManager.java b/core/java/android/permission/PermissionManager.java
index 5188204..561a2c9 100644
--- a/core/java/android/permission/PermissionManager.java
+++ b/core/java/android/permission/PermissionManager.java
@@ -16,6 +16,7 @@
 
 package android.permission;
 
+import static android.companion.virtual.VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT;
 import static android.content.pm.PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT;
 import static android.content.pm.PackageManager.FLAG_PERMISSION_GRANTED_BY_ROLE;
 import static android.content.pm.PackageManager.FLAG_PERMISSION_POLICY_FIXED;
@@ -2039,12 +2040,49 @@
                 new PackageNamePermissionQuery(permName, pkgName, persistentDeviceId, userId));
     }
 
+    /**
+     * When checking a device-aware permission on a remote device, if the permission is CAMERA
+     * or RECORD_AUDIO we need to check remote device's corresponding capability. If the remote
+     * device doesn't have capability fall back to checking permission on the default device.
+     *
+     * @hide
+     */
+    public static int resolveDeviceIdForPermissionCheck(@NonNull Context context, int deviceId,
+            @Nullable String permission) {
+        if (deviceId == Context.DEVICE_ID_DEFAULT || !DEVICE_AWARE_PERMISSIONS.contains(
+                permission)) {
+            return Context.DEVICE_ID_DEFAULT;
+        }
+
+        VirtualDeviceManager virtualDeviceManager =
+                context.getSystemService(VirtualDeviceManager.class);
+        if (virtualDeviceManager == null) {
+            Slog.e(LOG_TAG, "VDM is not enabled when device id is not default. deviceId = "
+                    + deviceId);
+        } else {
+            VirtualDevice virtualDevice = virtualDeviceManager.getVirtualDevice(deviceId);
+            if (virtualDevice != null) {
+                if ((Objects.equals(permission, Manifest.permission.RECORD_AUDIO)
+                        && !virtualDevice.hasCustomAudioInputSupport())
+                        || (Objects.equals(permission, Manifest.permission.CAMERA)
+                        && !virtualDevice.hasCustomCameraSupport())) {
+                    deviceId = Context.DEVICE_ID_DEFAULT;
+                }
+            } else {
+                Slog.e(LOG_TAG,
+                        "virtualDevice is not found when device id is not default. deviceId = "
+                                + deviceId);
+            }
+        }
+        return deviceId;
+    }
+
     @Nullable
     private String getPersistentDeviceId(int deviceId) {
         String persistentDeviceId = null;
 
         if (deviceId == Context.DEVICE_ID_DEFAULT) {
-            persistentDeviceId = VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT;
+            persistentDeviceId = PERSISTENT_DEVICE_ID_DEFAULT;
         } else {
             VirtualDeviceManager virtualDeviceManager = mContext.getSystemService(
                     VirtualDeviceManager.class);
diff --git a/core/java/android/preference/OWNERS b/core/java/android/preference/OWNERS
index b4cb9ec..38a5abd 100644
--- a/core/java/android/preference/OWNERS
+++ b/core/java/android/preference/OWNERS
@@ -1,5 +1,4 @@
 lpf@google.com
-pavlis@google.com
 clarabayarri@google.com
 
-per-file SeekBarVolumizer.java = jmtrivi@google.com
\ No newline at end of file
+per-file SeekBarVolumizer.java = jmtrivi@google.com
diff --git a/core/java/android/print/OWNERS b/core/java/android/print/OWNERS
index ce79f5d..15f6406 100644
--- a/core/java/android/print/OWNERS
+++ b/core/java/android/print/OWNERS
@@ -1,5 +1,4 @@
 # Bug component: 47273
 
 anothermark@google.com
-kumarashishg@google.com
 bmgordon@google.com
diff --git a/core/java/android/printservice/OWNERS b/core/java/android/printservice/OWNERS
index ce79f5d..15f6406 100644
--- a/core/java/android/printservice/OWNERS
+++ b/core/java/android/printservice/OWNERS
@@ -1,5 +1,4 @@
 # Bug component: 47273
 
 anothermark@google.com
-kumarashishg@google.com
 bmgordon@google.com
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 538283e..89f66c0 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -9345,6 +9345,18 @@
                 "accessibility_autoclick_ignore_minor_cursor_movement";
 
         /**
+         * String setting that stores the position of the autoclick panel when
+         * {@link #ACCESSIBILITY_AUTOCLICK_ENABLED} is set. The position is stored as a
+         * comma-separated string containing gravity, x-coordinate, y-coordinate, and corner index.
+         * For example, "8388659,15,30,0", where 8388659 means gravity Gravity.START | Gravity.TOP.
+         *
+         * @see #ACCESSIBILITY_AUTOCLICK_ENABLED
+         * @hide
+         */
+        public static final String ACCESSIBILITY_AUTOCLICK_PANEL_POSITION =
+                "accessibility_autoclick_panel_position";
+
+        /**
          * Whether or not larger size icons are used for the pointer of mouse/trackpad for
          * accessibility.
          * (0 = false, 1 = true)
diff --git a/core/java/android/service/dreams/IDreamManager.aidl b/core/java/android/service/dreams/IDreamManager.aidl
index 3ca9d93..fdacd60 100644
--- a/core/java/android/service/dreams/IDreamManager.aidl
+++ b/core/java/android/service/dreams/IDreamManager.aidl
@@ -59,4 +59,6 @@
             float screenBrightnessFloat, int screenBrightnessInt,
             boolean useNormalBrightnessForDoze);
     oneway void finishSelfOneway(in IBinder token, boolean immediate);
+    @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS)")
+    void setScreensaverEnabled(boolean enabled);
 }
diff --git a/core/java/android/service/notification/ZenModeConfig.java b/core/java/android/service/notification/ZenModeConfig.java
index 4cbd5be..1cf43d4 100644
--- a/core/java/android/service/notification/ZenModeConfig.java
+++ b/core/java/android/service/notification/ZenModeConfig.java
@@ -2636,7 +2636,7 @@
             enabled = source.readInt() == 1;
             snoozing = source.readInt() == 1;
             if (source.readInt() == 1) {
-                name = source.readString();
+                name = source.readString8();
             }
             zenMode = source.readInt();
             conditionId = source.readParcelable(null, android.net.Uri.class);
@@ -2644,18 +2644,18 @@
             component = source.readParcelable(null, android.content.ComponentName.class);
             configurationActivity = source.readParcelable(null, android.content.ComponentName.class);
             if (source.readInt() == 1) {
-                id = source.readString();
+                id = source.readString8();
             }
             creationTime = source.readLong();
             if (source.readInt() == 1) {
-                enabler = source.readString();
+                enabler = source.readString8();
             }
             zenPolicy = source.readParcelable(null, android.service.notification.ZenPolicy.class);
             zenDeviceEffects = source.readParcelable(null, ZenDeviceEffects.class);
-            pkg = source.readString();
+            pkg = source.readString8();
             allowManualInvocation = source.readBoolean();
-            iconResName = source.readString();
-            triggerDescription = source.readString();
+            iconResName = source.readString8();
+            triggerDescription = source.readString8();
             type = source.readInt();
             userModifiedFields = source.readInt();
             zenPolicyUserModifiedFields = source.readInt();
@@ -2703,7 +2703,7 @@
             dest.writeInt(snoozing ? 1 : 0);
             if (name != null) {
                 dest.writeInt(1);
-                dest.writeString(name);
+                dest.writeString8(name);
             } else {
                 dest.writeInt(0);
             }
@@ -2714,23 +2714,23 @@
             dest.writeParcelable(configurationActivity, 0);
             if (id != null) {
                 dest.writeInt(1);
-                dest.writeString(id);
+                dest.writeString8(id);
             } else {
                 dest.writeInt(0);
             }
             dest.writeLong(creationTime);
             if (enabler != null) {
                 dest.writeInt(1);
-                dest.writeString(enabler);
+                dest.writeString8(enabler);
             } else {
                 dest.writeInt(0);
             }
             dest.writeParcelable(zenPolicy, 0);
             dest.writeParcelable(zenDeviceEffects, 0);
-            dest.writeString(pkg);
+            dest.writeString8(pkg);
             dest.writeBoolean(allowManualInvocation);
-            dest.writeString(iconResName);
-            dest.writeString(triggerDescription);
+            dest.writeString8(iconResName);
+            dest.writeString8(triggerDescription);
             dest.writeInt(type);
             dest.writeInt(userModifiedFields);
             dest.writeInt(zenPolicyUserModifiedFields);
diff --git a/core/java/android/speech/OWNERS b/core/java/android/speech/OWNERS
index 32f4822..f228ba46 100644
--- a/core/java/android/speech/OWNERS
+++ b/core/java/android/speech/OWNERS
@@ -1,3 +1,2 @@
-volnov@google.com
 eugeniom@google.com
 schfan@google.com
diff --git a/core/java/android/text/OWNERS b/core/java/android/text/OWNERS
index 0935ffd9..b493ef7 100644
--- a/core/java/android/text/OWNERS
+++ b/core/java/android/text/OWNERS
@@ -4,7 +4,6 @@
 halilibo@google.com
 haoyuchang@google.com
 justinghan@google.com
-klippenstein@google.com
 nona@google.com
 seanmcq@google.com
 siyamed@google.com
diff --git a/core/java/android/util/apk/OWNERS b/core/java/android/util/apk/OWNERS
index 0f4e869..f267f9a 100644
--- a/core/java/android/util/apk/OWNERS
+++ b/core/java/android/util/apk/OWNERS
@@ -1,3 +1,2 @@
 include /core/java/android/content/pm/OWNERS
-cbrubaker@google.com
 mpgroover@google.com
diff --git a/core/java/android/view/IWindowManager.aidl b/core/java/android/view/IWindowManager.aidl
index f58baff..4fc894c 100644
--- a/core/java/android/view/IWindowManager.aidl
+++ b/core/java/android/view/IWindowManager.aidl
@@ -789,6 +789,12 @@
             in @nullable ImeTracker.Token statsToken);
 
     /**
+     * Updates the currently animating insets types of a remote process.
+     */
+    @EnforcePermission("MANAGE_APP_TOKENS")
+    void updateDisplayWindowAnimatingTypes(int displayId, int animatingTypes);
+
+    /**
      * Called to get the expected window insets.
      *
      * @return {@code true} if system bars are always consumed.
diff --git a/core/java/android/view/IWindowSession.aidl b/core/java/android/view/IWindowSession.aidl
index 1f8f0820..7d6d5a2 100644
--- a/core/java/android/view/IWindowSession.aidl
+++ b/core/java/android/view/IWindowSession.aidl
@@ -272,6 +272,15 @@
             in @nullable ImeTracker.Token imeStatsToken);
 
     /**
+     * Notifies WindowState what insets types are currently running within the Window.
+     * see {@link com.android.server.wm.WindowState#mInsetsAnimationRunning).
+     *
+     * @param window The window that is insets animaiton is running.
+     * @param animatingTypes Indicates the currently animating insets types.
+     */
+    oneway void updateAnimatingTypes(IWindow window, int animatingTypes);
+
+    /**
      * Called when the system gesture exclusion has changed.
      */
     oneway void reportSystemGestureExclusionChanged(IWindow window, in List<Rect> exclusionRects);
@@ -372,14 +381,4 @@
      */
     oneway void notifyImeWindowVisibilityChangedFromClient(IWindow window, boolean visible,
             in ImeTracker.Token statsToken);
-
-    /**
-     * Notifies WindowState whether inset animations are currently running within the Window.
-     * This value is used by the server to vote for refresh rate.
-     * see {@link com.android.server.wm.WindowState#mInsetsAnimationRunning).
-     *
-     * @param window The window that is insets animaiton is running.
-     * @param running Indicates the insets animation state.
-     */
-    oneway void notifyInsetsAnimationRunningStateChanged(IWindow window, boolean running);
 }
diff --git a/core/java/android/view/InsetsController.java b/core/java/android/view/InsetsController.java
index 3659e78..462c5c6 100644
--- a/core/java/android/view/InsetsController.java
+++ b/core/java/android/view/InsetsController.java
@@ -211,12 +211,12 @@
         }
 
         /**
-         * Notifies when the state of running animation is changed. The state is either "running" or
-         * "idle".
+         * Notifies when the insets types of running animation have changed. The animatingTypes
+         * contain all types, which have an ongoing animation.
          *
-         * @param running {@code true} if there is any animation running; {@code false} otherwise.
+         * @param animatingTypes the {@link InsetsType}s that are currently animating
          */
-        default void notifyAnimationRunningStateChanged(boolean running) {}
+        default void updateAnimatingTypes(@InsetsType int animatingTypes) {}
 
         /** @see ViewRootImpl#isHandlingPointerEvent */
         default boolean isHandlingPointerEvent() {
@@ -665,6 +665,9 @@
     /** Set of inset types which are requested visible which are reported to the host */
     private @InsetsType int mReportedRequestedVisibleTypes = WindowInsets.Type.defaultVisible();
 
+    /** Set of insets types which are currently animating */
+    private @InsetsType int mAnimatingTypes = 0;
+
     /** Set of inset types that we have controls of */
     private @InsetsType int mControllableTypes;
 
@@ -745,9 +748,10 @@
                             mFrame, mFromState, mToState, RESIZE_INTERPOLATOR,
                             ANIMATION_DURATION_RESIZE, mTypes, InsetsController.this);
                     if (mRunningAnimations.isEmpty()) {
-                        mHost.notifyAnimationRunningStateChanged(true);
+                        mHost.updateAnimatingTypes(runner.getTypes());
                     }
                     mRunningAnimations.add(new RunningAnimation(runner, runner.getAnimationType()));
+                    mAnimatingTypes |= runner.getTypes();
                 }
             };
 
@@ -1564,9 +1568,8 @@
             }
         }
         ImeTracker.forLogging().onProgress(statsToken, ImeTracker.PHASE_CLIENT_ANIMATION_RUNNING);
-        if (mRunningAnimations.isEmpty()) {
-            mHost.notifyAnimationRunningStateChanged(true);
-        }
+        mAnimatingTypes |= runner.getTypes();
+        mHost.updateAnimatingTypes(mAnimatingTypes);
         mRunningAnimations.add(new RunningAnimation(runner, animationType));
         if (DEBUG) Log.d(TAG, "Animation added to runner. useInsetsAnimationThread: "
                 + useInsetsAnimationThread);
@@ -1578,11 +1581,7 @@
             Trace.asyncTraceBegin(TRACE_TAG_VIEW, "IC.pendingAnim", 0);
         }
 
-        if (Flags.refactorInsetsController()) {
-            onAnimationStateChanged(typesReady, true /* running */);
-        } else {
-            onAnimationStateChanged(types, true /* running */);
-        }
+        onAnimationStateChanged(types, true /* running */);
 
         if (fromIme) {
             switch (animationType) {
@@ -1831,7 +1830,7 @@
                     dispatchAnimationEnd(runningAnimation.runner.getAnimation());
                 } else {
                     if (Flags.refactorInsetsController()) {
-                        if (removedTypes == ime()
+                        if ((removedTypes & ime()) != 0
                                 && control.getAnimationType() == ANIMATION_TYPE_HIDE) {
                             if (mHost != null) {
                                 // if the (hide) animation is cancelled, the
@@ -1846,9 +1845,11 @@
                 break;
             }
         }
-        if (mRunningAnimations.isEmpty()) {
-            mHost.notifyAnimationRunningStateChanged(false);
+        if (removedTypes > 0) {
+            mAnimatingTypes &= ~removedTypes;
+            mHost.updateAnimatingTypes(mAnimatingTypes);
         }
+
         onAnimationStateChanged(removedTypes, false /* running */);
     }
 
@@ -1973,14 +1974,6 @@
         return animatingTypes;
     }
 
-    private @InsetsType int computeAnimatingTypes() {
-        int animatingTypes = 0;
-        for (int i = 0; i < mRunningAnimations.size(); i++) {
-            animatingTypes |= mRunningAnimations.get(i).runner.getTypes();
-        }
-        return animatingTypes;
-    }
-
     /**
      * Called when finishing setting requested visible types or finishing setting controls.
      *
@@ -1993,7 +1986,7 @@
             // report its requested visibility at the end of the animation, otherwise we would
             // lose the leash, and it would disappear during the animation
             // TODO(b/326377046) revisit this part and see if we can make it more general
-            typesToReport = mRequestedVisibleTypes | (computeAnimatingTypes() & ime());
+            typesToReport = mRequestedVisibleTypes | (mAnimatingTypes & ime());
         } else {
             typesToReport = mRequestedVisibleTypes;
         }
diff --git a/core/java/android/view/OrientationEventListener.java b/core/java/android/view/OrientationEventListener.java
index cd48a4f..2feb44f 100644
--- a/core/java/android/view/OrientationEventListener.java
+++ b/core/java/android/view/OrientationEventListener.java
@@ -16,13 +16,19 @@
 
 package android.view;
 
+import static android.app.WindowConfiguration.ROTATION_UNDEFINED;
+
+import android.annotation.NonNull;
 import android.content.Context;
+import android.content.res.CompatibilityInfo;
 import android.hardware.Sensor;
 import android.hardware.SensorEvent;
 import android.hardware.SensorEventListener;
 import android.hardware.SensorManager;
 import android.util.Log;
 
+import com.android.window.flags.Flags;
+
 /**
  * Helper class for receiving notifications from the SensorManager when
  * the orientation of the device has changed.
@@ -70,8 +76,10 @@
         mRate = rate;
         mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
         if (mSensor != null) {
-            // Create listener only if sensors do exist
-            mSensorEventListener = new SensorEventListenerImpl();
+            // Create listener only if sensors do exist.
+            mSensorEventListener = Flags.enableCameraCompatForDesktopWindowing()
+                    ? new CompatSensorEventListenerImpl(new SensorEventListenerImpl())
+                    : new SensorEventListenerImpl();
         }
     }
     
@@ -114,13 +122,13 @@
         private static final int _DATA_X = 0;
         private static final int _DATA_Y = 1;
         private static final int _DATA_Z = 2;
-        
+
         public void onSensorChanged(SensorEvent event) {
             float[] values = event.values;
             int orientation = ORIENTATION_UNKNOWN;
             float X = -values[_DATA_X];
             float Y = -values[_DATA_Y];
-            float Z = -values[_DATA_Z];        
+            float Z = -values[_DATA_Z];
             float magnitude = X*X + Y*Y;
             // Don't trust the angle if the magnitude is small compared to the y value
             if (magnitude * 4 >= Z*Z) {
@@ -130,7 +138,7 @@
                 // normalize to 0 - 359 range
                 while (orientation >= 360) {
                     orientation -= 360;
-                } 
+                }
                 while (orientation < 0) {
                     orientation += 360;
                 }
@@ -148,7 +156,46 @@
 
         }
     }
-    
+
+    /** Decorator to the {@link SensorEventListenerImpl}, which provides compat values if needed. */
+    class CompatSensorEventListenerImpl implements SensorEventListener {
+        // SensorEventListener without compatibility capabilities.
+        final SensorEventListenerImpl mSensorEventListener;
+
+        CompatSensorEventListenerImpl(@NonNull SensorEventListenerImpl sensorEventListener) {
+            mSensorEventListener = sensorEventListener;
+        }
+
+        public void onSensorChanged(SensorEvent event) {
+            // If the display rotation override is set, the same override should be applied to
+            // this orientation too. This rotation override will only be set when an app has a
+            // camera open and it is in camera compat mode for desktop windowing (freeform mode).
+            // Values of this override is Surface.ROTATION_0/90/180/270, or
+            // WindowConfiguration.ROTATION_UNDEFINED when not set.
+            if (CompatibilityInfo.getOverrideDisplayRotation() != ROTATION_UNDEFINED) {
+                // SensorEventListener reports the rotation in the opposite direction from the
+                // display rotation.
+                int orientation = (360 - CompatibilityInfo.getOverrideDisplayRotation() * 90) % 360;
+                if (orientation != mOrientation) {
+                    mOrientation = orientation;
+                    onOrientationChanged(orientation);
+                }
+                // `mOldListener` is deprecated and returns 3D values, which are highly unlikely to
+                // be used for orienting camera image. Thus this listener is not called here, as
+                // opposed to extrapolating values from display rotation, from 1D->3D.
+            } else {
+                // Use the default implementation: calculate the orientation from event coordinates.
+                // This method will call OrientationEventListener.onOrientationChanged(orientation)
+                // if the orientation has changed.
+                mSensorEventListener.onSensorChanged(event);
+            }
+        }
+
+        public void onAccuracyChanged(Sensor sensor, int accuracy) {
+
+        }
+    }
+
     /*
      * Returns true if sensor is enabled and false otherwise
      */
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java
index b98f4db..4f6c730 100644
--- a/core/java/android/view/SurfaceView.java
+++ b/core/java/android/view/SurfaceView.java
@@ -2247,6 +2247,27 @@
         t.reparent(sc, mBlastSurfaceControl).show(sc);
     }
 
+    /**
+     * Populates a {@link ViewStructure} for content capture.
+     *
+     * <p>If {@link #setSecure(boolean)} has been enabled, will add a property to the
+     * {@link android.app.assist.AssistStructure.ViewNode} to indicate that content will not
+     * be available for this part of the screen.
+     *
+     * @hide
+     */
+    @Override
+    protected void onProvideStructure(@NonNull ViewStructure structure,
+            @ViewStructureType int viewFor, int flags) {
+        super.onProvideStructure(structure, viewFor, flags);
+        if (android.app.contextualsearch.flags.Flags.reportSecureSurfacesInAssistStructure()) {
+            if ((mSurfaceFlags & SurfaceControl.SECURE) != 0) {
+                structure.getExtras().putBoolean(
+                        ViewStructure.EXTRA_CONTAINS_SECURE_LAYERS, true);
+            }
+        }
+    }
+
     /** @hide */
     @Override
     public void onInitializeAccessibilityNodeInfoInternal(AccessibilityNodeInfo info) {
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index c048d79..f50d77e 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -34463,7 +34463,10 @@
      */
     @FlaggedApi(android.app.jank.Flags.FLAG_DETAILED_APP_JANK_METRICS_API)
     public void reportAppJankStats(@NonNull AppJankStats appJankStats) {
-        getRootView().reportAppJankStats(appJankStats);
+        View rootView = getRootView();
+        if (rootView == this) return;
+
+        rootView.reportAppJankStats(appJankStats);
     }
 
     /**
@@ -34471,6 +34474,10 @@
      * @hide
      */
     public @Nullable JankTracker getJankTracker() {
-        return getRootView().getJankTracker();
+        View rootView = getRootView();
+        if (rootView == this) {
+            return null;
+        }
+        return rootView.getJankTracker();
     }
 }
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 9498407..e157da7 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -153,6 +153,7 @@
 import android.app.ActivityManager;
 import android.app.ActivityThread;
 import android.app.ResourcesManager;
+import android.app.UiModeManager;
 import android.app.WindowConfiguration;
 import android.app.compat.CompatChanges;
 import android.app.servertransaction.WindowStateTransactionItem;
@@ -196,6 +197,7 @@
 import android.hardware.input.InputManagerGlobal;
 import android.hardware.input.InputSettings;
 import android.media.AudioManager;
+import android.net.Uri;
 import android.os.Binder;
 import android.os.Build;
 import android.os.Bundle;
@@ -472,8 +474,6 @@
     @Nullable
     private ContentObserver mForceInvertObserver;
 
-    private static final int INVALID_VALUE = Integer.MIN_VALUE;
-    private int mForceInvertEnabled = INVALID_VALUE;
     /**
      * Callback for notifying about global configuration changes.
      */
@@ -555,6 +555,8 @@
     @UiContext
     public final Context mContext;
 
+    private UiModeManager mUiModeManager;
+
     @UnsupportedAppUsage
     final IWindowSession mWindowSession;
     @NonNull Display mDisplay;
@@ -1804,23 +1806,6 @@
         }
     }
 
-    private boolean isForceInvertEnabled() {
-        if (mForceInvertEnabled == INVALID_VALUE) {
-            reloadForceInvertEnabled();
-        }
-        return mForceInvertEnabled == 1;
-    }
-
-    private void reloadForceInvertEnabled() {
-        if (forceInvertColor()) {
-            mForceInvertEnabled = Settings.Secure.getIntForUser(
-                    mContext.getContentResolver(),
-                    Settings.Secure.ACCESSIBILITY_FORCE_INVERT_COLOR_ENABLED,
-                    /* def= */ 0,
-                    UserHandle.myUserId());
-        }
-    }
-
     /**
      * Register any kind of listeners if setView was success.
      */
@@ -1856,17 +1841,22 @@
                 mForceInvertObserver = new ContentObserver(mHandler) {
                     @Override
                     public void onChange(boolean selfChange) {
-                        reloadForceInvertEnabled();
                         updateForceDarkMode();
                     }
                 };
-                mContext.getContentResolver().registerContentObserver(
-                        Settings.Secure.getUriFor(
-                                Settings.Secure.ACCESSIBILITY_FORCE_INVERT_COLOR_ENABLED
-                        ),
-                        false,
-                        mForceInvertObserver,
-                        UserHandle.myUserId());
+
+                final Uri[] urisToObserve = {
+                    Settings.Secure.getUriFor(
+                        Settings.Secure.ACCESSIBILITY_FORCE_INVERT_COLOR_ENABLED),
+                    Settings.Secure.getUriFor(Settings.Secure.UI_NIGHT_MODE)
+                };
+                for (Uri uri : urisToObserve) {
+                    mContext.getContentResolver().registerContentObserver(
+                            uri,
+                            false,
+                            mForceInvertObserver,
+                            UserHandle.myUserId());
+                }
             }
         }
     }
@@ -2073,21 +2063,25 @@
         return getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
     }
 
-    /** Returns true if force dark should be enabled according to various settings */
+    /**
+     * Determines the type of force dark to apply, considering force inversion, system night mode,
+     * and app-specific settings (including developer opt-outs).
+     *
+     * @return A {@link ForceDarkType.ForceDarkTypeDef} constant indicating the force dark type.
+     */
     @VisibleForTesting
     public @ForceDarkType.ForceDarkTypeDef int determineForceDarkType() {
         if (forceInvertColor()) {
             // Force invert ignores all developer opt-outs.
             // We also ignore dark theme, since the app developer can override the user's preference
-            // for dark mode in configuration.uiMode. Instead, we assume that the force invert
-            // setting will be enabled at the same time dark theme is in the Settings app.
-            if (isForceInvertEnabled()) {
+            // for dark mode in configuration.uiMode. Instead, we assume that both force invert and
+            // the system's dark theme are enabled.
+            if (getUiModeManager().getForceInvertState() == UiModeManager.FORCE_INVERT_TYPE_DARK) {
                 return ForceDarkType.FORCE_INVERT_COLOR_DARK;
             }
         }
 
         boolean useAutoDark = getNightMode() == Configuration.UI_MODE_NIGHT_YES;
-
         if (useAutoDark) {
             boolean forceDarkAllowedDefault =
                     SystemProperties.getBoolean(ThreadedRenderer.DEBUG_FORCE_DARK, false);
@@ -2540,11 +2534,12 @@
     }
 
     /**
-     * Notify the when the running state of a insets animation changed.
+     * Notify the when the animating insets types have changed.
      */
     @VisibleForTesting
-    public void notifyInsetsAnimationRunningStateChanged(boolean running) {
+    public void updateAnimatingTypes(@InsetsType int animatingTypes) {
         if (sToolkitSetFrameRateReadOnlyFlagValue) {
+            boolean running = animatingTypes != 0;
             if (Trace.isTagEnabled(Trace.TRACE_TAG_VIEW)) {
                 Trace.instant(Trace.TRACE_TAG_VIEW,
                         TextUtils.formatSimple("notifyInsetsAnimationRunningStateChanged(%s)",
@@ -2552,7 +2547,7 @@
             }
             mInsetsAnimationRunning = running;
             try {
-                mWindowSession.notifyInsetsAnimationRunningStateChanged(mWindow, running);
+                mWindowSession.updateAnimatingTypes(mWindow, animatingTypes);
             } catch (RemoteException e) {
             }
         }
@@ -9400,6 +9395,13 @@
         return mAudioManager;
     }
 
+    private UiModeManager getUiModeManager() {
+        if (mUiModeManager == null) {
+            mUiModeManager = mContext.getSystemService(UiModeManager.class);
+        }
+        return mUiModeManager;
+    }
+
     private Vibrator getSystemVibrator() {
         if (mVibrator == null) {
             mVibrator = mContext.getSystemService(Vibrator.class);
diff --git a/core/java/android/view/ViewRootInsetsControllerHost.java b/core/java/android/view/ViewRootInsetsControllerHost.java
index 889acca4..8954df6 100644
--- a/core/java/android/view/ViewRootInsetsControllerHost.java
+++ b/core/java/android/view/ViewRootInsetsControllerHost.java
@@ -171,6 +171,13 @@
     }
 
     @Override
+    public void updateAnimatingTypes(@WindowInsets.Type.InsetsType int animatingTypes) {
+        if (mViewRoot != null) {
+            mViewRoot.updateAnimatingTypes(animatingTypes);
+        }
+    }
+
+    @Override
     public boolean hasAnimationCallbacks() {
         if (mViewRoot.mView == null) {
             return false;
@@ -275,13 +282,6 @@
     }
 
     @Override
-    public void notifyAnimationRunningStateChanged(boolean running) {
-        if (mViewRoot != null) {
-            mViewRoot.notifyInsetsAnimationRunningStateChanged(running);
-        }
-    }
-
-    @Override
     public boolean isHandlingPointerEvent() {
         return mViewRoot != null && mViewRoot.isHandlingPointerEvent();
     }
diff --git a/core/java/android/view/ViewStructure.java b/core/java/android/view/ViewStructure.java
index 43a946a..53953a9 100644
--- a/core/java/android/view/ViewStructure.java
+++ b/core/java/android/view/ViewStructure.java
@@ -77,6 +77,19 @@
             "android.view.ViewStructure.extra.FIRST_ACTIVE_POSITION";
 
     /**
+     * Key used for confirming whether the view draws graphics containing secure layers.
+     *
+     * <p>Secure layers cannot be read back into main memory and will show up as blank regions
+     * in assist screenshots.
+     *
+     * @see android.view.SurfaceControl#SECURE
+     *
+     * @hide
+     */
+    public static final String EXTRA_CONTAINS_SECURE_LAYERS =
+            "android.view.ViewStructure.extra.CONTAINS_SECURE_LAYERS";
+
+    /**
      * Key used for writing the type of the view that generated the virtual structure of its
      * children.
      *
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java
index 24647f4..83dc79b 100644
--- a/core/java/android/view/WindowManager.java
+++ b/core/java/android/view/WindowManager.java
@@ -625,6 +625,18 @@
     int TRANSIT_FLAG_PHYSICAL_DISPLAY_SWITCH = (1 << 14); // 0x4000
 
     /**
+     * Transition flag: Indicates that aod is showing hidden by entering doze
+     * @hide
+     */
+    int TRANSIT_FLAG_AOD_APPEARING = (1 << 15); // 0x8000
+
+    /**
+     * Transition flag: Indicates that the task shouldn't move to front when launching the activity.
+     * @hide
+     */
+    int TRANSIT_FLAG_AVOID_MOVE_TO_FRONT = (1 << 16); // 0x10000
+
+    /**
      * @hide
      */
     @IntDef(flag = true, prefix = { "TRANSIT_FLAG_" }, value = {
@@ -643,6 +655,8 @@
             TRANSIT_FLAG_KEYGUARD_OCCLUDING,
             TRANSIT_FLAG_KEYGUARD_UNOCCLUDING,
             TRANSIT_FLAG_PHYSICAL_DISPLAY_SWITCH,
+            TRANSIT_FLAG_AOD_APPEARING,
+            TRANSIT_FLAG_AVOID_MOVE_TO_FRONT,
     })
     @Retention(RetentionPolicy.SOURCE)
     @interface TransitionFlags {}
@@ -659,7 +673,8 @@
             (TRANSIT_FLAG_KEYGUARD_GOING_AWAY
             | TRANSIT_FLAG_KEYGUARD_APPEARING
             | TRANSIT_FLAG_KEYGUARD_OCCLUDING
-            | TRANSIT_FLAG_KEYGUARD_UNOCCLUDING);
+            | TRANSIT_FLAG_KEYGUARD_UNOCCLUDING
+            | TRANSIT_FLAG_AOD_APPEARING);
 
     /**
      * Remove content mode: Indicates remove content mode is currently not defined.
diff --git a/core/java/android/view/WindowlessWindowManager.java b/core/java/android/view/WindowlessWindowManager.java
index 72a595d..0a86ff8 100644
--- a/core/java/android/view/WindowlessWindowManager.java
+++ b/core/java/android/view/WindowlessWindowManager.java
@@ -597,6 +597,11 @@
     }
 
     @Override
+    public void updateAnimatingTypes(IWindow window, @InsetsType int animatingTypes) {
+        // NO-OP
+    }
+
+    @Override
     public void reportSystemGestureExclusionChanged(android.view.IWindow window,
             List<Rect> exclusionRects) {
     }
@@ -679,11 +684,6 @@
             @NonNull ImeTracker.Token statsToken) {
     }
 
-    @Override
-    public void notifyInsetsAnimationRunningStateChanged(IWindow window, boolean running) {
-        // NO-OP
-    }
-
     void setParentInterface(@Nullable ISurfaceControlViewHostParent parentInterface) {
         IBinder oldInterface = mParentInterface == null ? null : mParentInterface.asBinder();
         IBinder newInterface = parentInterface == null ? null : parentInterface.asBinder();
diff --git a/core/java/android/view/accessibility/flags/accessibility_flags.aconfig b/core/java/android/view/accessibility/flags/accessibility_flags.aconfig
index 49a11ca..80a9cbc 100644
--- a/core/java/android/view/accessibility/flags/accessibility_flags.aconfig
+++ b/core/java/android/view/accessibility/flags/accessibility_flags.aconfig
@@ -235,6 +235,14 @@
 }
 
 flag {
+    name: "request_rectangle_with_source"
+    namespace: "accessibility"
+    description: "Request rectangle on screen with source parameter"
+    bug: "391877896"
+    is_exported: true
+}
+
+flag {
     name: "restore_a11y_secure_settings_on_hsum_device"
     namespace: "accessibility"
     description: "Grab the a11y settings and send the settings restored broadcast for current visible foreground user"
diff --git a/core/java/android/view/inputmethod/ImeTracker.java b/core/java/android/view/inputmethod/ImeTracker.java
index aa0111a..60178cd 100644
--- a/core/java/android/view/inputmethod/ImeTracker.java
+++ b/core/java/android/view/inputmethod/ImeTracker.java
@@ -225,6 +225,7 @@
             PHASE_SERVER_UPDATE_CLIENT_VISIBILITY,
             PHASE_WM_DISPLAY_IME_CONTROLLER_SET_IME_REQUESTED_VISIBLE,
             PHASE_WM_UPDATE_DISPLAY_WINDOW_REQUESTED_VISIBLE_TYPES,
+            PHASE_WM_REQUESTED_VISIBLE_TYPES_NOT_CHANGED,
     })
     @Retention(RetentionPolicy.SOURCE)
     @interface Phase {}
@@ -445,6 +446,9 @@
     /** The control target reported its requestedVisibleTypes back to WindowManagerService. */
     int PHASE_WM_UPDATE_DISPLAY_WINDOW_REQUESTED_VISIBLE_TYPES =
             ImeProtoEnums.PHASE_WM_UPDATE_DISPLAY_WINDOW_REQUESTED_VISIBLE_TYPES;
+    /** The requestedVisibleTypes have not been changed, so this request is not continued. */
+    int PHASE_WM_REQUESTED_VISIBLE_TYPES_NOT_CHANGED =
+            ImeProtoEnums.PHASE_WM_REQUESTED_VISIBLE_TYPES_NOT_CHANGED;
 
     /**
      * Called when an IME request is started.
diff --git a/core/java/android/view/inputmethod/flags.aconfig b/core/java/android/view/inputmethod/flags.aconfig
index 16f4114..a4ea64e 100644
--- a/core/java/android/view/inputmethod/flags.aconfig
+++ b/core/java/android/view/inputmethod/flags.aconfig
@@ -196,3 +196,21 @@
     purpose: PURPOSE_BUGFIX
   }
 }
+
+flag {
+  name: "report_animating_insets_types"
+  namespace: "input_method"
+  description: "Adding animating insets types and report IME visibility at the beginning of hiding"
+  bug: "393049691"
+}
+
+flag {
+    name: "lower_ime_oom_importance"
+    namespace: "input_method"
+    description: "Lower keyboard app process oom importance to PERCEPTIBLE_APP_ADJ + 1."
+    bug: "372511805"
+    is_fixed_read_only: true
+    metadata {
+        purpose: PURPOSE_BUGFIX
+    }
+}
diff --git a/core/java/android/view/textclassifier/intent/OWNERS b/core/java/android/view/textclassifier/intent/OWNERS
index dc18514..4a5dfd8 100644
--- a/core/java/android/view/textclassifier/intent/OWNERS
+++ b/core/java/android/view/textclassifier/intent/OWNERS
@@ -2,5 +2,4 @@
 
 toki@google.com
 svetoslavganov@android.com
-svetoslavganov@google.com
 joannechung@google.com
diff --git a/core/java/android/webkit/TEST_MAPPING b/core/java/android/webkit/TEST_MAPPING
index 3858059..c9b5476 100644
--- a/core/java/android/webkit/TEST_MAPPING
+++ b/core/java/android/webkit/TEST_MAPPING
@@ -17,15 +17,6 @@
           "exclude-annotation": "android.test.FlakyTest"
         }
       ]
-    },
-    {
-      "name": "GtsWebViewHostTestCases",
-      "keywords": ["internal"],
-      "options": [
-        {
-          "exclude-annotation": "android.test.FlakyTest"
-        }
-      ]
     }
   ]
 }
diff --git a/core/java/android/webkit/WebSettings.java b/core/java/android/webkit/WebSettings.java
index 14b208a..ab7a4f2 100644
--- a/core/java/android/webkit/WebSettings.java
+++ b/core/java/android/webkit/WebSettings.java
@@ -1458,13 +1458,14 @@
     public abstract void setNeedInitialFocus(boolean flag);
 
     /**
-     * Sets the priority of the Render thread. Unlike the other settings, this
+     * Sets the CPU scheduling priority of the Render thread. Unlike the other settings, this
      * one only needs to be called once per process. The default value is
      * {@link RenderPriority#NORMAL}.
      *
      * @param priority the priority
-     * @deprecated It is not recommended to adjust thread priorities, and this will
-     *             not be supported in future versions.
+     * @deprecated This is no longer supported. See {@link WebView#setRendererPriorityPolicy} if you
+     *             instead want to control how freely the system should kill the renderer process
+     *             under low memory conditions.
      */
     @Deprecated
     public abstract void setRenderPriority(RenderPriority priority);
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index b666399..5e22c28 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -2287,26 +2287,53 @@
     public @interface RendererPriority {}
 
     /**
-     * The renderer associated with this WebView is bound with
-     * {@link Context#BIND_WAIVE_PRIORITY}. At this priority level
-     * {@link WebView} renderers will be strong targets for out of memory
-     * killing.
+     * This is the lowest binding priority for the WebView renderer process. This is equivalent to
+     * {@link Context#BIND_WAIVE_PRIORITY}. At this priority level {@link WebView} renderers will be
+     * frequent targets for being killed when the system is running low on memory.
      *
-     * Use with {@link #setRendererPriorityPolicy}.
+     * <p>If using this priority, we recommend handling the {@link
+     * WebViewClient#onRenderProcessGone} callback to recover from low memory kills as well as other
+     * types of renderer crashes.
+     *
+     * @see #setRendererPriorityPolicy
+     * @see #getRendererPriorityPolicy
+     * @see RenderProcessGoneDetail#rendererPriorityAtExit
      */
     public static final int RENDERER_PRIORITY_WAIVED = 0;
+
     /**
-     * The renderer associated with this WebView is bound with
-     * the default priority for services.
+     * This is the medium binding priority for the WebView renderer process. This is equivalent to
+     * the standard priority used by the system for calls to {@link
+     * Context#bindService(Intent,android.content.ServiceConnection,int)} when no flags are
+     * provided. At this priority level {@link WebView} renderers will be slightly more likely
+     * targets for being killed when the system is running low on memory.
      *
-     * Use with {@link #setRendererPriorityPolicy}.
+     * <p>If using this priority, we recommend handling the {@link
+     * WebViewClient#onRenderProcessGone} callback to recover from low memory kills as well as other
+     * types of renderer crashes.
+     *
+     * @see #setRendererPriorityPolicy
+     * @see #getRendererPriorityPolicy
+     * @see RenderProcessGoneDetail#rendererPriorityAtExit
      */
     public static final int RENDERER_PRIORITY_BOUND = 1;
+
     /**
-     * The renderer associated with this WebView is bound with
-     * {@link Context#BIND_IMPORTANT}.
+     * This is the highest binding priority for the WebView renderer process, and the default value
+     * WebView uses to bind to the renderer process. This is equivalent to {@link
+     * Context#BIND_IMPORTANT}. At this priority level {@link WebView} renderers are less likely to
+     * be killed when the system is running low on memory and will have the same priority as your
+     * app's main process.
      *
-     * Use with {@link #setRendererPriorityPolicy}.
+     * <p>It's still possible for the renderer process to be killed when the system is running low
+     * on memory, however specifying this priority makes this situation less likely. It's also still
+     * possible for the renderer process to crash for other reasons. You may optionally still choose
+     * to handle {@link WebViewClient#onRenderProcessGone} in order to recover from a killed or
+     * crashed renderer process.
+     *
+     * @see #setRendererPriorityPolicy
+     * @see #getRendererPriorityPolicy
+     * @see RenderProcessGoneDetail#rendererPriorityAtExit
      */
     public static final int RENDERER_PRIORITY_IMPORTANT = 2;
 
@@ -2316,7 +2343,7 @@
      * process renderer should be considered to be a target for OOM
      * killing.
      *
-     * Because a renderer can be associated with more than one
+     * <p>Because a renderer can be associated with more than one
      * WebView, the final priority it is computed as the maximum of
      * any attached WebViews. When a WebView is destroyed it will
      * cease to be considerered when calculating the renderer
@@ -2324,7 +2351,7 @@
      * the priority of the renderer will be reduced to
      * {@link #RENDERER_PRIORITY_WAIVED}.
      *
-     * The default policy is to set the priority to
+     * <p>The default policy is to set the priority to
      * {@link #RENDERER_PRIORITY_IMPORTANT} regardless of visibility,
      * and this should not be changed unless the caller also handles
      * renderer crashes with
@@ -2338,6 +2365,8 @@
      *        when this WebView is not visible, it will be treated as
      *        if it had requested a priority of
      *        {@link #RENDERER_PRIORITY_WAIVED}.
+     * @see #getRendererPriorityPolicy
+     * @see RenderProcessGoneDetail#rendererPriorityAtExit
      */
     public void setRendererPriorityPolicy(
             @RendererPriority int rendererRequestedPriority,
@@ -2349,6 +2378,8 @@
      * Get the requested renderer priority for this WebView.
      *
      * @return the requested renderer priority policy.
+     * @see #setRendererPriorityPolicy
+     * @see RenderProcessGoneDetail#rendererPriorityAtExit
      */
     @InspectableProperty(hasAttributeId = false, enumMapping = {
             @InspectableProperty.EnumEntry(name = "waived", value = RENDERER_PRIORITY_WAIVED),
diff --git a/core/java/android/widget/RemoteViewsAdapter.java b/core/java/android/widget/RemoteViewsAdapter.java
index 118edc2..fa7b74f 100644
--- a/core/java/android/widget/RemoteViewsAdapter.java
+++ b/core/java/android/widget/RemoteViewsAdapter.java
@@ -242,7 +242,7 @@
 
         @Override
         public void onNullBinding(ComponentName name) {
-            enqueueDeferredUnbindServiceMessage();
+            unbindNow();
         }
 
         @Override
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 99fe0cb..5e828ba 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -5211,7 +5211,11 @@
      */
     @Nullable
     public String getFontVariationSettings() {
-        return mTextPaint.getFontVariationSettings();
+        if (Flags.typefaceRedesignReadonly()) {
+            return mTextPaint.getFontVariationOverride();
+        } else {
+            return mTextPaint.getFontVariationSettings();
+        }
     }
 
     /**
@@ -5567,10 +5571,10 @@
                             Math.clamp(400 + mFontWeightAdjustment,
                                     FontStyle.FONT_WEIGHT_MIN, FontStyle.FONT_WEIGHT_MAX)));
                 }
-                mTextPaint.setFontVariationSettings(
+                mTextPaint.setFontVariationOverride(
                         FontVariationAxis.toFontVariationSettings(axes));
             } else {
-                mTextPaint.setFontVariationSettings(fontVariationSettings);
+                mTextPaint.setFontVariationOverride(fontVariationSettings);
             }
             effective = true;
         } else {
diff --git a/core/java/android/widget/flags/notification_widget_flags.aconfig b/core/java/android/widget/flags/notification_widget_flags.aconfig
index 56a2cf7..732eabe 100644
--- a/core/java/android/widget/flags/notification_widget_flags.aconfig
+++ b/core/java/android/widget/flags/notification_widget_flags.aconfig
@@ -66,4 +66,14 @@
   metadata {
     purpose: PURPOSE_BUGFIX
   }
+}
+
+flag {
+  name: "drop_non_existing_messages"
+  namespace: "systemui"
+  description: "Drops all group and message entries that no longer exist."
+  bug: "378101061"
+  metadata {
+    purpose: PURPOSE_BUGFIX
+  }
 }
\ No newline at end of file
diff --git a/core/java/android/window/DesktopModeFlags.java b/core/java/android/window/DesktopModeFlags.java
index 4aeedbb..3cdf290 100644
--- a/core/java/android/window/DesktopModeFlags.java
+++ b/core/java/android/window/DesktopModeFlags.java
@@ -43,6 +43,8 @@
 public enum DesktopModeFlags {
     // All desktop mode related flags to be overridden by developer option toggle will be added here
     // go/keep-sorted start
+    DISABLE_DESKTOP_LAUNCH_PARAMS_OUTSIDE_DESKTOP_BUG_FIX(
+            Flags::disableDesktopLaunchParamsOutsideDesktopBugFix, false),
     DISABLE_NON_RESIZABLE_APP_SNAP_RESIZE(Flags::disableNonResizableAppSnapResizing, true),
     ENABLE_ACCESSIBLE_CUSTOM_HEADERS(Flags::enableAccessibleCustomHeaders, true),
     ENABLE_APP_HEADER_WITH_TASK_DENSITY(Flags::enableAppHeaderWithTaskDensity, true),
@@ -59,6 +61,8 @@
     ENABLE_DESKTOP_COMPAT_UI_VISIBILITY_STATUS(Flags::enableCompatUiVisibilityStatus, true),
     ENABLE_DESKTOP_INDICATOR_IN_SEPARATE_THREAD_BUGFIX(
             Flags::enableDesktopIndicatorInSeparateThreadBugfix, false),
+    ENABLE_DESKTOP_OPENING_DEEPLINK_MINIMIZE_ANIMATION_BUGFIX(
+            Flags::enableDesktopOpeningDeeplinkMinimizeAnimationBugfix, false),
     ENABLE_DESKTOP_RECENTS_TRANSITIONS_CORNERS_BUGFIX(
             Flags::enableDesktopRecentsTransitionsCornersBugfix, false),
     ENABLE_DESKTOP_SKIP_COMPAT_UI_EDUCATION_IN_DESKTOP_MODE_BUGFIX(
@@ -97,6 +101,8 @@
     ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY(Flags::enableDesktopWindowingWallpaperActivity,
             true),
     ENABLE_DRAG_RESIZE_SET_UP_IN_BG_THREAD(Flags::enableDragResizeSetUpInBgThread, false),
+    ENABLE_DRAG_TO_DESKTOP_INCOMING_TRANSITIONS_BUGFIX(
+            Flags::enableDragToDesktopIncomingTransitionsBugfix, false),
     ENABLE_FULLY_IMMERSIVE_IN_DESKTOP(Flags::enableFullyImmersiveInDesktop, true),
     ENABLE_HANDLE_INPUT_FIX(Flags::enableHandleInputFix, true),
     ENABLE_HOLD_TO_DRAG_APP_HANDLE(Flags::enableHoldToDragAppHandle, true),
@@ -111,6 +117,7 @@
     ENABLE_START_LAUNCH_TRANSITION_FROM_TASKBAR_BUGFIX(
             Flags::enableStartLaunchTransitionFromTaskbarBugfix, true),
     ENABLE_TASKBAR_OVERFLOW(Flags::enableTaskbarOverflow, false),
+    ENABLE_TASKBAR_RECENTS_LAYOUT_TRANSITION(Flags::enableTaskbarRecentsLayoutTransition, false),
     ENABLE_TASK_RESIZING_KEYBOARD_SHORTCUTS(Flags::enableTaskResizingKeyboardShortcuts, true),
     ENABLE_TASK_STACK_OBSERVER_IN_SHELL(Flags::enableTaskStackObserverInShell, true),
     ENABLE_THEMED_APP_HEADERS(Flags::enableThemedAppHeaders, true),
diff --git a/core/java/android/window/SplashScreenView.java b/core/java/android/window/SplashScreenView.java
index af3d7eb..ea0d6b8 100644
--- a/core/java/android/window/SplashScreenView.java
+++ b/core/java/android/window/SplashScreenView.java
@@ -733,11 +733,12 @@
                 mIconBitmap = iconView != null
                         ? copyDrawable(((ImageView) view.getIconView()).getDrawable()) : null;
             }
-            mBrandingBitmap = copyDrawable(view.getBrandingView().getBackground());
 
-            ViewGroup.LayoutParams params = view.getBrandingView().getLayoutParams();
+            final ViewGroup.LayoutParams params = view.getBrandingView().getLayoutParams();
             mBrandingWidth = params.width;
             mBrandingHeight = params.height;
+            mBrandingBitmap = copyDrawableWithSize(view.getBrandingView().getBackground(),
+                    mBrandingWidth, mBrandingHeight);
 
             if (view.getIconAnimationStart() != null) {
                 mIconAnimationStartMillis = view.getIconAnimationStart().toEpochMilli();
@@ -752,6 +753,13 @@
                 final Rect initialBounds = drawable.copyBounds();
                 final int width = initialBounds.width();
                 final int height = initialBounds.height();
+                return copyDrawableWithSize(drawable, width, height);
+            }
+            return null;
+        }
+
+        private Bitmap copyDrawableWithSize(Drawable drawable, int width, int height) {
+            if (drawable != null) {
                 if (width <= 0 || height <= 0) {
                     return null;
                 }
diff --git a/core/java/android/window/TransitionInfo.java b/core/java/android/window/TransitionInfo.java
index 32175f1..63c55ad 100644
--- a/core/java/android/window/TransitionInfo.java
+++ b/core/java/android/window/TransitionInfo.java
@@ -1152,7 +1152,6 @@
             mEnterResId = in.readInt();
             mChangeResId = in.readInt();
             mExitResId = in.readInt();
-            mBackgroundColor = in.readInt();
             mOverrideTaskTransition = in.readBoolean();
             mPackageName = in.readString();
             mTransitionBounds.readFromParcel(in);
@@ -1203,23 +1202,6 @@
         }
 
         /**
-         * Make options for a custom animation based on anim resources.
-         *
-         * @param packageName the package name to find the animation resources
-         * @param enterResId the open animation resources ID
-         * @param exitResId the close animation resources ID
-         * @param backgroundColor the background color
-         * @param overrideTaskTransition whether to override the task transition
-         */
-        @NonNull
-        public static AnimationOptions makeCustomAnimOptions(@NonNull String packageName,
-                @AnimRes int enterResId, @AnimRes int exitResId, @ColorInt int backgroundColor,
-                boolean overrideTaskTransition) {
-            return makeCustomAnimOptions(packageName, enterResId, DEFAULT_ANIMATION_RESOURCES_ID,
-                    exitResId, backgroundColor, overrideTaskTransition);
-        }
-
-        /**
          * Creates a {@link android.app.ActivityOptions#ANIM_CUSTOM} {@link AnimationOptions}.
          *
          * @param packageName the package name that includes the animation resources.
@@ -1231,13 +1213,12 @@
         @NonNull
         public static AnimationOptions makeCustomAnimOptions(@NonNull String packageName,
                 @AnimRes int enterResId, @AnimRes int changeResId, @AnimRes int exitResId,
-                @ColorInt int backgroundColor, boolean overrideTaskTransition) {
+                boolean overrideTaskTransition) {
             AnimationOptions options = new AnimationOptions(ANIM_CUSTOM);
             options.mPackageName = packageName;
             options.mEnterResId = enterResId;
             options.mChangeResId = changeResId;
             options.mExitResId = exitResId;
-            options.mBackgroundColor = backgroundColor;
             options.mOverrideTaskTransition = overrideTaskTransition;
             return options;
         }
@@ -1313,10 +1294,6 @@
             return mExitResId;
         }
 
-        public @ColorInt int getBackgroundColor() {
-            return mBackgroundColor;
-        }
-
         public boolean getOverrideTaskTransition() {
             return mOverrideTaskTransition;
         }
@@ -1352,7 +1329,6 @@
             dest.writeInt(mEnterResId);
             dest.writeInt(mChangeResId);
             dest.writeInt(mExitResId);
-            dest.writeInt(mBackgroundColor);
             dest.writeBoolean(mOverrideTaskTransition);
             dest.writeString(mPackageName);
             mTransitionBounds.writeToParcel(dest, flags);
diff --git a/core/java/android/window/flags/lse_desktop_experience.aconfig b/core/java/android/window/flags/lse_desktop_experience.aconfig
index 2e36e9a..355a87d 100644
--- a/core/java/android/window/flags/lse_desktop_experience.aconfig
+++ b/core/java/android/window/flags/lse_desktop_experience.aconfig
@@ -100,6 +100,17 @@
 }
 
 flag {
+    name: "disable_desktop_launch_params_outside_desktop_bug_fix"
+    namespace: "lse_desktop_experience"
+    description: "Prevents DesktopModeLaunchParamsModifier from modifying launch params for non /n"
+                 "desktop launches."
+    bug: "396108436"
+    metadata {
+        purpose: PURPOSE_BUGFIX
+    }
+}
+
+flag {
     name: "enable_desktop_windowing_wallpaper_activity"
     namespace: "lse_desktop_experience"
     description: "Enables desktop wallpaper activity to show wallpaper in the desktop mode"
@@ -811,4 +822,34 @@
     metadata {
         purpose: PURPOSE_BUGFIX
     }
+}
+
+flag {
+    name: "enable_drag_to_desktop_incoming_transitions_bugfix"
+    namespace: "lse_desktop_experience"
+    description: "Enables bugfix handling incoming transitions during the DragToDesktop transition."
+    bug: "397135730"
+    metadata {
+        purpose: PURPOSE_BUGFIX
+    }
+}
+
+flag {
+    name: "enable_taskbar_recents_layout_transition"
+    namespace: "lse_desktop_experience"
+    description: "Enable Taskbar LayoutTransition for Recent Apps"
+    bug: "343521765"
+    metadata {
+        purpose: PURPOSE_BUGFIX
+    }
+}
+
+flag {
+    name: "enable_desktop_opening_deeplink_minimize_animation_bugfix"
+    namespace: "lse_desktop_experience"
+    description: "Enabling a minimize animation when a new window is opened via deeplink and the Desktop Windowing open windows limit is reached."
+    bug: "360329773"
+    metadata {
+        purpose: PURPOSE_BUGFIX
+    }
 }
\ No newline at end of file
diff --git a/core/java/android/window/flags/windowing_frontend.aconfig b/core/java/android/window/flags/windowing_frontend.aconfig
index a4d128f..0e19eb2 100644
--- a/core/java/android/window/flags/windowing_frontend.aconfig
+++ b/core/java/android/window/flags/windowing_frontend.aconfig
@@ -298,17 +298,6 @@
 }
 
 flag {
-  name: "always_capture_activity_snapshot"
-  namespace: "windowing_frontend"
-  description: "Always capture activity snapshot regardless predictive back status"
-  bug: "362183912"
-  is_fixed_read_only: true
-  metadata {
-    purpose: PURPOSE_BUGFIX
-  }
-}
-
-flag {
   name: "ensure_keyguard_does_transition_starting"
   namespace: "windowing_frontend"
   description: "Ensure that keyguard is the one starting transitions, instead of delegating to Core"
@@ -352,17 +341,6 @@
 }
 
 flag {
-  name: "defer_predictive_animation_if_no_snapshot"
-  namespace: "windowing_frontend"
-  description: "If no snapshot for previous window, start animation until the client has draw."
-  bug: "374621014"
-  is_fixed_read_only: true
-  metadata {
-      purpose: PURPOSE_BUGFIX
-    }
-}
-
-flag {
     name: "predictive_back_system_override_callback"
     namespace: "windowing_frontend"
     description: "Provide pre-make predictive back API extension"
@@ -493,4 +471,15 @@
     metadata {
         purpose: PURPOSE_BUGFIX
     }
+}
+
+flag {
+    name: "reduce_task_snapshot_memory_usage"
+    namespace: "windowing_frontend"
+    description: "Reduce task snapshot memory usage in either heap and dmabuf."
+    bug: "238206323"
+    is_fixed_read_only: true
+    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 6e45d3d..f2efa20 100644
--- a/core/java/android/window/flags/windowing_sdk.aconfig
+++ b/core/java/android/window/flags/windowing_sdk.aconfig
@@ -7,13 +7,6 @@
 
 flag {
     namespace: "windowing_sdk"
-    name: "activity_embedding_overlay_presentation_flag"
-    description: "Whether the overlay presentation feature is enabled"
-    bug: "293370683"
-}
-
-flag {
-    namespace: "windowing_sdk"
     name: "task_fragment_system_organizer_flag"
     description: "Whether the TaskFragment system organizer feature is enabled"
     bug: "284050041"
@@ -124,16 +117,6 @@
 
 flag {
     namespace: "windowing_sdk"
-    name: "normalize_home_intent"
-    description: "To ensure home is started in correct intent"
-    bug: "378505461"
-    metadata {
-        purpose: PURPOSE_BUGFIX
-    }
-}
-
-flag {
-    namespace: "windowing_sdk"
     name: "condense_configuration_change_for_simple_mode"
     description: "Condense configuration change for simple mode"
     bug: "356738240"
@@ -169,4 +152,15 @@
     metadata {
         purpose: PURPOSE_BUGFIX
     }
-}
\ No newline at end of file
+}
+
+flag {
+    namespace: "windowing_sdk"
+    name: "cleanup_dispatch_pending_transactions_remote_exception"
+    description: "Refactor to cleanup for RemoteException from dispatchPendingTransactions"
+    bug: "323801078"
+    is_fixed_read_only: true
+    metadata {
+        purpose: PURPOSE_BUGFIX
+    }
+}
diff --git a/core/java/com/android/internal/app/MediaRouteControllerContentManager.java b/core/java/com/android/internal/app/MediaRouteControllerContentManager.java
index 3a8b94f..11093f1 100644
--- a/core/java/com/android/internal/app/MediaRouteControllerContentManager.java
+++ b/core/java/com/android/internal/app/MediaRouteControllerContentManager.java
@@ -206,6 +206,13 @@
         mDelegate.dismissView();
     }
 
+    /**
+     * Request the media route to update volume.
+     */
+    public void requestUpdateRouteVolume(int direction) {
+        mRoute.requestUpdateVolume(direction);
+    }
+
     private boolean isVolumeControlAvailable() {
         return mRoute.getVolumeHandling() == MediaRouter.RouteInfo.PLAYBACK_VOLUME_VARIABLE;
     }
diff --git a/core/java/com/android/internal/app/MediaRouteControllerDialog.java b/core/java/com/android/internal/app/MediaRouteControllerDialog.java
index 5899963..73f9515 100644
--- a/core/java/com/android/internal/app/MediaRouteControllerDialog.java
+++ b/core/java/com/android/internal/app/MediaRouteControllerDialog.java
@@ -42,19 +42,11 @@
  */
 public class MediaRouteControllerDialog extends AlertDialog implements
         MediaRouteControllerContentManager.Delegate {
-    // 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 MediaRouter.RouteInfo mRoute;
-
     private final MediaRouteControllerContentManager mContentManager;
 
     public MediaRouteControllerDialog(Context context, int theme) {
         super(context, theme);
-
         mContentManager = new MediaRouteControllerContentManager(context, this);
-        mRouter = (MediaRouter) context.getSystemService(Context.MEDIA_ROUTER_SERVICE);
-        mRoute = mRouter.getSelectedRoute();
     }
 
     @Override
@@ -91,7 +83,8 @@
     public boolean onKeyDown(int keyCode, KeyEvent event) {
         if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN
                 || keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
-            mRoute.requestUpdateVolume(keyCode == KeyEvent.KEYCODE_VOLUME_DOWN ? -1 : 1);
+            mContentManager.requestUpdateRouteVolume(
+                    keyCode == KeyEvent.KEYCODE_VOLUME_DOWN ? -1 : 1);
             return true;
         }
         return super.onKeyDown(keyCode, event);
diff --git a/core/java/com/android/internal/content/PackageMonitor.java b/core/java/com/android/internal/content/PackageMonitor.java
index ad73294..4663d62 100644
--- a/core/java/com/android/internal/content/PackageMonitor.java
+++ b/core/java/com/android/internal/content/PackageMonitor.java
@@ -36,6 +36,7 @@
 import android.util.Slog;
 
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.annotations.WeaklyReferencedCallback;
 import com.android.internal.os.BackgroundThread;
 
 import java.lang.ref.WeakReference;
@@ -46,6 +47,7 @@
  * Helper class for monitoring the state of packages: adding, removing,
  * updating, and disappearing and reappearing on the SD card.
  */
+@WeaklyReferencedCallback
 public abstract class PackageMonitor extends android.content.BroadcastReceiver {
     static final String TAG = "PackageMonitor";
 
diff --git a/core/java/com/android/internal/infra/OWNERS b/core/java/com/android/internal/infra/OWNERS
index 4550358..e69de29 100644
--- a/core/java/com/android/internal/infra/OWNERS
+++ b/core/java/com/android/internal/infra/OWNERS
@@ -1,6 +0,0 @@
-per-file AndroidFuture.java = eugenesusla@google.com
-per-file RemoteStream.java = eugenesusla@google.com
-per-file PerUser.java = eugenesusla@google.com
-per-file ServiceConnector.java = eugenesusla@google.com
-per-file AndroidFuture.aidl = eugenesusla@google.com
-per-file IAndroidFuture.aidl = eugenesusla@google.com
\ No newline at end of file
diff --git a/core/java/com/android/internal/os/BatteryStatsHistory.java b/core/java/com/android/internal/os/BatteryStatsHistory.java
index 85794d4..81ca231 100644
--- a/core/java/com/android/internal/os/BatteryStatsHistory.java
+++ b/core/java/com/android/internal/os/BatteryStatsHistory.java
@@ -181,6 +181,11 @@
      */
     public interface BatteryHistoryStore {
         /**
+         * Returns the maximum amount of storage that can be occupied by the battery history story.
+         */
+        int getMaxHistorySize();
+
+        /**
          * Returns the table of contents, in the chronological order.
          */
         List<BatteryHistoryFragment> getFragments();
@@ -516,6 +521,22 @@
     }
 
     /**
+     * Returns a high estimate of how many items are currently included in the battery history.
+     */
+    public int getEstimatedItemCount() {
+        int estimatedBytes = mHistoryBuffer.dataSize();
+        if (mStore != null) {
+            estimatedBytes += mStore.getMaxHistorySize() * 10;  // account for the compression ratio
+        }
+        if (mHistoryParcels != null) {
+            for (int i = mHistoryParcels.size() - 1; i >= 0; i--) {
+                estimatedBytes += mHistoryParcels.get(i).dataSize();
+            }
+        }
+        return estimatedBytes / 4;    // Minimum size of a history item is 4 bytes
+    }
+
+    /**
      * Creates a read-only copy of the battery history.  Does not copy the files stored
      * in the system directory, so it is not safe while actively writing history.
      */
@@ -768,7 +789,7 @@
      */
     public boolean readFragmentToParcel(Parcel out, BatteryHistoryFragment fragment) {
         byte[] data = mStore.readFragment(fragment);
-        if (data == null) {
+        if (data == null || data.length == 0) {
             return false;
         }
         out.unmarshall(data, 0, data.length);
@@ -913,6 +934,10 @@
                     continue;
                 }
 
+                if (data.length == 0) {
+                    continue;
+                }
+
                 out.writeBoolean(true);
                 if (useBlobs) {
                     out.writeBlob(data, 0, data.length);
@@ -955,9 +980,11 @@
                 return false;
             }
 
-            parcel.unmarshall(data, 0, data.length);
-            parcel.setDataPosition(0);
-            readHistoryBuffer(parcel);
+            if (data.length > 0) {
+                parcel.unmarshall(data, 0, data.length);
+                parcel.setDataPosition(0);
+                readHistoryBuffer(parcel);
+            }
         } catch (Exception e) {
             Slog.e(TAG, "Error reading battery history", e);
             reset();
diff --git a/core/java/com/android/internal/os/BatteryStatsHistoryIterator.java b/core/java/com/android/internal/os/BatteryStatsHistoryIterator.java
index 0d5d876..38398b4 100644
--- a/core/java/com/android/internal/os/BatteryStatsHistoryIterator.java
+++ b/core/java/com/android/internal/os/BatteryStatsHistoryIterator.java
@@ -47,6 +47,8 @@
     private boolean mClosed;
     private long mBaseMonotonicTime;
     private long mBaseTimeUtc;
+    private int mItemIndex = 0;
+    private int mMaxHistoryItems;
 
     public BatteryStatsHistoryIterator(@NonNull BatteryStatsHistory history, long startTimeMs,
             long endTimeMs) {
@@ -54,6 +56,7 @@
         mStartTimeMs = startTimeMs;
         mEndTimeMs = (endTimeMs != MonotonicClock.UNDEFINED) ? endTimeMs : Long.MAX_VALUE;
         mHistoryItem.clear();
+        mMaxHistoryItems = history.getEstimatedItemCount();
     }
 
     @Override
@@ -80,6 +83,11 @@
 
     private void advance() {
         while (true) {
+            if (mItemIndex > mMaxHistoryItems) {
+                Slog.wtfStack(TAG, "Number of battery history items is too large: " + mItemIndex);
+                break;
+            }
+
             Parcel p = mBatteryStatsHistory.getNextParcel(mStartTimeMs, mEndTimeMs);
             if (p == null) {
                 break;
@@ -109,6 +117,7 @@
                 break;
             }
             if (mHistoryItem.time >= mStartTimeMs) {
+                mItemIndex++;
                 mNextItemReady = true;
                 return;
             }
diff --git a/core/java/com/android/internal/pm/pkg/component/AconfigFlags.java b/core/java/com/android/internal/pm/pkg/component/AconfigFlags.java
index b19967a..0e6eb18 100644
--- a/core/java/com/android/internal/pm/pkg/component/AconfigFlags.java
+++ b/core/java/com/android/internal/pm/pkg/component/AconfigFlags.java
@@ -80,7 +80,11 @@
                     (Process.myUid() == Process.SYSTEM_UID) ? DeviceProtos.parsedFlagsProtoPaths()
                             : Arrays.asList(DeviceProtos.PATHS);
             for (String fileName : defaultFlagProtoFiles) {
-                try (var inputStream = new FileInputStream(fileName)) {
+                final File protoFile = new File(fileName);
+                if (!protoFile.isFile() || !protoFile.canRead()) {
+                    continue;
+                }
+                try (var inputStream = new FileInputStream(protoFile)) {
                     loadAconfigDefaultValues(inputStream.readAllBytes());
                 } catch (IOException e) {
                     Slog.w(LOG_TAG, "Failed to read Aconfig values from " + fileName, e);
@@ -120,6 +124,9 @@
 
         final var settingsFile = new File(Environment.getUserSystemDirectory(0),
                 "settings_config.xml");
+        if (!settingsFile.isFile() || !settingsFile.canRead()) {
+            return;
+        }
         try (var inputStream = new FileInputStream(settingsFile)) {
             TypedXmlPullParser parser = Xml.resolvePullParser(inputStream);
             if (parser.next() != XmlPullParser.END_TAG && "settings".equals(parser.getName())) {
@@ -186,7 +193,7 @@
                 }
             }
         } catch (IOException | XmlPullParserException e) {
-            Slog.e(LOG_TAG, "Failed to read Aconfig values from settings_config.xml", e);
+            Slog.w(LOG_TAG, "Failed to read Aconfig values from settings_config.xml", e);
         }
     }
 
diff --git a/core/java/com/android/internal/pm/pkg/component/ParsedComponentImpl.java b/core/java/com/android/internal/pm/pkg/component/ParsedComponentImpl.java
index 69c0480..7ee22f3 100644
--- a/core/java/com/android/internal/pm/pkg/component/ParsedComponentImpl.java
+++ b/core/java/com/android/internal/pm/pkg/component/ParsedComponentImpl.java
@@ -157,7 +157,7 @@
 
     @Override
     public void writeToParcel(Parcel dest, int flags) {
-        sForInternedString.parcel(this.name, dest, flags);
+        dest.writeString(this.name);
         dest.writeInt(this.getIcon());
         dest.writeInt(this.getLabelRes());
         dest.writeCharSequence(this.getNonLocalizedLabel());
@@ -175,7 +175,7 @@
         // We use the boot classloader for all classes that we load.
         final ClassLoader boot = Object.class.getClassLoader();
         //noinspection ConstantConditions
-        this.name = sForInternedString.unparcel(in);
+        this.name = in.readString();
         this.icon = in.readInt();
         this.labelRes = in.readInt();
         this.nonLocalizedLabel = in.readCharSequence();
diff --git a/core/java/com/android/internal/protolog/WmProtoLogGroups.java b/core/java/com/android/internal/protolog/WmProtoLogGroups.java
index 5edc2fb..b8b70b16 100644
--- a/core/java/com/android/internal/protolog/WmProtoLogGroups.java
+++ b/core/java/com/android/internal/protolog/WmProtoLogGroups.java
@@ -30,6 +30,8 @@
     WM_ERROR(true, true, true, Consts.TAG_WM),
     WM_DEBUG_ORIENTATION(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false,
             Consts.TAG_WM),
+    WM_DEBUG_ORIENTATION_CHANGE(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, true,
+            Consts.TAG_WM),
     WM_DEBUG_FOCUS_LIGHT(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false,
             Consts.TAG_WM),
     WM_DEBUG_BOOT(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false,
diff --git a/core/java/com/android/internal/statusbar/IStatusBar.aidl b/core/java/com/android/internal/statusbar/IStatusBar.aidl
index 7018ebc..5a180d7 100644
--- a/core/java/com/android/internal/statusbar/IStatusBar.aidl
+++ b/core/java/com/android/internal/statusbar/IStatusBar.aidl
@@ -82,7 +82,7 @@
      * Notify system UI the immersive mode changed. This shall be removed when client immersive is
      * enabled.
      */
-    void immersiveModeChanged(int rootDisplayAreaId, boolean isImmersiveMode);
+    void immersiveModeChanged(int rootDisplayAreaId, boolean isImmersiveMode, int windowType);
 
     void dismissKeyboardShortcutsMenu();
     void toggleKeyboardShortcutsMenu(int deviceId);
diff --git a/core/java/com/android/internal/util/LatencyTracker.java b/core/java/com/android/internal/util/LatencyTracker.java
index c120e67d..33794a5 100644
--- a/core/java/com/android/internal/util/LatencyTracker.java
+++ b/core/java/com/android/internal/util/LatencyTracker.java
@@ -23,6 +23,7 @@
 import static com.android.internal.util.FrameworkStatsLog.UIACTION_LATENCY_REPORTED__ACTION__ACTION_CHECK_CREDENTIAL;
 import static com.android.internal.util.FrameworkStatsLog.UIACTION_LATENCY_REPORTED__ACTION__ACTION_CHECK_CREDENTIAL_UNLOCKED;
 import static com.android.internal.util.FrameworkStatsLog.UIACTION_LATENCY_REPORTED__ACTION__ACTION_DESKTOP_MODE_ENTER_APP_HANDLE_DRAG;
+import static com.android.internal.util.FrameworkStatsLog.UIACTION_LATENCY_REPORTED__ACTION__ACTION_DESKTOP_MODE_ENTER_APP_HANDLE_MENU;
 import static com.android.internal.util.FrameworkStatsLog.UIACTION_LATENCY_REPORTED__ACTION__ACTION_EXPAND_PANEL;
 import static com.android.internal.util.FrameworkStatsLog.UIACTION_LATENCY_REPORTED__ACTION__ACTION_FACE_WAKE_AND_UNLOCK;
 import static com.android.internal.util.FrameworkStatsLog.UIACTION_LATENCY_REPORTED__ACTION__ACTION_FINGERPRINT_WAKE_AND_UNLOCK;
@@ -268,14 +269,27 @@
     public static final int ACTION_SHADE_WINDOW_DISPLAY_CHANGE = 29;
 
     /**
-     * Applicable when the user drags a full screen app's handle into the desktop drop zone to enter
-     * desktop mode. This measure the time from when the user releases their finger in the drop zone
-     * to when the animation for entering desktop mode visually begins. During this period, the
-     * home task and app headers for each window are initialized. Both have historically been
-     * expensive. See b/381396057 and b/360452034 respectively.
+     * Time it takes for the "enter desktop" mode animation to begin when initiated by dragging the
+     * app's handle into the desktop drop zone.
+     * <p>
+     * This measure the time from when the user releases their finger in the drop zone to when the
+     * animation for entering desktop mode visually begins. During this period, the home task and
+     * app headers for each window are initialized. Both have historically been expensive. See
+     * b/381396057 and b/360452034 respectively.
      */
     public static final int ACTION_DESKTOP_MODE_ENTER_APP_HANDLE_DRAG = 30;
 
+    /**
+     * Time it takes for the "enter desktop" mode animation to begin when initiated via the app
+     * handle's menu.
+     * <p>
+     * This measures the time from when the menu option is clicked/tapped to when the animation for
+     * entering desktop mode visually begins. During this period, the home task and app headers for
+     * each window are initialized. Both have historically been expensive. See b/381396057 and
+     * b/360452034 respectively.
+     */
+    public static final int ACTION_DESKTOP_MODE_ENTER_APP_HANDLE_MENU = 31;
+
     private static final int[] ACTIONS_ALL = {
         ACTION_EXPAND_PANEL,
         ACTION_TOGGLE_RECENTS,
@@ -308,6 +322,7 @@
         ACTION_KEYGUARD_FACE_UNLOCK_TO_HOME,
         ACTION_SHADE_WINDOW_DISPLAY_CHANGE,
         ACTION_DESKTOP_MODE_ENTER_APP_HANDLE_DRAG,
+        ACTION_DESKTOP_MODE_ENTER_APP_HANDLE_MENU,
     };
 
     /** @hide */
@@ -343,6 +358,7 @@
         ACTION_KEYGUARD_FACE_UNLOCK_TO_HOME,
         ACTION_SHADE_WINDOW_DISPLAY_CHANGE,
         ACTION_DESKTOP_MODE_ENTER_APP_HANDLE_DRAG,
+        ACTION_DESKTOP_MODE_ENTER_APP_HANDLE_MENU,
     })
     @Retention(RetentionPolicy.SOURCE)
     public @interface Action {}
@@ -380,6 +396,7 @@
             UIACTION_LATENCY_REPORTED__ACTION__ACTION_KEYGUARD_FACE_UNLOCK_TO_HOME,
             UIACTION_LATENCY_REPORTED__ACTION__ACTION_SHADE_WINDOW_DISPLAY_CHANGE,
             UIACTION_LATENCY_REPORTED__ACTION__ACTION_DESKTOP_MODE_ENTER_APP_HANDLE_DRAG,
+            UIACTION_LATENCY_REPORTED__ACTION__ACTION_DESKTOP_MODE_ENTER_APP_HANDLE_MENU,
     };
 
     private final Object mLock = new Object();
@@ -582,6 +599,8 @@
                 return "ACTION_SHADE_WINDOW_DISPLAY_CHANGE";
             case UIACTION_LATENCY_REPORTED__ACTION__ACTION_DESKTOP_MODE_ENTER_APP_HANDLE_DRAG:
                 return "ACTION_DESKTOP_MODE_ENTER_APP_HANDLE_DRAG";
+            case UIACTION_LATENCY_REPORTED__ACTION__ACTION_DESKTOP_MODE_ENTER_APP_HANDLE_MENU:
+                return "ACTION_DESKTOP_MODE_ENTER_APP_HANDLE_MENU";
             default:
                 throw new IllegalArgumentException("Invalid action");
         }
diff --git a/core/java/com/android/internal/util/OWNERS b/core/java/com/android/internal/util/OWNERS
index 9be8ea7..d174fe3 100644
--- a/core/java/com/android/internal/util/OWNERS
+++ b/core/java/com/android/internal/util/OWNERS
@@ -1,8 +1,8 @@
-per-file AsyncChannel* = lorenzo@google.com, satk@google.com, etancohen@google.com
+per-file AsyncChannel* = lorenzo@google.com, satk@google.com
 per-file MessageUtils*, Protocol*, RingBuffer*, TokenBucket* = jchalard@google.com, lorenzo@google.com, satk@google.com
 per-file *Notification* = file:/services/core/java/com/android/server/notification/OWNERS
 per-file *ContrastColor* = file:/services/core/java/com/android/server/notification/OWNERS
-per-file Protocol* = etancohen@google.com, lorenzo@google.com
+per-file Protocol* =lorenzo@google.com
 per-file State* = jchalard@google.com, lorenzo@google.com, satk@google.com
 per-file *Dump* = file:/core/java/com/android/internal/util/dump/OWNERS
 per-file *Screenshot* = file:/packages/SystemUI/src/com/android/systemui/screenshot/OWNERS
diff --git a/core/java/com/android/internal/util/function/pooled/OWNERS b/core/java/com/android/internal/util/function/pooled/OWNERS
index da723b3..e69de29 100644
--- a/core/java/com/android/internal/util/function/pooled/OWNERS
+++ b/core/java/com/android/internal/util/function/pooled/OWNERS
@@ -1 +0,0 @@
-eugenesusla@google.com
\ No newline at end of file
diff --git a/core/java/com/android/internal/widget/ConversationLayout.java b/core/java/com/android/internal/widget/ConversationLayout.java
index ce46da1..2cca3db 100644
--- a/core/java/com/android/internal/widget/ConversationLayout.java
+++ b/core/java/com/android/internal/widget/ConversationLayout.java
@@ -86,6 +86,7 @@
     public static final Interpolator FAST_OUT_LINEAR_IN = new PathInterpolator(0.4f, 0f, 1f, 1f);
     public static final Interpolator FAST_OUT_SLOW_IN = new PathInterpolator(0.4f, 0f, 0.2f, 1f);
     public static final Interpolator OVERSHOOT = new PathInterpolator(0.4f, 0f, 0.2f, 1.4f);
+    private static final int MAX_SUMMARIZATION_LINES = 3;
     public static final int IMPORTANCE_ANIM_GROW_DURATION = 250;
     public static final int IMPORTANCE_ANIM_SHRINK_DURATION = 200;
     public static final int IMPORTANCE_ANIM_SHRINK_DELAY = 25;
@@ -401,7 +402,7 @@
     public void setIsCollapsed(boolean isCollapsed) {
         mIsCollapsed = isCollapsed;
         mMessagingLinearLayout.setMaxDisplayedLines(isCollapsed
-                ? TextUtils.isEmpty(mSummarizedContent) ? 1 : 2
+                ? TextUtils.isEmpty(mSummarizedContent) ? 1 : MAX_SUMMARIZATION_LINES
                 : Integer.MAX_VALUE);
         updateExpandButton();
         updateContentEndPaddings();
@@ -1188,6 +1189,12 @@
             }
             newGroup.setMessages(group);
         }
+
+        if (Flags.dropNonExistingMessages()) {
+            // remove groups from mAddedGroups when they are no longer in mGroups.
+            mAddedGroups.removeIf(
+                    messagingGroup -> !mGroups.contains(messagingGroup));
+        }
     }
 
     /**
diff --git a/core/java/com/android/internal/widget/MessagingGroup.java b/core/java/com/android/internal/widget/MessagingGroup.java
index b9a603cc..b31a200 100644
--- a/core/java/com/android/internal/widget/MessagingGroup.java
+++ b/core/java/com/android/internal/widget/MessagingGroup.java
@@ -569,6 +569,10 @@
         mIsolatedMessage = isolatedMessage;
         updateImageContainerVisibility();
         mMessages = group;
+        if (android.widget.flags.Flags.dropNonExistingMessages()) {
+            // remove messages from mAddedMessages when they are no longer in mMessages.
+            mAddedMessages.removeIf(message -> !mMessages.contains(message));
+        }
         updateMessageColor();
     }
 
diff --git a/core/java/com/android/internal/widget/MessagingLayout.java b/core/java/com/android/internal/widget/MessagingLayout.java
index eb22e7c..9fe2de8 100644
--- a/core/java/com/android/internal/widget/MessagingLayout.java
+++ b/core/java/com/android/internal/widget/MessagingLayout.java
@@ -44,6 +44,7 @@
 import android.widget.FrameLayout;
 import android.widget.ImageView;
 import android.widget.RemoteViews;
+import android.widget.flags.Flags;
 
 import com.android.internal.R;
 
@@ -62,6 +63,7 @@
     public static final Interpolator LINEAR_OUT_SLOW_IN = new PathInterpolator(0f, 0f, 0.2f, 1f);
     public static final Interpolator FAST_OUT_LINEAR_IN = new PathInterpolator(0.4f, 0f, 1f, 1f);
     public static final Interpolator FAST_OUT_SLOW_IN = new PathInterpolator(0.4f, 0f, 0.2f, 1f);
+    private static final int MAX_SUMMARIZATION_LINES = 3;
     public static final OnLayoutChangeListener MESSAGING_PROPERTY_ANIMATOR
             = new MessagingPropertyAnimator();
     private final PeopleHelper mPeopleHelper = new PeopleHelper();
@@ -222,7 +224,7 @@
         List<MessagingMessage> newMessagingMessages;
         mSummarizedContent = extras.getCharSequence(Notification.EXTRA_SUMMARIZED_CONTENT);
         if (!TextUtils.isEmpty(mSummarizedContent) && mIsCollapsed) {
-            mMessagingLinearLayout.setMaxDisplayedLines(2);
+            mMessagingLinearLayout.setMaxDisplayedLines(MAX_SUMMARIZATION_LINES);
             Notification.MessagingStyle.Message summary =
                     new Notification.MessagingStyle.Message(mSummarizedContent,  0, "");
             newMessagingMessages = createMessages(List.of(summary), false, usePrecomputedText);
@@ -559,6 +561,12 @@
             }
             newGroup.setMessages(group);
         }
+
+        if (Flags.dropNonExistingMessages()) {
+            // remove groups from mAddedGroups when they are no longer in mGroups.
+            mAddedGroups.removeIf(
+                    messagingGroup -> !mGroups.contains(messagingGroup));
+        }
     }
 
     private void findGroups(List<MessagingMessage> historicMessages,
diff --git a/core/java/com/android/internal/widget/NotificationProgressBar.java b/core/java/com/android/internal/widget/NotificationProgressBar.java
index c0fe0d1..3472d68 100644
--- a/core/java/com/android/internal/widget/NotificationProgressBar.java
+++ b/core/java/com/android/internal/widget/NotificationProgressBar.java
@@ -555,6 +555,18 @@
         mNotificationProgressDrawable.setParts(p.first);
         mAdjustedProgressFraction =
                 (p.second - mTrackerDrawWidth / 2F) / (width - mTrackerDrawWidth);
+
+        mNotificationProgressDrawable.updateEndDotColor(getEndDotColor(fallbackSegments));
+    }
+
+    private int getEndDotColor(List<ProgressStyle.Segment> fallbackSegments) {
+        if (!mProgressModel.isStyledByProgress()) return Color.TRANSPARENT;
+        if (mProgressModel.getProgress() == mProgressModel.getProgressMax()) {
+            return Color.TRANSPARENT;
+        }
+
+        return fallbackSegments == null ? mProgressModel.getSegments().getLast().getColor()
+                : fallbackSegments.getLast().getColor();
     }
 
     private void updateTrackerAndBarPos(int w, int h) {
diff --git a/core/java/com/android/internal/widget/NotificationProgressDrawable.java b/core/java/com/android/internal/widget/NotificationProgressDrawable.java
index 30dcc67..b109610 100644
--- a/core/java/com/android/internal/widget/NotificationProgressDrawable.java
+++ b/core/java/com/android/internal/widget/NotificationProgressDrawable.java
@@ -21,6 +21,7 @@
 import android.content.res.Resources.Theme;
 import android.content.res.TypedArray;
 import android.graphics.Canvas;
+import android.graphics.Color;
 import android.graphics.ColorFilter;
 import android.graphics.Paint;
 import android.graphics.PixelFormat;
@@ -74,6 +75,8 @@
         mFillPaint.setStyle(Paint.Style.FILL);
     }
 
+    private @ColorInt int mEndDotColor = Color.TRANSPARENT;
+
     private int mAlpha;
 
     public NotificationProgressDrawable() {
@@ -125,6 +128,16 @@
         setParts(Arrays.asList(parts));
     }
 
+    /**
+     * Update the color of the end dot. If TRANSPARENT, the dot is not drawn.
+     */
+    public void updateEndDotColor(@ColorInt int endDotColor) {
+        if (mEndDotColor != endDotColor) {
+            mEndDotColor = endDotColor;
+            invalidateSelf();
+        }
+    }
+
     @Override
     public void draw(@NonNull Canvas canvas) {
         final float pointRadius = mState.mPointRadius;
@@ -164,6 +177,18 @@
                 canvas.drawRoundRect(mPointRectF, cornerRadius, cornerRadius, mFillPaint);
             }
         }
+
+        if (mEndDotColor != Color.TRANSPARENT) {
+            final float right = (float) getBounds().right;
+            final float dotRadius = mState.mFadedSegmentHeight / 2F;
+            mFillPaint.setColor(mEndDotColor);
+            // Use drawRoundRect instead of drawCircle to ensure alignment with the segment below.
+            mSegRectF.set(
+                    Math.round(right - mState.mFadedSegmentHeight), Math.round(centerY - dotRadius),
+                            Math.round(right), Math.round(centerY + dotRadius));
+            canvas.drawRoundRect(mSegRectF, mState.mSegmentCornerRadius,
+                    mState.mSegmentCornerRadius, mFillPaint);
+        }
     }
 
     @Override
diff --git a/core/java/com/android/internal/widget/NotificationRowIconView.java b/core/java/com/android/internal/widget/NotificationRowIconView.java
index c96e979..1b29b7f 100644
--- a/core/java/com/android/internal/widget/NotificationRowIconView.java
+++ b/core/java/com/android/internal/widget/NotificationRowIconView.java
@@ -225,6 +225,6 @@
         boolean shouldShowAppIcon();
 
         /** Get the app icon for this notification. */
-        Drawable getAppIcon();
+        @Nullable Drawable getAppIcon();
     }
 }
diff --git a/core/jni/Android.bp b/core/jni/Android.bp
index 92a841f..748c5b4 100644
--- a/core/jni/Android.bp
+++ b/core/jni/Android.bp
@@ -21,7 +21,6 @@
     config_namespace: "ANDROID",
     bool_variables: [
         "release_binder_death_recipient_weak_from_jni",
-        "release_package_libandroid_runtime_punch_holes",
     ],
     properties: [
         "cflags",
@@ -66,9 +65,6 @@
         release_binder_death_recipient_weak_from_jni: {
             cflags: ["-DBINDER_DEATH_RECIPIENT_WEAK_FROM_JNI"],
         },
-        release_package_libandroid_runtime_punch_holes: {
-            cflags: ["-DENABLE_PUNCH_HOLES"],
-        },
     },
 
     cpp_std: "gnu++20",
diff --git a/core/jni/android_util_AssetManager.cpp b/core/jni/android_util_AssetManager.cpp
index a73ff42..1394b9f 100644
--- a/core/jni/android_util_AssetManager.cpp
+++ b/core/jni/android_util_AssetManager.cpp
@@ -409,19 +409,17 @@
     configs.push_back(configuration);
   }
 
-  uint32_t default_locale_int = 0;
+  std::optional<ResTable_config> default_locale_opt;
   if (default_locale != nullptr) {
-    ResTable_config config;
-    static_assert(std::is_same_v<decltype(config.locale), decltype(default_locale_int)>);
-    ScopedUtfChars locale_utf8(env, default_locale);
-    CHECK(locale_utf8.c_str() != nullptr);
-    config.setBcp47Locale(locale_utf8.c_str());
-    default_locale_int = config.locale;
+      ScopedUtfChars locale_utf8(env, default_locale);
+      CHECK(locale_utf8.c_str() != nullptr);
+      default_locale_opt.emplace();
+      default_locale_opt->setBcp47Locale(locale_utf8.c_str());
   }
 
   auto assetmanager = LockAndStartAssetManager(ptr);
   assetmanager->SetConfigurations(std::move(configs), force_refresh != JNI_FALSE);
-  assetmanager->SetDefaultLocale(default_locale_int);
+  assetmanager->SetDefaultLocale(default_locale_opt);
 }
 
 static void NativeSetOverlayConstraints(JNIEnv* /*env*/, jclass /*clazz*/, jlong ptr,
diff --git a/core/jni/com_android_internal_content_NativeLibraryHelper.cpp b/core/jni/com_android_internal_content_NativeLibraryHelper.cpp
index 06fd80e..14132e6 100644
--- a/core/jni/com_android_internal_content_NativeLibraryHelper.cpp
+++ b/core/jni/com_android_internal_content_NativeLibraryHelper.cpp
@@ -236,7 +236,6 @@
         return INSTALL_FAILED_CONTAINER_ERROR;
     }
 
-#ifdef ENABLE_PUNCH_HOLES
     // punch extracted elf files as well. This will fail where compression is on (like f2fs) but it
     // will be useful for ext4 based systems
     struct statfs64 fsInfo;
@@ -253,7 +252,6 @@
                   zipFile->getZipFileName());
         }
     }
-#endif // ENABLE_PUNCH_HOLES
 
     ALOGV("Successfully moved %s to %s\n", localTmpFileName, localFileName);
 
@@ -332,7 +330,6 @@
             return INSTALL_FAILED_INVALID_APK;
         }
 
-#ifdef ENABLE_PUNCH_HOLES
         // if library is uncompressed, punch hole in it in place
         if (!punchHolesInElf64(zipFile->getZipFileName(), offset)) {
             ALOGW("Failed to punch uncompressed elf file :%s inside apk : %s at offset: "
@@ -345,7 +342,6 @@
         if (!punchHolesInZip(zipFile->getZipFileName(), offset, extraFieldLength)) {
             ALOGW("Failed to punch apk : %s at extra field", zipFile->getZipFileName());
         }
-#endif // ENABLE_PUNCH_HOLES
 
         return INSTALL_SUCCEEDED;
     }
diff --git a/core/proto/OWNERS b/core/proto/OWNERS
index aa8f841..c804024 100644
--- a/core/proto/OWNERS
+++ b/core/proto/OWNERS
@@ -5,7 +5,6 @@
 singhtejinder@google.com
 yanmin@google.com
 yaochen@google.com
-zhouwenjie@google.com
 
 # Frameworks
 ogunwale@google.com
diff --git a/core/proto/android/providers/settings/secure.proto b/core/proto/android/providers/settings/secure.proto
index 69c812c..34ec148 100644
--- a/core/proto/android/providers/settings/secure.proto
+++ b/core/proto/android/providers/settings/secure.proto
@@ -110,6 +110,7 @@
         // Settings for accessibility autoclick
         optional SettingProto autoclick_cursor_area_size = 62 [ (android.privacy).dest = DEST_AUTOMATIC ];
         optional SettingProto autoclick_ignore_minor_cursor_movement = 63 [ (android.privacy).dest = DEST_AUTOMATIC ];
+        optional SettingProto autoclick_panel_position = 64 [ (android.privacy).dest = DEST_AUTOMATIC ];
 
     }
     optional Accessibility accessibility = 2;
diff --git a/core/res/OWNERS b/core/res/OWNERS
index faed4d8..a208f7f 100644
--- a/core/res/OWNERS
+++ b/core/res/OWNERS
@@ -9,7 +9,6 @@
 ilyamaty@google.com
 jbolinger@google.com
 jsharkey@android.com
-jsharkey@google.com
 juliacr@google.com
 kchyn@google.com
 michaelwr@google.com
diff --git a/core/res/res/layout/miniresolver.xml b/core/res/res/layout/miniresolver.xml
index db1c779..fc0b494 100644
--- a/core/res/res/layout/miniresolver.xml
+++ b/core/res/res/layout/miniresolver.xml
@@ -103,7 +103,7 @@
         android:paddingBottom="@dimen/resolver_button_bar_spacing"
         android:orientation="vertical"
         android:background="?attr/colorBackground">
-        <RelativeLayout
+        <LinearLayout
             style="?attr/buttonBarStyle"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -121,8 +121,7 @@
                 android:id="@+id/use_same_profile_browser"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:layout_alignParentStart="true"
-                android:layout_toStartOf="@id/button_open"
+                android:layout_weight="1"
                 android:layout_marginEnd="8dp"
                 android:background="@drawable/resolver_outlined_button_bg"
                 style="?android:attr/borderlessButtonStyle"
@@ -136,7 +135,7 @@
                 android:id="@+id/button_open"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:layout_alignParentEnd="true"
+                android:layout_weight="1"
                 android:paddingHorizontal="16dp"
                 android:background="@drawable/resolver_button_bg"
                 style="?android:attr/borderlessButtonStyle"
@@ -145,6 +144,6 @@
                 android:textColor="@color/resolver_button_text"
                 android:text="@string/whichViewApplicationLabel"
             />
-        </RelativeLayout>
+        </LinearLayout>
     </LinearLayout>
 </com.android.internal.widget.ResolverDrawerLayout>
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index 3203195..b6b5d8b 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Eenhandmodus"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Ekstra donker"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Gehoortoestelle"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Ontkoppel"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Gekoppel"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktief"</string>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index f4dabdb..29b153b 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"የአንድ እጅ ሁነታ"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"ተጨማሪ ደብዛዛ"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"የመስሚያ መሣሪያዎች"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"ግንኙነት ተቋርጧል"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"ተገናኝቷል"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"ገቢር"</string>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index 24d628a..08d0af5 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -357,14 +357,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>
@@ -660,38 +656,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>
@@ -1827,6 +1807,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"وضع \"التصفح بيد واحدة\""</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"زيادة تعتيم الشاشة"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"سماعات الأذن الطبية"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"غير متّصل"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"متّصل"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"متّصل حاليًا"</string>
diff --git a/core/res/res/values-as/strings.xml b/core/res/res/values-as/strings.xml
index 2b9a20a..9eab313 100644
--- a/core/res/res/values-as/strings.xml
+++ b/core/res/res/values-as/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"এখন হাতেৰে ব্যৱহাৰ কৰাৰ ম’ড"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"অতিৰিক্তভাৱে পোহৰ কমোৱাৰ সুবিধা"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"শুনাৰ ডিভাইচ"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"সংযোগ বিচ্ছিন্ন হ’ল"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"সংযোগ কৰা হ’ল"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"সক্ৰিয় হৈ আছে"</string>
diff --git a/core/res/res/values-az/strings.xml b/core/res/res/values-az/strings.xml
index e5bfb29..3aec62a 100644
--- a/core/res/res/values-az/strings.xml
+++ b/core/res/res/values-az/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Birəlli rejim"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Əlavə tündləşmə"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Eşitmə cihazları"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Bağlantı kəsildi"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Qoşuldu"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktivdir"</string>
diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml
index 3e67233..47203a9 100644
--- a/core/res/res/values-b+sr+Latn/strings.xml
+++ b/core/res/res/values-b+sr+Latn/strings.xml
@@ -1804,6 +1804,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Režim jednom rukom"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Dodatno zatamni"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Slušni aparati"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Veza je prekinuta"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Povezano"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktivno"</string>
diff --git a/core/res/res/values-be/strings.xml b/core/res/res/values-be/strings.xml
index d01af94..8230f0c 100644
--- a/core/res/res/values-be/strings.xml
+++ b/core/res/res/values-be/strings.xml
@@ -1805,6 +1805,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Рэжым кіравання адной рукой"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Дадатковае памяншэнне яркасці"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Слыхавыя апараты"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Адключана"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Падключана"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Актыўная"</string>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index 0083dde..d9471e6 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Работа с една ръка"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Допълнително затъмняване"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Слухови апарати"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Няма връзка"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Свързано"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Активно"</string>
diff --git a/core/res/res/values-bn/strings.xml b/core/res/res/values-bn/strings.xml
index 298be51..cc05d28 100644
--- a/core/res/res/values-bn/strings.xml
+++ b/core/res/res/values-bn/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"এক হাতে ব্যবহার করার মোড"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"অতিরিক্ত কম উজ্জ্বলতা"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"হিয়ারিং ডিভাইস"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"ডিসকানেক্ট হয়ে গেছে"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"কানেক্ট করা হয়েছে"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"অ্যাক্টিভ"</string>
diff --git a/core/res/res/values-bs/strings.xml b/core/res/res/values-bs/strings.xml
index 6a54f65..9c553ce 100644
--- a/core/res/res/values-bs/strings.xml
+++ b/core/res/res/values-bs/strings.xml
@@ -1804,6 +1804,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Način rada jednom rukom"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Dodatno zatamnjenje"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Slušni aparati"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Nije povezano"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Povezano"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktivno"</string>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index 63fbb07..3fa177e 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -1804,6 +1804,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Mode d\'una mà"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Atenuació extra"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Audiòfons"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Desconnectat"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Connectat"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Actiu"</string>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index 5d0edf3..670ca33 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -1805,6 +1805,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Režim jedné ruky"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Velmi tmavé zobrazení"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Naslouchátka"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Odpojeno"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Připojeno"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktivní"</string>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index a853076..47eb357 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Enhåndstilstand"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Ekstra dæmpet belysning"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Høreapparater"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Ikke forbundet"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Forbundet"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktiv"</string>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index 81a331d..06a35e6 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Einhandmodus"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Extradunkel"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Hörgeräte"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Nicht verbunden"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Verbunden"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktiv"</string>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index f4fb932..8a12e0e 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Λειτουργία ενός χεριού"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Επιπλέον μείωση φωτεινότητας"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Συσκευές ακοής"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Αποσυνδέθηκε"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Συνδέθηκε"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Ενεργή"</string>
diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml
index 3b4f52c..3881f1d 100644
--- a/core/res/res/values-en-rAU/strings.xml
+++ b/core/res/res/values-en-rAU/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"One-handed mode"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Extra dim"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Hearing devices"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Disconnected"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Connected"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Active"</string>
diff --git a/core/res/res/values-en-rCA/strings.xml b/core/res/res/values-en-rCA/strings.xml
index 79020c58..e6c4047 100644
--- a/core/res/res/values-en-rCA/strings.xml
+++ b/core/res/res/values-en-rCA/strings.xml
@@ -1803,6 +1803,7 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"One-Handed mode"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Extra dim"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Hearing devices"</string>
+    <string name="autoclick_feature_name" msgid="8149248738736949630">"Autoclick"</string>
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Disconnected"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Connected"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Active"</string>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index 2c5cf4d..9680b83 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"One-handed mode"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Extra dim"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Hearing devices"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Disconnected"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Connected"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Active"</string>
diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml
index 65ebd0d..fbe1c0a 100644
--- a/core/res/res/values-en-rIN/strings.xml
+++ b/core/res/res/values-en-rIN/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"One-handed mode"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Extra dim"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Hearing devices"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Disconnected"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Connected"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Active"</string>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index c9bb39c..54297a5 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -1804,6 +1804,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Modo de una mano"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Atenuación extra"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Dispositivos auditivos"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Desconectado"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Conectado"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Activo"</string>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index 63fc276..5bd2bf5 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -1804,6 +1804,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Modo Una mano"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Atenuación extra"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Audífonos"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Desconectado"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Conectado"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Activo"</string>
diff --git a/core/res/res/values-et/strings.xml b/core/res/res/values-et/strings.xml
index c9b29c3a..0c928a6 100644
--- a/core/res/res/values-et/strings.xml
+++ b/core/res/res/values-et/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Ühekäerežiim"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Eriti tume"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Kuuldeseadmed"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Ühendus katkestatud"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Ühendatud"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktiivne"</string>
diff --git a/core/res/res/values-eu/strings.xml b/core/res/res/values-eu/strings.xml
index 88bb3c9..13f0452 100644
--- a/core/res/res/values-eu/strings.xml
+++ b/core/res/res/values-eu/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Esku bakarreko modua"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Are ilunago"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Entzumen-gailuak"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Deskonektatuta"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Konektatuta"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktibo"</string>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index 0c3b755..2eaf4c0 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"حالت یک‌دستی"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"بسیار کم‌نور"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"دستگاه‌های کمک‌شنوایی"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"متصل نیست"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"وصل شد"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"فعال"</string>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index b12fd5c..280658c 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Yhden käden moodi"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Erittäin himmeä"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Kuulolaitteet"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Yhteys katkaistu"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Yhdistetty"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktiivinen"</string>
diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml
index b9c8b64..1740ce5 100644
--- a/core/res/res/values-fr-rCA/strings.xml
+++ b/core/res/res/values-fr-rCA/strings.xml
@@ -1804,6 +1804,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Mode Une main"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Très sombre"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Appareils auditifs"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Déconnecté"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Connecté"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Actif"</string>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index 9952d04..0564661 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -1804,6 +1804,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Mode une main"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Luminosité ultra-réduite"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Appareils auditifs"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Déconnecté"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Connecté"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Actif"</string>
diff --git a/core/res/res/values-gl/strings.xml b/core/res/res/values-gl/strings.xml
index a2d29c9..73bed7f 100644
--- a/core/res/res/values-gl/strings.xml
+++ b/core/res/res/values-gl/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Modo dunha soa man"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Atenuación extra"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Dispositivos auditivos"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Desconectado"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Conectado"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Activo"</string>
diff --git a/core/res/res/values-gu/strings.xml b/core/res/res/values-gu/strings.xml
index bb07484..0c99096 100644
--- a/core/res/res/values-gu/strings.xml
+++ b/core/res/res/values-gu/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"એક-હાથે વાપરો મોડ"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"એક્સ્ટ્રા ડિમ"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"સાંભળવામાં સહાય કરતા ડિવાઇસ"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"ડિસ્કનેક્ટેડ છે"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"કનેક્ટેડ છે"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"સક્રિય"</string>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index 538e86c..df211dc 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"वन-हैंडेड मोड"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"स्क्रीन की रोशनी को सामान्य लेवल से और कम करने की सुविधा"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"कान की मशीन"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"डिसकनेक्ट हो गया"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"कनेक्ट हो गया"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"चालू है"</string>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index cde062a..f701483 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -1804,6 +1804,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Način rada jednom rukom"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Još tamnije"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Slušna pomagala"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Nije povezano"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Povezano"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktivno"</string>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index 1acf7bc..e3d261e 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Egykezes mód"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Extrasötét"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Hallásjavító eszközök"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Leválasztva"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Csatlakozva"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktív"</string>
diff --git a/core/res/res/values-hy/strings.xml b/core/res/res/values-hy/strings.xml
index 041042f..de62af5 100644
--- a/core/res/res/values-hy/strings.xml
+++ b/core/res/res/values-hy/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Մեկ ձեռքի ռեժիմ"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Հավելյալ խամրեցում"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Լսողական սարքեր"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Անջատված է"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Միացված է"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Ակտիվ է"</string>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index b02d5ee..18ae5e9 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Mode satu tangan"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Ekstra redup"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Alat bantu dengar"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Tidak terhubung"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Terhubung"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktif"</string>
diff --git a/core/res/res/values-is/strings.xml b/core/res/res/values-is/strings.xml
index d66721a..a74ff1c 100644
--- a/core/res/res/values-is/strings.xml
+++ b/core/res/res/values-is/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Einhent stilling"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Mjög dökkt"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Heyrnartæki"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Aftengt"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Tengt"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Virkt"</string>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 7506002..befd2b2 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -1804,6 +1804,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Modalità a una mano"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Attenuazione extra"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Protesi uditive"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Disconnesso"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Connesso"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Attivo"</string>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index d58084d..0b6c80a 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/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">"‏נתונים של מעקב 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>
@@ -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">"‏גישה לנתוני 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>
@@ -1824,6 +1804,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"מצב שימוש ביד אחת"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"מעומעם במיוחד"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"מכשירי שמיעה"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"מנותק"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"מחובר"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"מצב פעיל"</string>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index 7ad10c8..2f8133a 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"片手モード"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"さらに輝度を下げる"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"補聴器"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"未接続"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"接続済み"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"有効"</string>
diff --git a/core/res/res/values-ka/strings.xml b/core/res/res/values-ka/strings.xml
index fcdfc01..ef15405 100644
--- a/core/res/res/values-ka/strings.xml
+++ b/core/res/res/values-ka/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"ცალი ხელის რეჟიმი"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"დამატებითი დაბინდვა"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"სმენის აპარატები"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"კავშირი გაწყვეტილია"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"დაკავშირებული"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"აქტიური"</string>
diff --git a/core/res/res/values-kk/strings.xml b/core/res/res/values-kk/strings.xml
index e60ce5d..b575630 100644
--- a/core/res/res/values-kk/strings.xml
+++ b/core/res/res/values-kk/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Бір қолмен басқару режимі"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Экранды қарайту"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Есту аппараттары"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Ажыратылды"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Қосылды"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Белсенді"</string>
diff --git a/core/res/res/values-km/strings.xml b/core/res/res/values-km/strings.xml
index ad10175..eeae49b 100644
--- a/core/res/res/values-km/strings.xml
+++ b/core/res/res/values-km/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"មុខងារប្រើដៃម្ខាង"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"ងងឹតខ្លាំង"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"ឧបករណ៍ជំនួយការស្ដាប់"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"បាន​ផ្ដាច់"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"បានភ្ជាប់"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"សកម្ម"</string>
diff --git a/core/res/res/values-kn/strings.xml b/core/res/res/values-kn/strings.xml
index 5711aa6..fd468b4 100644
--- a/core/res/res/values-kn/strings.xml
+++ b/core/res/res/values-kn/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"ಒಂದು ಕೈ ಮೋಡ್‌"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"ಇನ್ನಷ್ಟು ಮಬ್ಬು"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"ಶ್ರವಣ ಸಾಧನಗಳು"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"ಡಿಸ್‌ಕನೆಕ್ಟ್ ಆಗಿದೆ"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"ಕನೆಕ್ಟ್ ಆಗಿದೆ"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"ಸಕ್ರಿಯವಾಗಿದೆ"</string>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index bb8c022..0a88670 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"한 손 모드"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"더 어둡게"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"청각 보조 기기"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"연결 끊김"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"연결됨"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"활성"</string>
diff --git a/core/res/res/values-ky/strings.xml b/core/res/res/values-ky/strings.xml
index 3fe442f..83a1c69 100644
--- a/core/res/res/values-ky/strings.xml
+++ b/core/res/res/values-ky/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Бир кол режими"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Кошумча караңгылатуу"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Угуу түзмөктөрү"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Ажыратылды"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Туташты"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Жигердүү"</string>
diff --git a/core/res/res/values-lo/strings.xml b/core/res/res/values-lo/strings.xml
index 1658a78..f32ede6 100644
--- a/core/res/res/values-lo/strings.xml
+++ b/core/res/res/values-lo/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"ໂໝດມືດຽວ"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"ຫຼຸດແສງເປັນພິເສດ"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"ອຸປະກອນຊ່ວຍຟັງ"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"ຕັດການເຊື່ອມຕໍ່ແລ້ວ"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"ເຊື່ອມຕໍ່ແລ້ວ"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"ນຳໃຊ້ຢູ່"</string>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index 57db157..51311b37 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -1805,6 +1805,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Vienos rankos režimas"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Itin blanku"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Klausos įrenginiai"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Atjungta"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Prisijungta"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktyvus"</string>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index 764e8c9..3b3609e 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -1804,6 +1804,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Vienas rokas režīms"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Papildu aptumšošana"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Dzirdes aparāti"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Atvienota"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Pievienota"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktīva"</string>
diff --git a/core/res/res/values-mk/strings.xml b/core/res/res/values-mk/strings.xml
index 4600935..0c92fd5 100644
--- a/core/res/res/values-mk/strings.xml
+++ b/core/res/res/values-mk/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Режим со една рака"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Дополнително затемнување"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Слушни помагала"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Не е поврзано"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Поврзано"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Активно"</string>
diff --git a/core/res/res/values-ml/strings.xml b/core/res/res/values-ml/strings.xml
index d9ec167..cbdbd2d 100644
--- a/core/res/res/values-ml/strings.xml
+++ b/core/res/res/values-ml/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"ഒറ്റക്കൈ മോഡ്"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"കൂടുതൽ ഡിം ചെയ്യൽ"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"ശ്രവണ ഉപകരണങ്ങൾ"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"വിച്‌ഛേദിച്ചു"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"കണക്റ്റ് ചെയ്‌തു"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"സജീവം"</string>
diff --git a/core/res/res/values-mn/strings.xml b/core/res/res/values-mn/strings.xml
index 05f4f05..4c72a86 100644
--- a/core/res/res/values-mn/strings.xml
+++ b/core/res/res/values-mn/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Нэг гарын горим"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Хэт бүүдгэр"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Сонсголын төхөөрөмжүүд"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Салсан"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Холбогдсон"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Идэвхтэй"</string>
diff --git a/core/res/res/values-mr/strings.xml b/core/res/res/values-mr/strings.xml
index df7688e..ea1e92b 100644
--- a/core/res/res/values-mr/strings.xml
+++ b/core/res/res/values-mr/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"एकहाती मोड"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"आणखी डिम"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"श्रवणयंत्रे"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"डिस्कनेक्ट केले आहे"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"कनेक्ट केले आहे"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"अ‍ॅक्टिव्ह"</string>
diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml
index 7d77268..43acbac 100644
--- a/core/res/res/values-ms/strings.xml
+++ b/core/res/res/values-ms/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Mod sebelah tangan"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Amat malap"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Peranti pendengaran"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Diputuskan sambungan"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Disambungkan"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktif"</string>
diff --git a/core/res/res/values-my/strings.xml b/core/res/res/values-my/strings.xml
index b2b6011..2333539 100644
--- a/core/res/res/values-my/strings.xml
+++ b/core/res/res/values-my/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"လက်တစ်ဖက်သုံးမုဒ်"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"ပိုမှိန်ခြင်း"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"နားကြားကိရိယာ"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"ချိတ်ဆက်မထားပါ"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"ချိတ်ဆက်ထားသည်"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"သုံးနေသည်"</string>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index 3022fca..3a337f6 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -276,7 +276,7 @@
     <string name="bugreport_option_full_title" msgid="7681035745950045690">"Fullstendig rapport"</string>
     <string name="bugreport_option_full_summary" msgid="1975130009258435885">"Bruk dette alternativet for minst mulig forstyrrelse på systemet når enheten din er treg eller ikke svarer, eller når du trenger alle rapportdelene. Det tas ikke noen skjermbilde, og du kan ikke legge til flere detaljer."</string>
     <string name="bugreport_countdown" msgid="6418620521782120755">"{count,plural, =1{Tar skjermbilde for feilrapporten om # sekund.}other{Tar skjermbilde for feilrapporten om # sekunder.}}"</string>
-    <string name="bugreport_screenshot_success_toast" msgid="7986095104151473745">"En skjermbilde er tatt med feilrapporten"</string>
+    <string name="bugreport_screenshot_success_toast" msgid="7986095104151473745">"Et skjermbilde er tatt med feilrapporten"</string>
     <string name="bugreport_screenshot_failure_toast" msgid="6736320861311294294">"Kunne ikke ta skjermbilde med feilrapporten"</string>
     <string name="global_action_toggle_silent_mode" msgid="8464352592860372188">"Stillemodus"</string>
     <string name="global_action_silent_mode_on_status" msgid="2371892537738632013">"Lyden er av"</string>
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Enhåndsmodus"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Ekstra dimmet"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Høreapparater"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Frakoblet"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Tilkoblet"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktiv"</string>
diff --git a/core/res/res/values-ne/strings.xml b/core/res/res/values-ne/strings.xml
index 93ead6d..ce64589 100644
--- a/core/res/res/values-ne/strings.xml
+++ b/core/res/res/values-ne/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"एक हाते मोड"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"अझै मधुरो"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"हियरिङ डिभाइसहरू"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"डिस्कनेक्ट गरिएको"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"कनेक्ट गरिएको"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"सक्रिय"</string>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index fc12906..f7b6cc8 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Bediening met 1 hand"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Extra dimmen"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Hoortoestellen"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Verbinding verbroken"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Verbonden"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Actief"</string>
diff --git a/core/res/res/values-or/strings.xml b/core/res/res/values-or/strings.xml
index 3200f40..ef567e5 100644
--- a/core/res/res/values-or/strings.xml
+++ b/core/res/res/values-or/strings.xml
@@ -327,7 +327,7 @@
     <string name="permgroupdesc_contacts" msgid="9163927941244182567">"ଆପଣଙ୍କ ଯୋଗାଯୋଗ ଆକ୍ସେସ୍ କରେ"</string>
     <string name="permgrouplab_location" msgid="1858277002233964394">"ଲୋକେସନ"</string>
     <string name="permgroupdesc_location" msgid="1995955142118450685">"ଏହି ଡିଭାଇସ୍‌ର ଲୋକେସନ୍‍ ଆକ୍ସେସ୍‍ କରେ"</string>
-    <string name="permgrouplab_calendar" msgid="6426860926123033230">"କେଲେଣ୍ଡର"</string>
+    <string name="permgrouplab_calendar" msgid="6426860926123033230">"Calendar"</string>
     <string name="permgroupdesc_calendar" msgid="6762751063361489379">"ଆପଣଙ୍କ କ୍ୟାଲେଣ୍ଡର୍‍ ଆକ୍ସେସ୍‍ କରେ"</string>
     <string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string>
     <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS ମେସେଜ୍‍ ପଠାନ୍ତୁ ଓ ଦେଖନ୍ତୁ"</string>
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"ଏକ-ହାତ ମୋଡ୍"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"ଅତ୍ୟଧିକ ଡିମ"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"ଶ୍ରବଣ ଡିଭାଇସଗୁଡ଼ିକ"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"ଡିସକନେକ୍ଟ କରାଯାଇଛି"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"କନେକ୍ଟ କରାଯାଇଛି"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"ସକ୍ରିୟ"</string>
diff --git a/core/res/res/values-pa/strings.xml b/core/res/res/values-pa/strings.xml
index cee65af..7f06227 100644
--- a/core/res/res/values-pa/strings.xml
+++ b/core/res/res/values-pa/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"ਇੱਕ ਹੱਥ ਮੋਡ"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"ਜ਼ਿਆਦਾ ਘੱਟ ਚਮਕ"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"ਸੁਣਨ ਵਾਲੇ ਡੀਵਾਈਸ"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"ਡਿਸਕਨੈਕਟ ਹੋ ਗਿਆ"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"ਕਨੈਕਟ ਹੈ"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"ਕਿਰਿਆਸ਼ੀਲ"</string>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index 0c6eb46..73e4d24 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -1805,6 +1805,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Tryb jednej ręki"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Dodatkowe przyciemnienie"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Urządzenia słuchowe"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Rozłączone"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Połączone"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktywne"</string>
diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml
index 4fe1c96..f15ab35 100644
--- a/core/res/res/values-pt-rBR/strings.xml
+++ b/core/res/res/values-pt-rBR/strings.xml
@@ -1804,6 +1804,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Modo para uma mão"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Tela ainda mais escura"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Aparelhos auditivos"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Desconectado"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Conectado"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Ativo"</string>
@@ -1990,7 +1992,7 @@
     <string name="zen_mode_rule_name_combination" msgid="7174598364351313725">"<xliff:g id="FIRST">%1$s</xliff:g> / <xliff:g id="REST">%2$s</xliff:g>"</string>
     <string name="toolbar_collapse_description" msgid="8009920446193610996">"Recolher"</string>
     <string name="zen_mode_feature_name" msgid="3785547207263754500">"Não perturbe"</string>
-    <string name="zen_mode_downtime_feature_name" msgid="5886005761431427128">"Intervalo"</string>
+    <string name="zen_mode_downtime_feature_name" msgid="5886005761431427128">"Descanso"</string>
     <string name="zen_mode_default_weeknights_name" msgid="7902108149994062847">"Durante a semana à noite"</string>
     <string name="zen_mode_default_weekends_name" msgid="4707200272709377930">"Fim de semana"</string>
     <string name="zen_mode_default_events_name" msgid="2280682960128512257">"Evento"</string>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index e17b96f..e80b780 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -1804,6 +1804,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Modo para uma mão"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Mais escuro"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Dispositivos auditivos"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Desligado"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Ligado"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Ativo"</string>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 4fe1c96..f15ab35 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -1804,6 +1804,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Modo para uma mão"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Tela ainda mais escura"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Aparelhos auditivos"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Desconectado"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Conectado"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Ativo"</string>
@@ -1990,7 +1992,7 @@
     <string name="zen_mode_rule_name_combination" msgid="7174598364351313725">"<xliff:g id="FIRST">%1$s</xliff:g> / <xliff:g id="REST">%2$s</xliff:g>"</string>
     <string name="toolbar_collapse_description" msgid="8009920446193610996">"Recolher"</string>
     <string name="zen_mode_feature_name" msgid="3785547207263754500">"Não perturbe"</string>
-    <string name="zen_mode_downtime_feature_name" msgid="5886005761431427128">"Intervalo"</string>
+    <string name="zen_mode_downtime_feature_name" msgid="5886005761431427128">"Descanso"</string>
     <string name="zen_mode_default_weeknights_name" msgid="7902108149994062847">"Durante a semana à noite"</string>
     <string name="zen_mode_default_weekends_name" msgid="4707200272709377930">"Fim de semana"</string>
     <string name="zen_mode_default_events_name" msgid="2280682960128512257">"Evento"</string>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index 596a3ed..f02923b 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -1804,6 +1804,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Modul cu o mână"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Luminozitate redusă suplimentar"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Aparate auditive"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Deconectat"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Conectat"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Activ"</string>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index 5104ca1..e32ec41 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -1805,6 +1805,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Режим управления одной рукой"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Дополнительное уменьшение яркости"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Слуховые аппараты"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Отключено"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Подключено"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Активно"</string>
diff --git a/core/res/res/values-si/strings.xml b/core/res/res/values-si/strings.xml
index 8df50b7..35251bc 100644
--- a/core/res/res/values-si/strings.xml
+++ b/core/res/res/values-si/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"තනි අත් ප්‍රකාරය"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"තවත් අඳුරු"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"ශ්‍රවණ උපාංග"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"විසන්ධි විය"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"සම්බන්ධිතයි"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"සක්‍රිය"</string>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index 1d5b4e5..391b0d7 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -1805,6 +1805,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Režim jednej ruky"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Mimoriadne stmavenie"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Načúvacie zariadenia"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Odpojené"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Pripojené"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktívne"</string>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index 3f9592b..c84fd17 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -1805,6 +1805,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Enoročni način"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Zelo zatemnjen zaslon"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Slušni pripomočki"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Brez povezave"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Povezano"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktivno"</string>
diff --git a/core/res/res/values-sq/strings.xml b/core/res/res/values-sq/strings.xml
index fa3eeae..25d51a3 100644
--- a/core/res/res/values-sq/strings.xml
+++ b/core/res/res/values-sq/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"qasu tek të dhënat e sensorëve rreth shenjave të tua jetësore"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Njoftimet"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"shfaq njoftimet"</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">"Të dhënat e gjurmimit për XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"të qaset në të dhënat për XR për ty dhe mjedisin rreth teje"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"të dhënat delikate të gjurmimit për XR"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"të qaset në të dhënat delikate të gjurmimit, si p.sh. të vështrimit të syve"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Të nxjerrë përmbajtjen e dritares"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Inspekton përmbajtjen e dritares me të cilën po ndërvepron."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Të aktivizojë veçorinë \"Eksploro me prekje\""</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Lejon aplikacionin të modifikojë koleksionin tënd të fotografive."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"lexo vendndodhjet nga koleksioni yt i medias"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Lejon aplikacionin të lexojë vendndodhjet nga koleksioni yt i medias."</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ë gjurmojë vështrimin e përafërt të syve"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Lejon që aplikacioni të gjurmojë vështrimin e përafërt të syve"</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"të gjurmojë se ku po shikon ti"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Lejon që aplikacioni të qaset në të dhënat e vështrimit të saktë të syve."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"të gjurmojë fytyrën tënde"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Lejo që aplikacioni të qaset në të dhënat e gjurmimit të fytyrës."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"të gjurmojë duart e tua"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Lejon që aplikacioni të qaset në të dhënat e gjurmimit të duarve."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"të gjurmojë kokën tënde"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Lejo që aplikacioni të qaset në të dhënat e gjurmimit të kokës."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"të kuptojë mjedisin tënd"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Lejon që aplikacioni të qaset në të dhënat e gjurmimit për mjedisin drejtpërdrejt rreth teje."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"të kuptojë mjedisin tënd të drejtpërdrejtë me nivel të lartë të detajeve"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Lejon që aplikacioni të qaset në të dhënat e gjurmimit për mjedisin drejtpërdrejt rreth teje me nivel shumë të lartë të detajeve."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"të qaset në të dhënat për XR kur nuk është në plan të parë"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Lejon që aplikacioni të qaset në të dhënat për XR kur nuk është në plan të parë."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Përdor sistemet biometrike"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Përdor sistemet biometrike ose kyçjen e ekranit"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Verifiko që je ti"</string>
@@ -1823,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Modaliteti i përdorimit me një dorë"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Shumë më i zbehtë"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Pajisjet e dëgjimit"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Shkëputur"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Lidhur"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktive"</string>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index d6ad76b..77ceff2 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -1804,6 +1804,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Режим једном руком"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Додатно затамни"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Слушни апарати"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Веза је прекинута"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Повезано"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Активно"</string>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 3d88850..1ee2564 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Enhandsläge"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Extradimmat"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Hörhjälpmedel"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Frånkopplad"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Ansluten"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktiv"</string>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index 6d67618..36bf76d 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Hali ya kutumia kwa mkono mmoja"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Kipunguza mwangaza zaidi"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Vifaa vya kusaidia kusikia"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Haijaunganishwa"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Imeunganishwa"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Inatumika"</string>
diff --git a/core/res/res/values-ta/strings.xml b/core/res/res/values-ta/strings.xml
index 6a8179c..3fa3827 100644
--- a/core/res/res/values-ta/strings.xml
+++ b/core/res/res/values-ta/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"ஒற்றைக் கைப் பயன்முறை"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"மிகக் குறைவான வெளிச்சம்"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"செவித்துணைக் கருவிகள்"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"இணைப்புநீக்கப்பட்டது"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"இணைக்கப்பட்டுள்ளது"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"செயலில் உள்ளது"</string>
diff --git a/core/res/res/values-te/strings.xml b/core/res/res/values-te/strings.xml
index 11611ea..027161e 100644
--- a/core/res/res/values-te/strings.xml
+++ b/core/res/res/values-te/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"వన్-హ్యాండెడ్ మోడ్"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"ఎక్స్‌ట్రా డిమ్"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"వినికిడి పరికరాలు"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"డిస్‌కనెక్ట్ అయింది"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"కనెక్ట్ చేయబడింది"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"యాక్టివ్"</string>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index d854025..f82adc6 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"โหมดมือเดียว"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"หรี่แสงเพิ่มเติม"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"เครื่องช่วยฟัง"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"เลิกเชื่อมต่อแล้ว"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"เชื่อมต่อแล้ว"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"ใช้งานอยู่"</string>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 78f44c8..328997d 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"One-Hand mode"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Extra dim"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Mga hearing device"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Nadiskonekta"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Nakakonekta"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Aktibo"</string>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index b575d9f..5106e1a 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Tek El modu"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Ekstra loş"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"İşitme cihazları"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Bağlı değil"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Bağlı"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Etkin"</string>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index 737c245..203cdfa 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -1805,6 +1805,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Режим керування однією рукою"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Додаткове зменшення яскравості"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Слухові апарати"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Від’єднано"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Під’єднано"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Активний"</string>
diff --git a/core/res/res/values-ur/strings.xml b/core/res/res/values-ur/strings.xml
index 82292bf..376efd1 100644
--- a/core/res/res/values-ur/strings.xml
+++ b/core/res/res/values-ur/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"ایک ہاتھ کی وضع"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"اضافی مدھم"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"سماعتی آلات"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"غیر منسلک ہے"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"منسلک ہے"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"فعال"</string>
diff --git a/core/res/res/values-uz/strings.xml b/core/res/res/values-uz/strings.xml
index 0e66165..a1b9e5d 100644
--- a/core/res/res/values-uz/strings.xml
+++ b/core/res/res/values-uz/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Ixcham rejim"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Juda xira"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Eshitish qurilmalari"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Uzildi"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Ulandi"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Faol"</string>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index 754e66e..473568d 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Chế độ một tay"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Siêu tối"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Thiết bị trợ thính"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Đã ngắt kết nối"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Đã kết nối"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Đang hoạt động"</string>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index 1f625ad..f91f457 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"单手模式"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"极暗"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"助听装置"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"已断开连接"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"已连接"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"活跃"</string>
diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml
index fc2783c..9bcb173 100644
--- a/core/res/res/values-zh-rHK/strings.xml
+++ b/core/res/res/values-zh-rHK/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"單手模式"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"超暗"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"助聽器"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"已中斷連線"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"已連線"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"運作中"</string>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index c53aaa1..9f8fd67 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"單手模式"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"超暗"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"助聽器"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"連線中斷"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"已連線"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"運作中"</string>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index 079bf67..a0df4a1 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -1803,6 +1803,8 @@
     <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Imodi yesandla esisodwa"</string>
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Ukufiphaza okwengeziwe"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Amadivayizi okuzwa"</string>
+    <!-- no translation found for autoclick_feature_name (8149248738736949630) -->
+    <skip />
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"Inqamukile"</string>
     <string name="hearing_device_status_connected" msgid="2149385149669918764">"Ixhunyiwe"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"Kuyasebenza"</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/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/dimens.xml b/core/res/res/values/dimens.xml
index 9acb242..a1961ae 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -268,6 +268,9 @@
      72dp (content margin) - 12dp (action padding) - 4dp (button inset) -->
     <dimen name="notification_2025_actions_margin_start">56dp</dimen>
 
+    <!-- Notification action button text size -->
+    <dimen name="notification_2025_action_text_size">16sp</dimen>
+
     <!-- The margin on the end of most content views (ignores the expander) -->
     <dimen name="notification_content_margin_end">16dp</dimen>
 
diff --git a/core/res/res/values/locale_config.xml b/core/res/res/values/locale_config.xml
index 77d2e87..0efa1bc 100644
--- a/core/res/res/values/locale_config.xml
+++ b/core/res/res/values/locale_config.xml
@@ -163,15 +163,18 @@
         <item>en-CM</item> <!-- English (Cameroon) -->
         <item>en-CX</item> <!-- English (Christmas Island) -->
         <item>en-CY</item> <!-- English (Cyprus) -->
+        <item>en-CZ</item> <!-- English (Czechia) -->
         <item>en-DE</item> <!-- English (Germany) -->
         <item>en-DG</item> <!-- English (Diego Garcia) -->
         <item>en-DK</item> <!-- English (Denmark) -->
         <item>en-DM</item> <!-- English (Dominica) -->
         <item>en-ER</item> <!-- English (Eritrea) -->
+        <item>en-ES</item> <!-- English (Spain) -->
         <item>en-FI</item> <!-- English (Finland) -->
         <item>en-FJ</item> <!-- English (Fiji) -->
         <item>en-FK</item> <!-- English (Falkland Islands (Islas Malvinas)) -->
         <item>en-FM</item> <!-- English (Micronesia) -->
+        <item>en-FR</item> <!-- English (France) -->
         <item>en-GB</item> <!-- English (United Kingdom) -->
         <item>en-GD</item> <!-- English (Grenada) -->
         <item>en-GG</item> <!-- English (Guernsey) -->
@@ -181,12 +184,14 @@
         <item>en-GU</item> <!-- English (Guam) -->
         <item>en-GY</item> <!-- English (Guyana) -->
         <item>en-HK</item> <!-- English (Hong Kong) -->
+        <item>en-HU</item> <!-- English (Hungary) -->
         <item>en-ID</item> <!-- English (Indonesia) -->
         <item>en-IE</item> <!-- English (Ireland) -->
         <item>en-IL</item> <!-- English (Israel) -->
         <item>en-IM</item> <!-- English (Isle of Man) -->
         <item>en-IN</item> <!-- English (India) -->
         <item>en-IO</item> <!-- English (British Indian Ocean Territory) -->
+        <item>en-IT</item> <!-- English (Italy) -->
         <item>en-JE</item> <!-- English (Jersey) -->
         <item>en-JM</item> <!-- English (Jamaica) -->
         <item>en-KE</item> <!-- English (Kenya) -->
@@ -210,15 +215,19 @@
         <item>en-NF</item> <!-- English (Norfolk Island) -->
         <item>en-NG</item> <!-- English (Nigeria) -->
         <item>en-NL</item> <!-- English (Netherlands) -->
+        <item>en-NO</item> <!-- English (Norway) -->
         <item>en-NR</item> <!-- English (Nauru) -->
         <item>en-NU</item> <!-- English (Niue) -->
         <item>en-NZ</item> <!-- English (New Zealand) -->
         <item>en-PG</item> <!-- English (Papua New Guinea) -->
         <item>en-PH</item> <!-- English (Philippines) -->
         <item>en-PK</item> <!-- English (Pakistan) -->
+        <item>en-PL</item> <!-- English (Poland) -->
         <item>en-PN</item> <!-- English (Pitcairn Islands) -->
         <item>en-PR</item> <!-- English (Puerto Rico) -->
+        <item>en-PT</item> <!-- English (Portugal) -->
         <item>en-PW</item> <!-- English (Palau) -->
+        <item>en-RO</item> <!-- English (Romania) -->
         <item>en-RW</item> <!-- English (Rwanda) -->
         <item>en-SB</item> <!-- English (Solomon Islands) -->
         <item>en-SC</item> <!-- English (Seychelles) -->
@@ -227,6 +236,7 @@
         <item>en-SG</item> <!-- English (Singapore) -->
         <item>en-SH</item> <!-- English (St. Helena) -->
         <item>en-SI</item> <!-- English (Slovenia) -->
+        <item>en-SK</item> <!-- English (Slovakia) -->
         <item>en-SL</item> <!-- English (Sierra Leone) -->
         <item>en-SS</item> <!-- English (South Sudan) -->
         <item>en-SX</item> <!-- English (Sint Maarten) -->
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 6a83bae..cb3dfc7 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -5063,8 +5063,6 @@
     <!-- Notification action button. Click it will open the bluetooth device details page for this hearing device. It will be shown when making a phone call with the hearing device. [CHAR LIMIT=none] -->
     <string name="hearing_device_notification_settings_button">Settings</string>
 
-    <!-- Text spoken when the current user is switched if accessibility is enabled. [CHAR LIMIT=none] -->
-    <string name="user_switched">Current user <xliff:g id="name" example="Bob">%1$s</xliff:g>.</string>
     <!-- Message shown when switching to a user [CHAR LIMIT=none] -->
     <string name="user_switching_message">Switching to <xliff:g id="name" example="Bob">%1$s</xliff:g>\u2026</string>
     <!-- Message when logging out a user on a split user system -->
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index ed553c0..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"/>
diff --git a/core/tests/coretests/src/android/app/PropertyInvalidatedCacheTests.java b/core/tests/coretests/src/android/app/PropertyInvalidatedCacheTests.java
index ac78e87..f75a72d 100644
--- a/core/tests/coretests/src/android/app/PropertyInvalidatedCacheTests.java
+++ b/core/tests/coretests/src/android/app/PropertyInvalidatedCacheTests.java
@@ -414,16 +414,23 @@
     @Test
     @DisabledOnRavenwood(reason = "SystemProperties doesn't have permission check")
     public void testPermissionFailure() {
-        // Create a cache that will write a system nonce.
-        TestCache sysCache = new TestCache(MODULE_SYSTEM, "mode1");
         try {
-            // Invalidate the cache, which writes the system property.  There must be a permission
-            // failure.
-            sysCache.invalidateCache();
-            fail("expected permission failure");
-        } catch (RuntimeException e) {
-            // The expected exception is a bare RuntimeException.  The test does not attempt to
-            // validate the text of the exception message.
+            // Disable the test mode for this test, but ensure that it will be enabled when the
+            // test exits.
+            PropertyInvalidatedCache.setTestMode(false);
+            // Create a cache that will write a system nonce.
+            TestCache sysCache = new TestCache(MODULE_SYSTEM, "mode1");
+            try {
+                // Invalidate the cache, which writes the system property.  There must be a
+                // permission failure.
+                sysCache.invalidateCache();
+                fail("expected permission failure");
+            } catch (RuntimeException e) {
+                // The expected exception is a bare RuntimeException.  The test does not attempt
+                // to validate the text of the exception message.
+            }
+        } finally {
+            PropertyInvalidatedCache.setTestMode(true);
         }
     }
 
diff --git a/core/tests/coretests/src/android/content/pm/OWNERS b/core/tests/coretests/src/android/content/pm/OWNERS
index 8673365..c4c40dc 100644
--- a/core/tests/coretests/src/android/content/pm/OWNERS
+++ b/core/tests/coretests/src/android/content/pm/OWNERS
@@ -1,5 +1,4 @@
 include /core/java/android/content/pm/OWNERS
 
 per-file AppSearchPersonTest.java = file:/core/java/android/content/pm/SHORTCUT_OWNERS
-per-file SigningDetailsTest.java = cbrubaker@google.com
 per-file SigningDetailsTest.java = mpgroover@google.com
diff --git a/core/tests/coretests/src/android/hardware/display/DisplayManagerGlobalTest.java b/core/tests/coretests/src/android/hardware/display/DisplayManagerGlobalTest.java
index 8ef105f..de5f0ff 100644
--- a/core/tests/coretests/src/android/hardware/display/DisplayManagerGlobalTest.java
+++ b/core/tests/coretests/src/android/hardware/display/DisplayManagerGlobalTest.java
@@ -177,8 +177,10 @@
     @RequiresFlagsEnabled(Flags.FLAG_DELAY_IMPLICIT_RR_REGISTRATION_UNTIL_RR_ACCESSED)
     public void test_refreshRateRegistration_implicitRRCallbacksEnabled()
             throws RemoteException {
+        DisplayManager.DisplayListener displayListener1 =
+                Mockito.mock(DisplayManager.DisplayListener.class);
         // Subscription without supplied events doesn't subscribe to RR events
-        mDisplayManagerGlobal.registerDisplayListener(mDisplayListener, mHandler,
+        mDisplayManagerGlobal.registerDisplayListener(displayListener1, mHandler,
                 ALL_DISPLAY_EVENTS, /* packageName= */ null,
                 /* isEventFilterExplicit */ false);
         Mockito.verify(mDisplayManager)
@@ -187,7 +189,9 @@
         // After registering to refresh rate changes, subscription without supplied events subscribe
         // to RR events
         mDisplayManagerGlobal.registerForRefreshRateChanges();
-        mDisplayManagerGlobal.registerDisplayListener(mDisplayListener, mHandler,
+        DisplayManager.DisplayListener displayListener2 =
+                Mockito.mock(DisplayManager.DisplayListener.class);
+        mDisplayManagerGlobal.registerDisplayListener(displayListener2, mHandler,
                 ALL_DISPLAY_EVENTS, /* packageName= */ null,
                 /* isEventFilterExplicit */ false);
         Mockito.verify(mDisplayManager)
@@ -203,7 +207,9 @@
         }
 
         // Subscription to RR when events are supplied doesn't happen
-        mDisplayManagerGlobal.registerDisplayListener(mDisplayListener, mHandler,
+        DisplayManager.DisplayListener displayListener3 =
+                Mockito.mock(DisplayManager.DisplayListener.class);
+        mDisplayManagerGlobal.registerDisplayListener(displayListener3, mHandler,
                 ALL_DISPLAY_EVENTS, /* packageName= */ null,
                 /* isEventFilterExplicit */ true);
         Mockito.verify(mDisplayManager)
@@ -214,7 +220,6 @@
         int subscribedListenersCount = 0;
         int nonSubscribedListenersCount = 0;
         for (DisplayManagerGlobal.DisplayListenerDelegate delegate: delegates) {
-
             if (delegate.isEventFilterExplicit()) {
                 assertEquals(ALL_DISPLAY_EVENTS, delegate.mInternalEventFlagsMask);
                 nonSubscribedListenersCount++;
diff --git a/core/tests/coretests/src/android/os/IpcDataCacheTest.java b/core/tests/coretests/src/android/os/IpcDataCacheTest.java
index 74b32a1..791ec5d 100644
--- a/core/tests/coretests/src/android/os/IpcDataCacheTest.java
+++ b/core/tests/coretests/src/android/os/IpcDataCacheTest.java
@@ -452,22 +452,28 @@
         assertTrue(ec.isDisabled());
     }
 
-
     // Verify that invalidating the cache from an app process would fail due to lack of permissions.
     @Test
     @android.platform.test.annotations.DisabledOnRavenwood(
             reason = "SystemProperties doesn't have permission check")
     public void testPermissionFailure() {
-        // Create a cache that will write a system nonce.
-        TestCache sysCache = new TestCache(IpcDataCache.MODULE_SYSTEM, "mode1");
         try {
-            // Invalidate the cache, which writes the system property.  There must be a permission
-            // failure.
-            sysCache.invalidateCache();
-            fail("expected permission failure");
-        } catch (RuntimeException e) {
-            // The expected exception is a bare RuntimeException.  The test does not attempt to
-            // validate the text of the exception message.
+            // Disable test mode for this test.  Guarantee that the mode is enabled before the
+            // test exits.
+            IpcDataCache.setTestMode(false);
+            // Create a cache that will write a system nonce.
+            TestCache sysCache = new TestCache(IpcDataCache.MODULE_SYSTEM, "mode1");
+            try {
+                // Invalidate the cache, which writes the system property.  There must be a
+                // permission failure.
+                sysCache.invalidateCache();
+                fail("expected permission failure");
+            } catch (RuntimeException e) {
+                // The expected exception is a bare RuntimeException.  The test does not attempt
+                // to validate the text of the exception message.
+            }
+        } finally {
+            IpcDataCache.setTestMode(true);
         }
     }
 
diff --git a/core/tests/coretests/src/android/view/InsetsControllerTest.java b/core/tests/coretests/src/android/view/InsetsControllerTest.java
index 4516e9c..af87af0 100644
--- a/core/tests/coretests/src/android/view/InsetsControllerTest.java
+++ b/core/tests/coretests/src/android/view/InsetsControllerTest.java
@@ -1195,6 +1195,23 @@
         });
     }
 
+    @Test
+    public void testAnimatingTypes() throws Exception {
+        prepareControls();
+
+        final int types = navigationBars() | statusBars();
+        InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+            clearInvocations(mTestHost);
+            mController.hide(types);
+            // quickly jump to final state by cancelling it.
+            mController.cancelExistingAnimations();
+        });
+        InstrumentationRegistry.getInstrumentation().waitForIdleSync();
+
+        verify(mTestHost, times(1)).updateAnimatingTypes(eq(types));
+        verify(mTestHost, times(1)).updateAnimatingTypes(eq(0) /* animatingTypes */);
+    }
+
     private void waitUntilNextFrame() throws Exception {
         final CountDownLatch latch = new CountDownLatch(1);
         Choreographer.getMainThreadInstance().postCallback(Choreographer.CALLBACK_COMMIT,
diff --git a/core/tests/coretests/src/android/view/OrientationEventListenerFrameworkTest.java b/core/tests/coretests/src/android/view/OrientationEventListenerFrameworkTest.java
new file mode 100644
index 0000000..5f06a70
--- /dev/null
+++ b/core/tests/coretests/src/android/view/OrientationEventListenerFrameworkTest.java
@@ -0,0 +1,201 @@
+/*
+ * 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 android.view;
+
+import static com.android.window.flags.Flags.FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
+import android.annotation.NonNull;
+import android.app.WindowConfiguration;
+import android.content.Context;
+import android.content.res.CompatibilityInfo;
+import android.hardware.Sensor;
+import android.hardware.SensorEvent;
+import android.hardware.SensorEventListener;
+import android.hardware.SensorManager;
+import android.hardware.input.InputSensorInfo;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+
+import java.util.ArrayList;
+
+/**
+ * Test {@link OrientationEventListener}.
+ *
+ * <p>Build/Install/Run:
+ *  atest FrameworksCoreTests:OrientationEventListenerFrameworkTest
+ */
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class OrientationEventListenerFrameworkTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private Context mContext;
+    private SensorManager mSensorManager;
+
+    @Before
+    public void setup() {
+        mContext = mock(Context.class);
+        mSensorManager = mock(SensorManager.class);
+        doReturn(mSensorManager).when(mContext).getSystemService(Context.SENSOR_SERVICE);
+    }
+
+    @After
+    public void tearDown() {
+        // Reset the override rotation for tests that use the default value.
+        CompatibilityInfo.setOverrideDisplayRotation(WindowConfiguration.ROTATION_UNDEFINED);
+    }
+
+    @Test
+    public void testConstructor() {
+        new TestOrientationEventListener(mContext);
+
+        new TestOrientationEventListener(mContext, SensorManager.SENSOR_DELAY_UI);
+    }
+
+    @Test
+    public void testEnableAndDisable() {
+        final TestOrientationEventListener listener = new TestOrientationEventListener(mContext);
+        listener.enable();
+        listener.disable();
+    }
+
+    @Test
+    @EnableFlags(FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING)
+    public void testSensorOrientationUpdate() {
+        final Sensor mockSensor = setupMockAccelerometerSensor();
+        final TestOrientationEventListener listener = new TestOrientationEventListener(mContext);
+
+        listener.enable();
+
+        sendSensorEventWithOrientation270(mockSensor);
+
+        assertEquals(1, listener.mReportedOrientations.size());
+        assertEquals(270, (int) listener.mReportedOrientations.get(0));
+    }
+
+    @Test
+    @EnableFlags(FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING)
+    public void testSensorOrientationUpdate_overriddenDisplayRotationReportedWhenSet() {
+        final Sensor mockSensor = setupMockAccelerometerSensor();
+        final TestOrientationEventListener listener = new TestOrientationEventListener(mContext);
+
+        listener.enable();
+
+        // This should change the reported sensor rotation.
+        CompatibilityInfo.setOverrideDisplayRotation(Surface.ROTATION_180);
+
+        sendSensorEventWithOrientation270(mockSensor);
+
+        assertEquals(1, listener.mReportedOrientations.size());
+        assertEquals(180, (int) listener.mReportedOrientations.get(0));
+    }
+
+    @Test
+    @EnableFlags(FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING)
+    public void testSensorOrientationUpdate_overriddenDisplayRotationIsNegativeFromSensor() {
+        final Sensor mockSensor = setupMockAccelerometerSensor();
+        final TestOrientationEventListener listener = new TestOrientationEventListener(mContext);
+
+        listener.enable();
+
+        // Display rotation is counted in the opposite direction from the sensor orientation, thus
+        // this call should change the reported sensor rotation to 90, as 360 - 270 = 90.
+        CompatibilityInfo.setOverrideDisplayRotation(Surface.ROTATION_270);
+
+        sendSensorEventWithOrientation270(mockSensor);
+
+        assertEquals(1, listener.mReportedOrientations.size());
+        assertEquals(90, (int) listener.mReportedOrientations.get(0));
+    }
+
+    @Test
+    @DisableFlags(FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING)
+    public void testSensorOrientationUpdate_notOverriddenWhenCameraFeatureDisabled() {
+        final Sensor mockSensor = setupMockAccelerometerSensor();
+        final TestOrientationEventListener listener = new TestOrientationEventListener(mContext);
+
+        listener.enable();
+
+        CompatibilityInfo.setOverrideDisplayRotation(Surface.ROTATION_180);
+
+        sendSensorEventWithOrientation270(mockSensor);
+
+        assertEquals(1, listener.mReportedOrientations.size());
+        // Sensor unchanged by override because the feature is disabled.
+        assertEquals(270, (int) listener.mReportedOrientations.get(0));
+    }
+
+    @NonNull
+    private Sensor setupMockAccelerometerSensor() {
+        final Sensor mockSensor = new Sensor(mock(InputSensorInfo.class));
+        doReturn(mockSensor).when(mSensorManager).getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
+        return mockSensor;
+    }
+
+    @NonNull
+    private SensorEventListener getRegisteredEventListener() {
+        // Get the SensorEventListenerImpl that has subscribed in `listener.enable()`.
+        final ArgumentCaptor<SensorEventListener> listenerArgCaptor = ArgumentCaptor
+                .forClass(SensorEventListener.class);
+        verify(mSensorManager).registerListener(listenerArgCaptor.capture(), any(), anyInt());
+        return listenerArgCaptor.getValue();
+    }
+
+    private void sendSensorEventWithOrientation270(@NonNull Sensor sensor) {
+        final SensorEventListener sensorEventListener = getRegisteredEventListener();
+        // Arbitrary values that return orientation 270.
+        final SensorEvent sensorEvent = new SensorEvent(sensor, 1, 1L,
+                new float[]{1.0f, 0.0f, 0.0f});
+        sensorEventListener.onSensorChanged(sensorEvent);
+    }
+
+    private static class TestOrientationEventListener extends OrientationEventListener {
+        final ArrayList<Integer> mReportedOrientations = new ArrayList<>();
+
+        TestOrientationEventListener(Context context) {
+            super(context);
+        }
+
+        TestOrientationEventListener(Context context, int rate) {
+            super(context, rate);
+        }
+
+        @Override
+        public void onOrientationChanged(int orientation) {
+            mReportedOrientations.add(orientation);
+        }
+    }
+}
diff --git a/core/tests/coretests/src/android/view/ViewRootImplTest.java b/core/tests/coretests/src/android/view/ViewRootImplTest.java
index c40137f..39f3d33 100644
--- a/core/tests/coretests/src/android/view/ViewRootImplTest.java
+++ b/core/tests/coretests/src/android/view/ViewRootImplTest.java
@@ -16,6 +16,8 @@
 
 package android.view;
 
+import static android.app.UiModeManager.MODE_NIGHT_NO;
+import static android.app.UiModeManager.MODE_NIGHT_YES;
 import static android.util.SequenceUtils.getInitSeq;
 import static android.view.HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING;
 import static android.view.InputDevice.SOURCE_ROTARY_ENCODER;
@@ -67,8 +69,10 @@
 import android.annotation.NonNull;
 import android.app.Instrumentation;
 import android.app.UiModeManager;
+import android.app.UiModeManager.ForceInvertType;
 import android.content.Context;
 import android.graphics.ForceDarkType;
+import android.graphics.ForceDarkType.ForceDarkTypeDef;
 import android.graphics.Rect;
 import android.hardware.display.DisplayManagerGlobal;
 import android.os.Binder;
@@ -93,9 +97,12 @@
 import androidx.test.platform.app.InstrumentationRegistry;
 
 import com.android.compatibility.common.util.ShellIdentityUtils;
+import com.android.compatibility.common.util.TestUtils;
 import com.android.cts.input.BlockingQueueEventVerifier;
 import com.android.window.flags.Flags;
 
+import com.google.common.truth.Expect;
+
 import org.hamcrest.Matcher;
 import org.junit.After;
 import org.junit.AfterClass;
@@ -124,6 +131,8 @@
 
     @Rule
     public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    @Rule
+    public final Expect mExpect = Expect.create();
 
     private ViewRootImpl mViewRootImpl;
     private View mView;
@@ -1054,7 +1063,7 @@
         ViewRootImpl viewRootImpl = mView.getViewRootImpl();
         sInstrumentation.runOnMainSync(() -> {
             mView.invalidate();
-            viewRootImpl.notifyInsetsAnimationRunningStateChanged(true);
+            viewRootImpl.updateAnimatingTypes(Type.systemBars());
             mView.invalidate();
         });
         sInstrumentation.waitForIdleSync();
@@ -1507,49 +1516,34 @@
     }
 
     @Test
-    public void forceInvertOffDarkThemeOff_forceDarkModeDisabled() {
-        mSetFlagsRule.enableFlags(FLAG_FORCE_INVERT_COLOR);
-        ShellIdentityUtils.invokeWithShellPermissions(() -> {
-            Settings.Secure.putInt(
-                    sContext.getContentResolver(),
-                    Settings.Secure.ACCESSIBILITY_FORCE_INVERT_COLOR_ENABLED,
-                    /* value= */ 0
-            );
-            var uiModeManager = sContext.getSystemService(UiModeManager.class);
-            uiModeManager.setNightMode(UiModeManager.MODE_NIGHT_NO);
-        });
+    @RequiresFlagsEnabled(FLAG_FORCE_INVERT_COLOR)
+    public void updateConfiguration_returnsExpectedForceDarkMode() {
+        waitForSystemNightModeActivated(true);
 
-        sInstrumentation.runOnMainSync(() ->
-                mViewRootImpl.updateConfiguration(sContext.getDisplayNoVerify().getDisplayId())
-        );
+        verifyForceDarkType(/* isAppInNightMode= */ true, /* isForceInvertEnabled= */ true,
+                UiModeManager.FORCE_INVERT_TYPE_DARK, ForceDarkType.FORCE_INVERT_COLOR_DARK);
+        verifyForceDarkType(/* isAppInNightMode= */ true, /* isForceInvertEnabled= */ false,
+                UiModeManager.FORCE_INVERT_TYPE_OFF, ForceDarkType.NONE);
+        verifyForceDarkType(/* isAppInNightMode= */ false, /* isForceInvertEnabled= */ true,
+                UiModeManager.FORCE_INVERT_TYPE_DARK, ForceDarkType.FORCE_INVERT_COLOR_DARK);
+        verifyForceDarkType(/* isAppInNightMode= */ false, /* isForceInvertEnabled= */ false,
+                UiModeManager.FORCE_INVERT_TYPE_OFF, ForceDarkType.NONE);
 
-        assertThat(mViewRootImpl.determineForceDarkType()).isEqualTo(ForceDarkType.NONE);
+        waitForSystemNightModeActivated(false);
+
+        verifyForceDarkType(/* isAppInNightMode= */ true, /* isForceInvertEnabled= */ true,
+                UiModeManager.FORCE_INVERT_TYPE_OFF, ForceDarkType.NONE);
+        verifyForceDarkType(/* isAppInNightMode= */ true, /* isForceInvertEnabled= */ false,
+                UiModeManager.FORCE_INVERT_TYPE_OFF, ForceDarkType.NONE);
+        verifyForceDarkType(/* isAppInNightMode= */ false, /* isForceInvertEnabled= */ true,
+                UiModeManager.FORCE_INVERT_TYPE_OFF, ForceDarkType.NONE);
+        verifyForceDarkType(/* isAppInNightMode= */ false, /* isForceInvertEnabled= */ false,
+                UiModeManager.FORCE_INVERT_TYPE_OFF, ForceDarkType.NONE);
     }
 
     @Test
-    public void forceInvertOnDarkThemeOff_forceDarkModeEnabled() {
-        mSetFlagsRule.enableFlags(FLAG_FORCE_INVERT_COLOR);
-        ShellIdentityUtils.invokeWithShellPermissions(() -> {
-            Settings.Secure.putInt(
-                    sContext.getContentResolver(),
-                    Settings.Secure.ACCESSIBILITY_FORCE_INVERT_COLOR_ENABLED,
-                    /* value= */ 1
-            );
-            var uiModeManager = sContext.getSystemService(UiModeManager.class);
-            uiModeManager.setNightMode(UiModeManager.MODE_NIGHT_NO);
-        });
-
-        sInstrumentation.runOnMainSync(() ->
-                mViewRootImpl.updateConfiguration(sContext.getDisplayNoVerify().getDisplayId())
-        );
-
-        assertThat(mViewRootImpl.determineForceDarkType())
-                .isEqualTo(ForceDarkType.FORCE_INVERT_COLOR_DARK);
-    }
-
-    @Test
+    @EnableFlags(FLAG_FORCE_INVERT_COLOR)
     public void forceInvertOffForceDarkOff_forceDarkModeDisabled() {
-        mSetFlagsRule.enableFlags(FLAG_FORCE_INVERT_COLOR);
         ShellIdentityUtils.invokeWithShellPermissions(() -> {
             Settings.Secure.putInt(
                     sContext.getContentResolver(),
@@ -1562,15 +1556,14 @@
         });
 
         sInstrumentation.runOnMainSync(() ->
-                mViewRootImpl.updateConfiguration(sContext.getDisplayNoVerify().getDisplayId())
-        );
+                mViewRootImpl.updateConfiguration(sContext.getDisplayNoVerify().getDisplayId()));
 
         assertThat(mViewRootImpl.determineForceDarkType()).isEqualTo(ForceDarkType.NONE);
     }
 
     @Test
+    @EnableFlags(FLAG_FORCE_INVERT_COLOR)
     public void forceInvertOffForceDarkOn_forceDarkModeEnabled() {
-        mSetFlagsRule.enableFlags(FLAG_FORCE_INVERT_COLOR);
         ShellIdentityUtils.invokeWithShellPermissions(() -> {
             Settings.Secure.putInt(
                     sContext.getContentResolver(),
@@ -1582,8 +1575,7 @@
         });
 
         sInstrumentation.runOnMainSync(() ->
-                mViewRootImpl.updateConfiguration(sContext.getDisplayNoVerify().getDisplayId())
-        );
+                mViewRootImpl.updateConfiguration(sContext.getDisplayNoVerify().getDisplayId()));
 
         assertThat(mViewRootImpl.determineForceDarkType()).isEqualTo(ForceDarkType.FORCE_DARK);
     }
@@ -1790,4 +1782,39 @@
                     () -> view.getViewTreeObserver().removeOnDrawListener(listener));
         }
     }
+
+    private void waitForSystemNightModeActivated(boolean active) {
+        ShellIdentityUtils.invokeWithShellPermissions(() ->
+                sInstrumentation.runOnMainSync(() -> {
+                    var uiModeManager = sContext.getSystemService(UiModeManager.class);
+                    uiModeManager.setNightModeActivated(active);
+                }));
+        sInstrumentation.waitForIdleSync();
+    }
+
+    private void verifyForceDarkType(boolean isAppInNightMode, boolean isForceInvertEnabled,
+            @ForceInvertType int expectedForceInvertType,
+            @ForceDarkTypeDef int expectedForceDarkType) {
+        var uiModeManager = sContext.getSystemService(UiModeManager.class);
+        ShellIdentityUtils.invokeWithShellPermissions(() -> {
+            uiModeManager.setApplicationNightMode(
+                    isAppInNightMode ? MODE_NIGHT_YES : MODE_NIGHT_NO);
+            Settings.Secure.putInt(
+                    sContext.getContentResolver(),
+                    Settings.Secure.ACCESSIBILITY_FORCE_INVERT_COLOR_ENABLED,
+                    isForceInvertEnabled ? 1 : 0);
+        });
+
+        sInstrumentation.runOnMainSync(() ->
+                mViewRootImpl.updateConfiguration(sContext.getDisplayNoVerify().getDisplayId()));
+        try {
+            TestUtils.waitUntil("Waiting for force invert state changed",
+                    () -> (uiModeManager.getForceInvertState() == expectedForceInvertType));
+        } catch (Exception e) {
+            Log.e(TAG, "Unexpected error trying to apply force invert state. " + e);
+            e.printStackTrace();
+        }
+
+        mExpect.that(mViewRootImpl.determineForceDarkType()).isEqualTo(expectedForceDarkType);
+    }
 }
diff --git a/core/tests/featureflagtests/OWNERS b/core/tests/featureflagtests/OWNERS
index 2ff4f5a..6784f28 100644
--- a/core/tests/featureflagtests/OWNERS
+++ b/core/tests/featureflagtests/OWNERS
@@ -1,2 +1 @@
-sbasi@google.com
-tmfang@google.com
\ No newline at end of file
+tmfang@google.com
diff --git a/data/etc/OWNERS b/data/etc/OWNERS
index 712042f..1251fce 100644
--- a/data/etc/OWNERS
+++ b/data/etc/OWNERS
@@ -1,6 +1,5 @@
 include /PACKAGE_MANAGER_OWNERS
 
-cbrubaker@google.com
 hackbod@android.com
 hackbod@google.com
 jeffv@google.com
diff --git a/data/keyboards/Vendor_0957_Product_0031.kl b/data/keyboards/Vendor_0957_Product_0031.kl
index b47ee58..dd9fbe5 100644
--- a/data/keyboards/Vendor_0957_Product_0031.kl
+++ b/data/keyboards/Vendor_0957_Product_0031.kl
@@ -15,7 +15,7 @@
 # Key Layout file for Google Reference RCU Remote with customizable button.
 #
 
-key 116   TV_POWER      WAKE
+key 116   POWER         WAKE
 key 217   ASSIST        WAKE
 key 423   MACRO_1       WAKE
 
diff --git a/drm/java/android/drm/OWNERS b/drm/java/android/drm/OWNERS
index 4387100..b65cce7 100644
--- a/drm/java/android/drm/OWNERS
+++ b/drm/java/android/drm/OWNERS
@@ -1,4 +1,3 @@
 # Bug component: 49079
 
-jtinker@google.com
 robertshih@google.com
diff --git a/graphics/java/android/framework_graphics.aconfig b/graphics/java/android/framework_graphics.aconfig
index fdbee3c..8753ad8 100644
--- a/graphics/java/android/framework_graphics.aconfig
+++ b/graphics/java/android/framework_graphics.aconfig
@@ -44,9 +44,9 @@
 }
 
 flag {
-  name: "gradient_drawable_shape_rounded_cap"
+  name: "gradient_drawable_shape_arc_for_rounded_cap"
   is_fixed_read_only: true
-  namespace: "core_graphics"
-  description: "Make GradientDrawable support drawing ring with rounded stroke cap."
+  namespace: "wear_frameworks"
+  description: "Make GradientDrawable support arc shape for drawing ring with rounded stroke cap."
   bug: "380000245"
 }
diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java
index a0ca098..05e23a0 100644
--- a/graphics/java/android/graphics/Paint.java
+++ b/graphics/java/android/graphics/Paint.java
@@ -2206,26 +2206,21 @@
      * @param fontVariationOverride font variation override. You can pass null or empty string for
      *                              clearing font variation override.
      *
-     * @return true if the provided font variation settings is valid. Otherwise returns false.
-     *
+     * @throws IllegalArgumentException If given string is not a valid font variation settings
+     *                                  format
      * @see #getFontVariationSettings()
      * @see #setFontVariationSettings(String)
      * @see #getFontVariationOverride()
      * @see FontVariationAxis
      */
     @FlaggedApi(FLAG_TYPEFACE_REDESIGN_READONLY)
-    public boolean setFontVariationOverride(@Nullable String fontVariationOverride) {
+    public void setFontVariationOverride(@Nullable String fontVariationOverride) {
         if (Objects.equals(fontVariationOverride, mFontVariationOverride)) {
-            return true;
+            return;
         }
 
-        List<FontVariationAxis> axes;
-        try {
-            axes = FontVariationAxis.fromFontVariationSettingsForList(fontVariationOverride);
-        } catch (IllegalArgumentException e) {
-            Log.i(TAG, "failed to parse font variation settings.", e);
-            return false;
-        }
+        List<FontVariationAxis> axes =
+                FontVariationAxis.fromFontVariationSettingsForList(fontVariationOverride);
         long builderPtr = nCreateFontVariationBuilder(axes.size());
         for (int i = 0; i < axes.size(); ++i) {
             FontVariationAxis axis = axes.get(i);
@@ -2234,7 +2229,6 @@
         }
         nSetFontVariationOverride(mNativePaint, builderPtr);
         mFontVariationOverride = fontVariationOverride;
-        return true;
     }
 
     /**
diff --git a/graphics/java/android/graphics/drawable/GradientDrawable.java b/graphics/java/android/graphics/drawable/GradientDrawable.java
index ff1dc93..3b717fc 100644
--- a/graphics/java/android/graphics/drawable/GradientDrawable.java
+++ b/graphics/java/android/graphics/drawable/GradientDrawable.java
@@ -16,8 +16,8 @@
 
 package android.graphics.drawable;
 
-import static com.android.graphics.flags.Flags.FLAG_GRADIENT_DRAWABLE_SHAPE_ROUNDED_CAP;
-import static com.android.graphics.flags.Flags.gradientDrawableShapeRoundedCap;
+import static com.android.graphics.flags.Flags.FLAG_GRADIENT_DRAWABLE_SHAPE_ARC_FOR_ROUNDED_CAP;
+import static com.android.graphics.flags.Flags.gradientDrawableShapeArcForRoundedCap;
 
 import android.annotation.ColorInt;
 import android.annotation.FlaggedApi;
@@ -132,7 +132,7 @@
     /**
      * Shape is an arc.
      */
-    @FlaggedApi(FLAG_GRADIENT_DRAWABLE_SHAPE_ROUNDED_CAP)
+    @FlaggedApi(FLAG_GRADIENT_DRAWABLE_SHAPE_ARC_FOR_ROUNDED_CAP)
     public static final int ARC = 4;
 
     /** @hide */
@@ -874,7 +874,7 @@
                 break;
             }
             case ARC:
-                if (gradientDrawableShapeRoundedCap()) {
+                if (gradientDrawableShapeArcForRoundedCap()) {
                     // TODO(b/394988176): Consider applying ARC drawing logic to RING shape.
                     float centerX = mRect.centerX();
                     float centerY = mRect.centerY();
@@ -2159,7 +2159,6 @@
         public int mInnerRadius = -1;
         @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 124050218)
         public int mThickness = -1;
-        @UnsupportedAppUsage(trackingBug = 380000245)
         @StrokeCap public int mStrokeCap = ROUND;
 
         public boolean mDither = false;
diff --git a/graphics/java/android/graphics/pdf/OWNERS b/graphics/java/android/graphics/pdf/OWNERS
index 057dc0d..24557b4 100644
--- a/graphics/java/android/graphics/pdf/OWNERS
+++ b/graphics/java/android/graphics/pdf/OWNERS
@@ -4,4 +4,3 @@
 djsollen@google.com
 sumir@google.com
 svetoslavganov@android.com
-svetoslavganov@google.com
diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java
index b0fadb0..e141f70 100644
--- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java
+++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java
@@ -107,7 +107,6 @@
 import androidx.window.extensions.layout.WindowLayoutComponentImpl;
 
 import com.android.internal.annotations.VisibleForTesting;
-import com.android.window.flags.Flags;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -421,9 +420,6 @@
     public void setActivityStackAttributesCalculator(
             @NonNull Function<ActivityStackAttributesCalculatorParams, ActivityStackAttributes>
                     calculator) {
-        if (!Flags.activityEmbeddingOverlayPresentationFlag()) {
-            return;
-        }
         synchronized (mLock) {
             mActivityStackAttributesCalculator = calculator;
         }
@@ -431,9 +427,6 @@
 
     @Override
     public void clearActivityStackAttributesCalculator() {
-        if (!Flags.activityEmbeddingOverlayPresentationFlag()) {
-            return;
-        }
         synchronized (mLock) {
             mActivityStackAttributesCalculator = null;
         }
@@ -623,9 +616,6 @@
     @Override
     public void updateActivityStackAttributes(@NonNull ActivityStack.Token activityStackToken,
                                               @NonNull ActivityStackAttributes attributes) {
-        if (!Flags.activityEmbeddingOverlayPresentationFlag()) {
-            return;
-        }
         Objects.requireNonNull(activityStackToken);
         Objects.requireNonNull(attributes);
 
@@ -652,9 +642,6 @@
     @Nullable
     public ParentContainerInfo getParentContainerInfo(
             @NonNull ActivityStack.Token activityStackToken) {
-        if (!Flags.activityEmbeddingOverlayPresentationFlag()) {
-            return null;
-        }
         Objects.requireNonNull(activityStackToken);
         synchronized (mLock) {
             final TaskFragmentContainer container = getContainer(activityStackToken.getRawToken());
@@ -670,9 +657,6 @@
     @Override
     @Nullable
     public ActivityStack.Token getActivityStackToken(@NonNull String tag) {
-        if (!Flags.activityEmbeddingOverlayPresentationFlag()) {
-            return null;
-        }
         Objects.requireNonNull(tag);
         synchronized (mLock) {
             final TaskFragmentContainer taskFragmentContainer =
@@ -3152,8 +3136,7 @@
                 final TaskFragmentContainer launchedInTaskFragment;
                 if (launchingActivity != null) {
                     final String overlayTag = options.getString(KEY_OVERLAY_TAG);
-                    if (Flags.activityEmbeddingOverlayPresentationFlag()
-                            && overlayTag != null) {
+                    if (overlayTag != null) {
                         launchedInTaskFragment = createOrUpdateOverlayTaskFragmentIfNeeded(wct,
                                 options, intent, launchingActivity);
                     } else {
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 7ab9e2e..f2c1115 100644
--- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitPresenter.java
+++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitPresenter.java
@@ -62,7 +62,6 @@
 
 import com.android.internal.R;
 import com.android.internal.annotations.VisibleForTesting;
-import com.android.window.flags.Flags;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -465,9 +464,6 @@
     void setTaskFragmentIsolatedNavigation(@NonNull WindowContainerTransaction wct,
                                            @NonNull TaskFragmentContainer container,
                                            boolean isolatedNavigationEnabled) {
-        if (!Flags.activityEmbeddingOverlayPresentationFlag() && container.isOverlay()) {
-            return;
-        }
         if (container.isIsolatedNavigationEnabled() == isolatedNavigationEnabled) {
             return;
         }
@@ -488,9 +484,6 @@
     void setTaskFragmentPinned(@NonNull WindowContainerTransaction wct,
                                @NonNull TaskFragmentContainer container,
                                boolean pinned) {
-        if (!Flags.activityEmbeddingOverlayPresentationFlag() && container.isOverlay()) {
-            return;
-        }
         if (container.isPinned() == pinned) {
             return;
         }
@@ -692,7 +685,7 @@
         final TaskContainer taskContainer = container.getTaskContainer();
         final int windowingMode = taskContainer.getWindowingModeForTaskFragment(relativeBounds);
         updateTaskFragmentWindowingModeIfRegistered(wct, container, windowingMode);
-        if (container.isOverlay() && isOverlayTransitionSupported()) {
+        if (container.isOverlay()) {
             // Use the overlay transition for the overlay container if it's supported.
             final TaskFragmentAnimationParams params = createOverlayAnimationParams(relativeBounds,
                     taskContainer.getBounds(), container);
@@ -704,10 +697,6 @@
         setTaskFragmentDimOnTask(wct, fragmentToken, dimOnTask);
     }
 
-    private static boolean isOverlayTransitionSupported() {
-        return Flags.activityEmbeddingOverlayPresentationFlag();
-    }
-
     @NonNull
     private static TaskFragmentAnimationParams createOverlayAnimationParams(
             @NonNull Rect relativeBounds, @NonNull Rect parentContainerBounds,
diff --git a/libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/OverlayPresentationTest.java b/libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/OverlayPresentationTest.java
index 5b97e7e..4334a9c 100644
--- a/libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/OverlayPresentationTest.java
+++ b/libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/OverlayPresentationTest.java
@@ -58,7 +58,6 @@
 import static org.mockito.Mockito.never;
 
 import android.app.Activity;
-import android.app.ActivityOptions;
 import android.content.ComponentName;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
@@ -70,7 +69,6 @@
 import android.os.Handler;
 import android.os.IBinder;
 import android.platform.test.annotations.Presubmit;
-import android.platform.test.flag.junit.SetFlagsRule;
 import android.util.Size;
 import android.window.TaskFragmentAnimationParams;
 import android.window.TaskFragmentInfo;
@@ -85,8 +83,6 @@
 import androidx.window.extensions.layout.WindowLayoutComponentImpl;
 import androidx.window.extensions.layout.WindowLayoutInfo;
 
-import com.android.window.flags.Flags;
-
 import com.google.testing.junit.testparameterinjector.TestParameter;
 import com.google.testing.junit.testparameterinjector.TestParameterInjector;
 
@@ -121,9 +117,6 @@
     private static final Intent PLACEHOLDER_INTENT = new Intent().setComponent(
             new ComponentName("test", "placeholder"));
 
-    @Rule
-    public final SetFlagsRule mSetFlagRule = new SetFlagsRule();
-
     private SplitController.ActivityStartMonitor mMonitor;
 
     private Intent mIntent;
@@ -168,8 +161,6 @@
         doReturn(activityConfig).when(mActivityResources).getConfiguration();
         doReturn(mHandler).when(mSplitController).getHandler();
         mActivity = createMockActivity();
-
-        mSetFlagRule.enableFlags(Flags.FLAG_ACTIVITY_EMBEDDING_OVERLAY_PRESENTATION_FLAG);
     }
 
     /** Creates a mock activity in the organizer process. */
@@ -187,44 +178,6 @@
     }
 
     @Test
-    public void testStartActivity_overlayFeatureDisabled_notInvokeCreateOverlayContainer() {
-        mSetFlagRule.disableFlags(Flags.FLAG_ACTIVITY_EMBEDDING_OVERLAY_PRESENTATION_FLAG);
-
-        final Bundle optionsBundle = ActivityOptions.makeBasic().toBundle();
-        optionsBundle.putString(KEY_OVERLAY_TAG, "test");
-        mMonitor.onStartActivity(mActivity, mIntent, optionsBundle);
-
-        verify(mSplitController, never()).createOrUpdateOverlayTaskFragmentIfNeeded(any(), any(),
-                any(), any());
-    }
-
-    @Test
-    public void testSetIsolatedNavigation_overlayFeatureDisabled_earlyReturn() {
-        mSetFlagRule.disableFlags(Flags.FLAG_ACTIVITY_EMBEDDING_OVERLAY_PRESENTATION_FLAG);
-
-        final TaskFragmentContainer container = createTestOverlayContainer(TASK_ID, "test");
-
-        mSplitPresenter.setTaskFragmentIsolatedNavigation(mTransaction, container,
-                !container.isIsolatedNavigationEnabled());
-
-        verify(mSplitPresenter, never()).setTaskFragmentIsolatedNavigation(any(),
-                any(IBinder.class), anyBoolean());
-    }
-
-    @Test
-    public void testSetPinned_overlayFeatureDisabled_earlyReturn() {
-        mSetFlagRule.disableFlags(Flags.FLAG_ACTIVITY_EMBEDDING_OVERLAY_PRESENTATION_FLAG);
-
-        final TaskFragmentContainer container = createTestOverlayContainer(TASK_ID, "test");
-
-        mSplitPresenter.setTaskFragmentPinned(mTransaction, container,
-                !container.isPinned());
-
-        verify(mSplitPresenter, never()).setTaskFragmentPinned(any(), any(IBinder.class),
-                anyBoolean());
-    }
-
-    @Test
     public void testGetAllNonFinishingOverlayContainers() {
         assertThat(mSplitController.getAllNonFinishingOverlayContainers()).isEmpty();
 
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 3aefcd5..9087da3 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
@@ -552,7 +552,9 @@
 
     private fun createAppBubble(usePendingIntent: Boolean = false): Bubble {
         val target = Intent(context, TestActivity::class.java)
+        val component = ComponentName(context, TestActivity::class.java)
         target.setPackage(context.packageName)
+        target.setComponent(component)
         if (usePendingIntent) {
             // Robolectric doesn't seem to play nice with PendingIntents, have to mock it.
             val pendingIntent = mock<PendingIntent>()
diff --git a/libs/WindowManager/Shell/multivalentTests/src/com/android/wm/shell/bubbles/bar/BubbleBarLayerViewTest.kt b/libs/WindowManager/Shell/multivalentTests/src/com/android/wm/shell/bubbles/bar/BubbleBarLayerViewTest.kt
index 7b583137..14c152102 100644
--- a/libs/WindowManager/Shell/multivalentTests/src/com/android/wm/shell/bubbles/bar/BubbleBarLayerViewTest.kt
+++ b/libs/WindowManager/Shell/multivalentTests/src/com/android/wm/shell/bubbles/bar/BubbleBarLayerViewTest.kt
@@ -19,7 +19,9 @@
 import android.animation.AnimatorTestRule
 import android.content.Context
 import android.content.pm.LauncherApps
+import android.graphics.Insets
 import android.graphics.PointF
+import android.graphics.Rect
 import android.os.Handler
 import android.os.UserManager
 import android.view.IWindowManager
@@ -61,6 +63,7 @@
 import com.android.wm.shell.shared.TransactionPool
 import com.android.wm.shell.shared.animation.PhysicsAnimatorTestUtils
 import com.android.wm.shell.shared.bubbles.BubbleBarLocation
+import com.android.wm.shell.shared.bubbles.DeviceConfig
 import com.android.wm.shell.sysui.ShellCommandHandler
 import com.android.wm.shell.sysui.ShellController
 import com.android.wm.shell.sysui.ShellInit
@@ -80,6 +83,10 @@
 @SmallTest
 @RunWith(AndroidJUnit4::class)
 class BubbleBarLayerViewTest {
+    companion object {
+        const val SCREEN_WIDTH = 2000
+        const val SCREEN_HEIGHT = 1000
+    }
 
     @get:Rule val animatorTestRule: AnimatorTestRule = AnimatorTestRule(this)
 
@@ -111,6 +118,16 @@
 
         bubblePositioner = BubblePositioner(context, windowManager)
         bubblePositioner.setShowingInBubbleBar(true)
+        val deviceConfig =
+            DeviceConfig(
+                windowBounds = Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT),
+                isLargeScreen = true,
+                isSmallTablet = false,
+                isLandscape = true,
+                isRtl = false,
+                insets = Insets.of(10, 20, 30, 40)
+            )
+        bubblePositioner.update(deviceConfig)
 
         testBubblesList = mutableListOf()
         val bubbleData = mock<BubbleData>()
@@ -313,6 +330,48 @@
         assertThat(uiEventLoggerFake.logs[0]).hasBubbleInfo(bubble)
     }
 
+    @Test
+    fun testUpdateExpandedView_updateLocation() {
+        bubblePositioner.bubbleBarLocation = BubbleBarLocation.RIGHT
+        val bubble = createBubble("first")
+
+        getInstrumentation().runOnMainSync {
+            bubbleBarLayerView.showExpandedView(bubble)
+        }
+        waitForExpandedViewAnimation()
+
+        val previousX = bubble.bubbleBarExpandedView!!.x
+
+        bubblePositioner.bubbleBarLocation = BubbleBarLocation.LEFT
+        getInstrumentation().runOnMainSync {
+            bubbleBarLayerView.updateExpandedView()
+        }
+
+        assertThat(bubble.bubbleBarExpandedView!!.x).isNotEqualTo(previousX)
+    }
+
+    @Test
+    fun testUpdatedExpandedView_updateLocation_skipWhileAnimating() {
+        bubblePositioner.bubbleBarLocation = BubbleBarLocation.RIGHT
+        val bubble = createBubble("first")
+
+        getInstrumentation().runOnMainSync {
+            bubbleBarLayerView.showExpandedView(bubble)
+        }
+        waitForExpandedViewAnimation()
+
+        val previousX = bubble.bubbleBarExpandedView!!.x
+        bubble.bubbleBarExpandedView!!.isAnimating = true
+
+        bubblePositioner.bubbleBarLocation = BubbleBarLocation.LEFT
+        getInstrumentation().runOnMainSync {
+            bubbleBarLayerView.updateExpandedView()
+        }
+
+        // Expanded view is not updated while animating
+        assertThat(bubble.bubbleBarExpandedView!!.x).isEqualTo(previousX)
+    }
+
     private fun createBubble(key: String): Bubble {
         val bubbleTaskView = FakeBubbleTaskViewFactory(context, mainExecutor).create()
         val bubbleBarExpandedView =
diff --git a/libs/WindowManager/Shell/res/layout/caption_window_decor.xml b/libs/WindowManager/Shell/res/layout/caption_window_decor.xml
index f3d2198..819d4ab 100644
--- a/libs/WindowManager/Shell/res/layout/caption_window_decor.xml
+++ b/libs/WindowManager/Shell/res/layout/caption_window_decor.xml
@@ -37,20 +37,17 @@
         style="@style/CaptionButtonStyle"
         android:id="@+id/minimize_window"
         android:layout_gravity="center_vertical|end"
-        android:contentDescription="@string/minimize_button_text"
         android:background="@drawable/decor_minimize_button_dark"
         android:duplicateParentState="true"/>
     <Button
         style="@style/CaptionButtonStyle"
         android:id="@+id/maximize_window"
         android:layout_gravity="center_vertical|end"
-        android:contentDescription="@string/maximize_button_text"
         android:background="@drawable/decor_maximize_button_dark"
         android:duplicateParentState="true"/>
     <Button
         style="@style/CaptionButtonStyle"
         android:id="@+id/close_window"
-        android:contentDescription="@string/close_button_text"
         android:background="@drawable/decor_close_button_dark"
         android:duplicateParentState="true"/>
 </com.android.wm.shell.windowdecor.WindowDecorLinearLayout>
\ No newline at end of file
diff --git a/libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_handle_menu_action_button.xml b/libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_handle_menu_action_button.xml
index 379f4e9..0163c01 100644
--- a/libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_handle_menu_action_button.xml
+++ b/libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_handle_menu_action_button.xml
@@ -29,7 +29,7 @@
 
     <ImageView
         android:id="@+id/image"
-        android:contentDescription="@+id/label"
+        android:importantForAccessibility="no"
         style="@style/DesktopModeHandleMenuActionButtonImage"/>
 
     <com.android.wm.shell.windowdecor.MarqueedTextView
diff --git a/libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_maximize_menu.xml b/libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_maximize_menu.xml
index d50a14c..c2aa146 100644
--- a/libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_maximize_menu.xml
+++ b/libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_maximize_menu.xml
@@ -79,7 +79,7 @@
             android:layout_marginEnd="4dp">
 
             <Button
-                android:layout_width="94dp"
+                android:layout_width="108dp"
                 android:layout_height="60dp"
                 android:id="@+id/maximize_menu_size_toggle_button"
                 style="?android:attr/buttonBarButtonStyle"
@@ -126,7 +126,7 @@
                 <Button
                     android:id="@+id/maximize_menu_snap_left_button"
                     style="?android:attr/buttonBarButtonStyle"
-                    android:layout_width="41dp"
+                    android:layout_width="48dp"
                     android:layout_height="@dimen/desktop_mode_maximize_menu_button_height"
                     android:layout_marginEnd="4dp"
                     android:background="@drawable/desktop_mode_maximize_menu_button_background"
@@ -137,7 +137,7 @@
                 <Button
                     android:id="@+id/maximize_menu_snap_right_button"
                     style="?android:attr/buttonBarButtonStyle"
-                    android:layout_width="41dp"
+                    android:layout_width="48dp"
                     android:layout_height="@dimen/desktop_mode_maximize_menu_button_height"
                     android:background="@drawable/desktop_mode_maximize_menu_button_background"
                     android:importantForAccessibility="yes"
diff --git a/libs/WindowManager/Shell/res/layout/open_by_default_settings_dialog.xml b/libs/WindowManager/Shell/res/layout/open_by_default_settings_dialog.xml
index f6256e6..ed5b339 100644
--- a/libs/WindowManager/Shell/res/layout/open_by_default_settings_dialog.xml
+++ b/libs/WindowManager/Shell/res/layout/open_by_default_settings_dialog.xml
@@ -72,7 +72,7 @@
                     android:layout_height="wrap_content"
                     android:textSize="12sp"
                     android:textFontWeight="400"
-                    android:lineHeight="16dp"
+                    android:lineHeight="28dp"
                     android:layout_gravity="center_horizontal"
                     android:layout_marginBottom="16dp"
                     android:textColor="@androidprv:color/materialColorOnSurfaceVariant"
@@ -113,12 +113,13 @@
                 <Button
                     android:id="@+id/open_by_default_settings_dialog_confirm_button"
                     android:layout_width="wrap_content"
-                    android:layout_height="36dp"
+                    android:layout_height="wrap_content"
+                    android:minHeight="48dp"
                     android:text="@string/open_by_default_dialog_dismiss_button_text"
                     android:layout_gravity="end"
                     android:layout_marginHorizontal="24dp"
-                    android:layout_marginTop="32dp"
-                    android:layout_marginBottom="24dp"
+                    android:layout_marginTop="26dp"
+                    android:layout_marginBottom="18dp"
                     android:textSize="14sp"
                     android:textFontWeight="500"
                     android:textColor="@androidprv:color/materialColorOnPrimary"
diff --git a/libs/WindowManager/Shell/res/values-af/strings.xml b/libs/WindowManager/Shell/res/values-af/strings.xml
index 0f42645..4dffce5 100644
--- a/libs/WindowManager/Shell/res/values-af/strings.xml
+++ b/libs/WindowManager/Shell/res/values-af/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Links 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Links 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Volskerm regs"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Ruil apps om"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Volskerm bo"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Bo 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Bo 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Herbegin"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Moenie weer wys nie"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Dubbeltik om\nhierdie app te skuif"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maksimeer"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Maak klein"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Maak toe"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Terug"</string>
     <string name="handle_text" msgid="4419667835599523257">"Apphandvatsel"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Appikoon"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maksimeer of stel venstergrootte terug"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimeer appvenster"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Maak By Verstek Oop-instellings"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Kies hoe om webskakels vir hierdie app oop te maak"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"In die app"</string>
diff --git a/libs/WindowManager/Shell/res/values-am/strings.xml b/libs/WindowManager/Shell/res/values-am/strings.xml
index be02f43..0881e77 100644
--- a/libs/WindowManager/Shell/res/values-am/strings.xml
+++ b/libs/WindowManager/Shell/res/values-am/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"ግራ 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"ግራ 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"የቀኝ ሙሉ ማያ ገፅ"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"መተግበሪያዎችን ይቀያይሩ"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"የላይ ሙሉ ማያ ገፅ"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"ከላይ 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"ከላይ 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"እንደገና ያስጀምሩ"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"ዳግም አታሳይ"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"ይህን መተግበሪያ\nለማንቀሳቀስ ሁለቴ መታ ያድርጉ"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"አስፋ"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"አሳንስ"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"ዝጋ"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"ተመለስ"</string>
     <string name="handle_text" msgid="4419667835599523257">"የመተግበሪያ መያዣ"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"የመተግበሪያ አዶ"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"የመስኮት መጠንን አሳድግ ወይም ወደነበረበት መልስ"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"የመተግበሪያ መስኮትን አሳንስ"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"በነባሪ ቅንብሮች ክፈት"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"ለዚህ የድር መተግበሪያ አገናኙን እንዴት እንደሚከፍቱ ይምረጡ"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"በመተግበሪያው ውስጥ"</string>
diff --git a/libs/WindowManager/Shell/res/values-ar/strings.xml b/libs/WindowManager/Shell/res/values-ar/strings.xml
index 1680922..9cc49aa 100644
--- a/libs/WindowManager/Shell/res/values-ar/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ar/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"ضبط حجم النافذة اليسرى ليكون ٥٠%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"ضبط حجم النافذة اليسرى ليكون ٣٠%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"عرض النافذة اليمنى بملء الشاشة"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"تبديل التطبيقات"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"عرض النافذة العلوية بملء الشاشة"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"ضبط حجم النافذة العلوية ليكون ٧٠%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"ضبط حجم النافذة العلوية ليكون ٥٠%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"إعادة التشغيل"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"عدم عرض مربّع حوار التأكيد مجددًا"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"انقر مرّتَين لنقل\nهذا التطبيق."</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"تكبير"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"تصغير"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"إغلاق"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"رجوع"</string>
     <string name="handle_text" msgid="4419667835599523257">"مقبض التطبيق"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"رمز التطبيق"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"تكبير حجم النافذة أو استعادته"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"تصغير نافذة التطبيق"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"إعدادات الفتح تلقائيًا"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"اختيار طريقة فتح روابط الويب لهذا التطبيق"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"في التطبيق"</string>
diff --git a/libs/WindowManager/Shell/res/values-as/strings.xml b/libs/WindowManager/Shell/res/values-as/strings.xml
index 0bc4a0a..c59753c 100644
--- a/libs/WindowManager/Shell/res/values-as/strings.xml
+++ b/libs/WindowManager/Shell/res/values-as/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"বাওঁফালৰ স্ক্ৰীনখন ৫০% কৰক"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"বাওঁফালৰ স্ক্ৰীনখন ৩০% কৰক"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"সোঁফালৰ স্ক্ৰীনখন সম্পূৰ্ণ স্ক্ৰীন কৰক"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"এপ্‌সমূহ সলনাসলনি কৰক"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"শীৰ্ষ স্ক্ৰীনখন সম্পূৰ্ণ স্ক্ৰীন কৰক"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"শীর্ষ স্ক্ৰীনখন ৭০% কৰক"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"শীর্ষ স্ক্ৰীনখন ৫০% কৰক"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"ৰিষ্টাৰ্ট কৰক"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"পুনৰাই নেদেখুৱাব"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"এই এপ্‌টো\nস্থানান্তৰ কৰিবলৈ দুবাৰ টিপক"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"সৰ্বাধিক মাত্ৰালৈ বঢ়াওক"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"মিনিমাইজ কৰক"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"বন্ধ কৰক"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"উভতি যাওক"</string>
     <string name="handle_text" msgid="4419667835599523257">"এপৰ হেণ্ডেল"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"এপৰ চিহ্ন"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"ৱিণ্ড’ৰ আকাৰ মেক্সিমাইজ বা পুনঃস্থাপন কৰক"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"এপ্‌ ৱিণ্ড’ মিনিমাইজ কৰক"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"ডিফ’ল্ট ছেটিং খোলক"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"এই এপ্‌টোৰ বাবে কিদৰে ৱেব লিংক খুলিব পাৰি সেয়া বাছনি কৰক"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"এপ্‌টোত"</string>
diff --git a/libs/WindowManager/Shell/res/values-az/strings.xml b/libs/WindowManager/Shell/res/values-az/strings.xml
index 2ccae4b..63e610b 100644
--- a/libs/WindowManager/Shell/res/values-az/strings.xml
+++ b/libs/WindowManager/Shell/res/values-az/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Sol 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Sol 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Sağ tam ekran"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Tətbiqləri dəyişin"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Yuxarı tam ekran"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Yuxarı 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Yuxarı 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Yenidən başladın"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Yenidən göstərməyin"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Tətbiqi köçürmək üçün\niki dəfə toxunun"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Böyüdün"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Kiçildin"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Bağlayın"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Geriyə"</string>
     <string name="handle_text" msgid="4419667835599523257">"Tətbiq ləqəbi"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Tətbiq ikonası"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Pəncərə ölçüsünü artırın və ya bərpa edin"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Tətbiq pəncərəsini kiçildin"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Defolt ayarlarla açın"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Bu tətbiq üçün veb-linklərin necə açılacağını seçin"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Tətbiqdə"</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 b79b860..7cb6f87 100644
--- a/libs/WindowManager/Shell/res/values-b+sr+Latn/strings.xml
+++ b/libs/WindowManager/Shell/res/values-b+sr+Latn/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Levi ekran 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Levi ekran 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Režim celog ekrana za donji ekran"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Zamenite mesta aplikacijama"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Režim celog ekrana za gornji ekran"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Gornji ekran 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Gornji ekran 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Restartuj"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Ne prikazuj ponovo"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Dvaput dodirnite da biste\npremestili ovu aplikaciju"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Uvećajte"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Umanjite"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Zatvorite"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Nazad"</string>
     <string name="handle_text" msgid="4419667835599523257">"Identifikator aplikacije"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ikona aplikacije"</string>
@@ -150,8 +158,14 @@
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Promenite veličinu prozora nalevo"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Promenite veličinu prozora nadesno"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Uvećajte ili vratite veličinu prozora"</string>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Uvećajte ili vratite veličinu prozora"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Umanjite prozor aplikacije"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Podešavanje Podrazumevano otvaraj"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Odaberite način otvaranja veb-linkova za ovu aplikaciju"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"U aplikaciji"</string>
diff --git a/libs/WindowManager/Shell/res/values-be/strings.xml b/libs/WindowManager/Shell/res/values-be/strings.xml
index d26c37b..4f3da2b 100644
--- a/libs/WindowManager/Shell/res/values-be/strings.xml
+++ b/libs/WindowManager/Shell/res/values-be/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Левы экран – 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Левы экран – 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Правы экран – поўнаэкранны рэжым"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Пераключыць праграмы"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Верхні экран – поўнаэкранны рэжым"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Верхні экран – 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Верхні экран – 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Перазапусціць"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Больш не паказваць"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Каб перамясціць праграму,\nнацісніце двойчы"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Разгарнуць"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Згарнуць"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Закрыць"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Назад"</string>
     <string name="handle_text" msgid="4419667835599523257">"Маркер праграмы"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Значок праграмы"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Разгарнуць акно ці аднавіць яго памер"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Згарнуць акно праграмы"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Налады параметра \"Адкрываць стандартна\""</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Выберыце, як гэта праграма будзе адкрываць вэб-спасылкі"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"У праграме"</string>
diff --git a/libs/WindowManager/Shell/res/values-bg/strings.xml b/libs/WindowManager/Shell/res/values-bg/strings.xml
index 9cc9db8..3f867a22 100644
--- a/libs/WindowManager/Shell/res/values-bg/strings.xml
+++ b/libs/WindowManager/Shell/res/values-bg/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Ляв екран: 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Ляв екран: 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Десен екран: Показване на цял екран"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Размяна на приложенията"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Горен екран: Показване на цял екран"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Горен екран: 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Горен екран: 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Рестартиране"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Да не се показва отново"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Докоснете двукратно, за да\nпреместите това приложение"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Увеличаване"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Намаляване"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Затваряне"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Назад"</string>
     <string name="handle_text" msgid="4419667835599523257">"Манипулатор за приложението"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Икона на приложението"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Увеличаване или възстановяване на размера на прозореца"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Намаляване на прозореца на приложението"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Отваряне на настройките по подразбиране"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Изберете как да се отварят уеб връзките за това приложение"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"В приложението"</string>
diff --git a/libs/WindowManager/Shell/res/values-bn/strings.xml b/libs/WindowManager/Shell/res/values-bn/strings.xml
index c1264d4..3967d4b 100644
--- a/libs/WindowManager/Shell/res/values-bn/strings.xml
+++ b/libs/WindowManager/Shell/res/values-bn/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"৫০% বাকি আছে"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"৩০% বাকি আছে"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"ডান দিকের অংশ নিয়ে পূর্ণ স্ক্রিন"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"অ্যাপ পাল্টান"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"উপর দিকের অংশ নিয়ে পূর্ণ স্ক্রিন"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"শীর্ষ ৭০%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"শীর্ষ ৫০%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"রিস্টার্ট করুন"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"আর দেখতে চাই না"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"এই অ্যাপ সরাতে\nডবল ট্যাপ করুন"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"বড় করুন"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"ছোট করুন"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"বন্ধ করুন"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"ফিরে যান"</string>
     <string name="handle_text" msgid="4419667835599523257">"অ্যাপের হ্যান্ডেল"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"অ্যাপ আইকন"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"উইন্ডো সাইজ বড় বা রিস্টোর করুন"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"অ্যাপ উইন্ডো ছোট করুন"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"ডিফল্ট হিসেবে থাকা সেটিংস খুলুন"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"এই অ্যাপের জন্য কীভাবে ওয়েব লিঙ্ক খুলবেন তা বেছে নিন"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"অ্যাপের মধ্যে"</string>
diff --git a/libs/WindowManager/Shell/res/values-bs/strings.xml b/libs/WindowManager/Shell/res/values-bs/strings.xml
index 7c912b6..6b59d91 100644
--- a/libs/WindowManager/Shell/res/values-bs/strings.xml
+++ b/libs/WindowManager/Shell/res/values-bs/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Lijevo 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Lijevo 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Desno cijeli ekran"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Zamjena aplikacija"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Gore cijeli ekran"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Gore 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Gore 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Ponovo pokreni"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Ne prikazuj ponovo"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Dodirnite dvaput da\npomjerite aplikaciju"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maksimiziranje"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimiziranje"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Zatvaranje"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Nazad"</string>
     <string name="handle_text" msgid="4419667835599523257">"Ručica aplikacije"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ikona aplikacije"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maksimiziranje ili vraćanje veličine prozora"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimiziranje prozora aplikacije"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Otvaranje prema zadanim postavkama"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Odaberite način otvaranja web linkova za ovu aplikaciju"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"U aplikaciji"</string>
diff --git a/libs/WindowManager/Shell/res/values-ca/strings.xml b/libs/WindowManager/Shell/res/values-ca/strings.xml
index 2c2a177..955e5cc 100644
--- a/libs/WindowManager/Shell/res/values-ca/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ca/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Pantalla esquerra al 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Pantalla esquerra al 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Pantalla dreta completa"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Canvia les aplicacions"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Pantalla superior completa"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Pantalla superior al 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Pantalla superior al 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Reinicia"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"No ho tornis a mostrar"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Fes doble toc per\nmoure aquesta aplicació"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maximitza"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimitza"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Tanca"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Enrere"</string>
     <string name="handle_text" msgid="4419667835599523257">"Identificador de l\'aplicació"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Icona de l\'aplicació"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maximitza o restaura la mida de la finestra"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimitza la finestra de l\'aplicació"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Configuració d\'obertura predeterminada"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Tria com vols obrir els enllaços web per a aquesta aplicació"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"A l\'aplicació"</string>
diff --git a/libs/WindowManager/Shell/res/values-cs/strings.xml b/libs/WindowManager/Shell/res/values-cs/strings.xml
index e47d1f6..673f7fc 100644
--- a/libs/WindowManager/Shell/res/values-cs/strings.xml
+++ b/libs/WindowManager/Shell/res/values-cs/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"50 % vlevo"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"30 % vlevo"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Pravá část na celou obrazovku"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Zaměnit aplikace"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Horní část na celou obrazovku"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"70 % nahoře"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"50 % nahoře"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Restartovat"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Tuto zprávu příště nezobrazovat"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Dvojitým klepnutím\npřesunete aplikaci"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maximalizovat"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimalizovat"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Zavřít"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Zpět"</string>
     <string name="handle_text" msgid="4419667835599523257">"Popisovač aplikace"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ikona aplikace"</string>
@@ -150,8 +158,14 @@
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Přichytit okno vlevo"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Přichytit okno vpravo"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maximalizovat nebo obnovit velikost okna"</string>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maximalizovat nebo obnovit velikost okna"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimalizovat okno aplikace"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Otevírat podle výchozího nastavení"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Určete, jak se v této aplikaci mají otevírat webové odkazy"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"V aplikaci"</string>
diff --git a/libs/WindowManager/Shell/res/values-da/strings.xml b/libs/WindowManager/Shell/res/values-da/strings.xml
index f5656d5..635df33 100644
--- a/libs/WindowManager/Shell/res/values-da/strings.xml
+++ b/libs/WindowManager/Shell/res/values-da/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Venstre 50 %"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Venstre 30 %"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Vis højre del i fuld skærm"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Byt apps"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Vis øverste del i fuld skærm"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Øverste 70 %"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Øverste 50 %"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Genstart"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Vis ikke igen"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Tryk to gange\nfor at flytte appen"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maksimér"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimer"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Luk"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Tilbage"</string>
     <string name="handle_text" msgid="4419667835599523257">"Apphåndtag"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Appikon"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maksimer eller gendan vinduesstørrelse"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimer appvindue"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Indstillinger for automatisk åbning"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Vælg, hvordan denne app skal åben weblinks"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"I appen"</string>
diff --git a/libs/WindowManager/Shell/res/values-de/strings.xml b/libs/WindowManager/Shell/res/values-de/strings.xml
index 3762b4b..5be8b0b 100644
--- a/libs/WindowManager/Shell/res/values-de/strings.xml
+++ b/libs/WindowManager/Shell/res/values-de/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"50 % links"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"30 % links"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Vollbild rechts"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Apps austauschen"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Vollbild oben"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"70 % oben"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"50 % oben"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Neu starten"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Nicht mehr anzeigen"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Zum Verschieben\ndoppeltippen"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maximieren"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimieren"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Schließen"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Zurück"</string>
     <string name="handle_text" msgid="4419667835599523257">"App-Ziehpunkt"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"App-Symbol"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Fenstergröße maximieren oder wiederherstellen"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"App-Fenster minimieren"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Einstellungen für die Option „Standardmäßig öffnen“"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Festlegen, wie Weblinks für diese App geöffnet werden"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"In der App"</string>
diff --git a/libs/WindowManager/Shell/res/values-el/strings.xml b/libs/WindowManager/Shell/res/values-el/strings.xml
index 8e715d5..bd3cf05 100644
--- a/libs/WindowManager/Shell/res/values-el/strings.xml
+++ b/libs/WindowManager/Shell/res/values-el/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Αριστερή 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Αριστερή 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Δεξιά πλήρης οθόνη"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Εναλλαγή εφαρμογών"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Πάνω πλήρης οθόνη"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Πάνω 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Πάνω 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Επανεκκίνηση"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Να μην εμφανιστεί ξανά"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Πατήστε δύο φορές για\nμετακίνηση αυτής της εφαρμογής"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Μεγιστοποίηση"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Ελαχιστοποίηση"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Κλείσιμο"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Πίσω"</string>
     <string name="handle_text" msgid="4419667835599523257">"Λαβή εφαρμογής"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Εικονίδιο εφαρμογής"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Μεγιστοποίηση ή επαναφορά μεγέθους παραθύρου"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Ελαχιστοποίηση παραθύρου εφαρμογής"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Άνοιγμα ρυθμίσεων από προεπιλογή"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Επιλογή τρόπου ανοίγματος συνδέσμων ιστού για την εφαρμογή"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Στην εφαρμογή"</string>
diff --git a/libs/WindowManager/Shell/res/values-en-rAU/strings.xml b/libs/WindowManager/Shell/res/values-en-rAU/strings.xml
index 75d2bf1..b137d80 100644
--- a/libs/WindowManager/Shell/res/values-en-rAU/strings.xml
+++ b/libs/WindowManager/Shell/res/values-en-rAU/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Left 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Left 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Right full screen"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Swap apps"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Top full screen"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Top 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Top 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Restart"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Don\'t show again"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Double-tap to\nmove this app"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maximise"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimise"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Close"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Back"</string>
     <string name="handle_text" msgid="4419667835599523257">"App handle"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"App icon"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maximise or restore window size"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimise app window"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Open by default settings"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Choose how to open web links for this app"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"In the app"</string>
diff --git a/libs/WindowManager/Shell/res/values-en-rCA/strings.xml b/libs/WindowManager/Shell/res/values-en-rCA/strings.xml
index e552f95..9b9294d 100644
--- a/libs/WindowManager/Shell/res/values-en-rCA/strings.xml
+++ b/libs/WindowManager/Shell/res/values-en-rCA/strings.xml
@@ -43,7 +43,8 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Left 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Left 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Right full screen"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Swap Apps"</string>
+    <string name="accessibility_action_divider_swap_vertical" msgid="3644891227133372072">"Swap top app with bottom"</string>
+    <string name="accessibility_action_divider_swap_horizontal" msgid="2722197605446631628">"Swap left app with right"</string>
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Top full screen"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Top 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Top 50%"</string>
@@ -112,9 +113,10 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Restart"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Don’t show again"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Double-tap to\nmove this app"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maximize"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimize"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Close"</string>
+    <string name="maximize_button_text" msgid="8106849394538234709">"Maximize <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="restore_button_text" msgid="5377571986086775288">"Restore <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="minimize_button_text" msgid="5213953162664451152">"Minimize <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+    <string name="close_button_text" msgid="4544839489310949894">"Close <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="back_button_text" msgid="1469718707134137085">"Back"</string>
     <string name="handle_text" msgid="4419667835599523257">"App handle"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"App Icon"</string>
@@ -150,8 +152,10 @@
     <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">"Maximize or restore window size"</string>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maximize or restore window size"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimize app window"</string>
+    <string name="app_header_talkback_action_maximize_button_text" msgid="8776156791095878638">"Maximize app window size"</string>
+    <string name="app_header_talkback_action_restore_button_text" msgid="2153022340772980863">"Restore window size"</string>
+    <string name="app_header_talkback_action_minimize_button_text" msgid="7491054416186901764">"Minimize app window"</string>
+    <string name="app_header_talkback_action_close_button_text" msgid="5159612596378268926">"Close app window"</string>
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Open by default settings"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Choose how to open web links for this app"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"In the app"</string>
diff --git a/libs/WindowManager/Shell/res/values-en-rGB/strings.xml b/libs/WindowManager/Shell/res/values-en-rGB/strings.xml
index 75d2bf1..b137d80 100644
--- a/libs/WindowManager/Shell/res/values-en-rGB/strings.xml
+++ b/libs/WindowManager/Shell/res/values-en-rGB/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Left 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Left 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Right full screen"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Swap apps"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Top full screen"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Top 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Top 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Restart"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Don\'t show again"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Double-tap to\nmove this app"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maximise"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimise"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Close"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Back"</string>
     <string name="handle_text" msgid="4419667835599523257">"App handle"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"App icon"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maximise or restore window size"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimise app window"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Open by default settings"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Choose how to open web links for this app"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"In the app"</string>
diff --git a/libs/WindowManager/Shell/res/values-en-rIN/strings.xml b/libs/WindowManager/Shell/res/values-en-rIN/strings.xml
index 75d2bf1..b137d80 100644
--- a/libs/WindowManager/Shell/res/values-en-rIN/strings.xml
+++ b/libs/WindowManager/Shell/res/values-en-rIN/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Left 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Left 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Right full screen"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Swap apps"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Top full screen"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Top 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Top 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Restart"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Don\'t show again"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Double-tap to\nmove this app"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maximise"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimise"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Close"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Back"</string>
     <string name="handle_text" msgid="4419667835599523257">"App handle"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"App icon"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maximise or restore window size"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimise app window"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Open by default settings"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Choose how to open web links for this app"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"In the app"</string>
diff --git a/libs/WindowManager/Shell/res/values-es-rUS/strings.xml b/libs/WindowManager/Shell/res/values-es-rUS/strings.xml
index c358ae4..ebfdc6d 100644
--- a/libs/WindowManager/Shell/res/values-es-rUS/strings.xml
+++ b/libs/WindowManager/Shell/res/values-es-rUS/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Izquierda: 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Izquierda: 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Pantalla derecha completa"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Intercambiar apps"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Pantalla superior completa"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Superior: 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Superior: 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Reiniciar"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"No volver a mostrar"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Presiona dos veces\npara mover esta app"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maximizar"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimizar"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Cerrar"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Atrás"</string>
     <string name="handle_text" msgid="4419667835599523257">"Controlador de la app"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ícono de la app"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maximizar o restablecer el tamaño de la ventana"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimizar ventana de la app"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Abrir con la configuración predeterminada"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Elige cómo abrir vínculos web para esta app"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"En la app"</string>
diff --git a/libs/WindowManager/Shell/res/values-es/strings.xml b/libs/WindowManager/Shell/res/values-es/strings.xml
index 275d88d..dfa7869 100644
--- a/libs/WindowManager/Shell/res/values-es/strings.xml
+++ b/libs/WindowManager/Shell/res/values-es/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Izquierda 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Izquierda 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Pantalla derecha completa"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Cambiar aplicaciones"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Pantalla superior completa"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Superior 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Superior 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Reiniciar"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"No volver a mostrar"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Toca dos veces para\nmover esta aplicación"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maximizar"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimizar"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Cerrar"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Atrás"</string>
     <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>
@@ -134,7 +142,7 @@
     <string name="collapse_menu_text" msgid="7515008122450342029">"Cerrar menú"</string>
     <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_maximize_menu_snap_text" msgid="5673738963174074006">"Dividir pantalla"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"La aplicación no se puede mover aquí"</string>
     <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"Inmersivo"</string>
     <string name="desktop_mode_maximize_menu_immersive_restore_button_text" msgid="4900114367354709257">"Restaurar"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maximizar o restaurar tamaño de la ventana"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimizar ventana de la aplicación"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Abrir con los ajustes predeterminados"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Elige cómo quieres abrir los enlaces web de esta aplicación"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"En la aplicación"</string>
diff --git a/libs/WindowManager/Shell/res/values-et/strings.xml b/libs/WindowManager/Shell/res/values-et/strings.xml
index 3a330b3..294b7fe 100644
--- a/libs/WindowManager/Shell/res/values-et/strings.xml
+++ b/libs/WindowManager/Shell/res/values-et/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Vasak: 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Vasak: 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Parem täisekraan"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Rakenduste vahetamine"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Ülemine täisekraan"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Ülemine: 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Ülemine: 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Taaskäivita"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Ära kuva uuesti"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Rakenduse teisaldamiseks\ntopeltpuudutage"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maksimeeri"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimeeri"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Sule"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Tagasi"</string>
     <string name="handle_text" msgid="4419667835599523257">"Rakenduse element"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Rakenduse ikoon"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Akna suuruse maksimeerimine või taastamine"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Rakenduse akna minimeerimine"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Avamisviisi vaikeseaded"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Valige, kuidas avada selle rakenduse puhul veebilinke"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Rakenduses"</string>
diff --git a/libs/WindowManager/Shell/res/values-eu/strings.xml b/libs/WindowManager/Shell/res/values-eu/strings.xml
index c0766a2..a8f9212 100644
--- a/libs/WindowManager/Shell/res/values-eu/strings.xml
+++ b/libs/WindowManager/Shell/res/values-eu/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Ezarri ezkerraldea % 50en"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Ezarri ezkerraldea % 30en"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Ezarri eskuinaldea pantaila osoan"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Aldatu aplikazioz"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Ezarri goialdea pantaila osoan"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Ezarri goialdea % 70en"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Ezarri goialdea % 50en"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Berrabiarazi"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Ez erakutsi berriro"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Sakatu birritan\naplikazioa mugitzeko"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maximizatu"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimizatu"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Itxi"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Atzera"</string>
     <string name="handle_text" msgid="4419667835599523257">"Aplikazioaren kontrol-puntua"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Aplikazioaren ikonoa"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maximizatu edo leheneratu leihoaren tamaina"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimizatu aplikazioaren leihoa"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Modu lehenetsian irekitzearen ezarpenak"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Aukeratu nola ireki sareko estekak aplikazio honetan"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Aplikazioan"</string>
diff --git a/libs/WindowManager/Shell/res/values-fa/strings.xml b/libs/WindowManager/Shell/res/values-fa/strings.xml
index ace8b33..59affd7 100644
--- a/libs/WindowManager/Shell/res/values-fa/strings.xml
+++ b/libs/WindowManager/Shell/res/values-fa/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"٪۵۰ چپ"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"٪۳۰ چپ"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"تمام‌صفحه راست"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"جابه‌جا کردن برنامه‌ها"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"تمام‌صفحه بالا"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"٪۷۰ بالا"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"٪۵۰ بالا"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"بازراه‌اندازی"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"دوباره نشان داده نشود"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"برای جابه‌جا کردن این برنامه\nدو تک‌ضرب بزنید"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"بزرگ کردن"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"کوچک کردن"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"بستن"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"برگشتن"</string>
     <string name="handle_text" msgid="4419667835599523257">"دستگیره برنامه"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"نماد برنامه"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"بیشینه‌سازی یا بازیابی اندازه پنجره"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"کمینه‌سازی پنجره برنامه"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"تنظیمات باز کردن به‌طور پیش‌فرض"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"انتخاب روش باز کردن پیوندهای وب مربوط به این برنامه"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"در برنامه"</string>
diff --git a/libs/WindowManager/Shell/res/values-fi/strings.xml b/libs/WindowManager/Shell/res/values-fi/strings.xml
index aed3fdc..b1d8431 100644
--- a/libs/WindowManager/Shell/res/values-fi/strings.xml
+++ b/libs/WindowManager/Shell/res/values-fi/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Vasen 50 %"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Vasen 30 %"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Oikea koko näytölle"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Vaihda sovellusta"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Yläosa koko näytölle"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Yläosa 70 %"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Yläosa 50 %"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Käynnistä uudelleen"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Älä näytä uudelleen"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Kaksoisnapauta, jos\nhaluat siirtää sovellusta"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Suurenna"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Pienennä"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Sulje"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Takaisin"</string>
     <string name="handle_text" msgid="4419667835599523257">"Sovelluksen tunnus"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Sovelluskuvake"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Suurenna ikkuna tai palauta ikkunan koko"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Pienennä sovellusikkuna"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Avaa oletusasetusten mukaan"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Valitse, miten verkkolinkit avataan tässä sovelluksessa"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Sovelluksessa"</string>
diff --git a/libs/WindowManager/Shell/res/values-fr-rCA/strings.xml b/libs/WindowManager/Shell/res/values-fr-rCA/strings.xml
index dc2025f..c58f4b0 100644
--- a/libs/WindowManager/Shell/res/values-fr-rCA/strings.xml
+++ b/libs/WindowManager/Shell/res/values-fr-rCA/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"50 % à la gauche"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"30 % à la gauche"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Plein écran à la droite"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Permuter des applis"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Plein écran dans le haut"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"70 % dans le haut"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"50 % dans le haut"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Redémarrer"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Ne plus afficher"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Toucher deux fois pour\ndéplacer cette appli"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Agrandir"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Réduire"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Fermer"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Retour"</string>
     <string name="handle_text" msgid="4419667835599523257">"Poignée de l\'appli"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Icône de l\'appli"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Agrandir ou restaurer la taille de la fenêtre"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Réduire la fenêtre de l\'appli"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Ouvrir les paramètres par défaut"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Choisissez comment ouvrir les liens Web pour cette appli"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Dans l\'appli"</string>
diff --git a/libs/WindowManager/Shell/res/values-fr/strings.xml b/libs/WindowManager/Shell/res/values-fr/strings.xml
index 377413e..e8db4c9 100644
--- a/libs/WindowManager/Shell/res/values-fr/strings.xml
+++ b/libs/WindowManager/Shell/res/values-fr/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Écran de gauche à 50 %"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Écran de gauche à 30 %"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Écran de droite en plein écran"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Échanger les applis"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Écran du haut en plein écran"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Écran du haut à 70 %"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Écran du haut à 50 %"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Redémarrer"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Ne plus afficher"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Appuyez deux fois\npour déplacer cette appli"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Agrandir"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Réduire"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Fermer"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Retour"</string>
     <string name="handle_text" msgid="4419667835599523257">"Poignée de l\'appli"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Icône d\'application"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Agrandir ou restaurer la taille de la fenêtre"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Réduire la fenêtre de l\'application"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Ouvrir les paramètres par défaut"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Choisir comment ouvrir les liens Web pour cette appli"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Dans l\'application"</string>
diff --git a/libs/WindowManager/Shell/res/values-gl/strings.xml b/libs/WindowManager/Shell/res/values-gl/strings.xml
index 3022f62..ba1c4a4 100644
--- a/libs/WindowManager/Shell/res/values-gl/strings.xml
+++ b/libs/WindowManager/Shell/res/values-gl/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"50 % á esquerda"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"30 % á esquerda"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Pantalla completa á dereita"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Cambiar as aplicacións"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Pantalla completa arriba"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"70 % arriba"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"50 % arriba"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Reiniciar"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Non mostrar outra vez"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Toca dúas veces para\nmover esta aplicación"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maximizar"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimizar"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Pechar"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Atrás"</string>
     <string name="handle_text" msgid="4419667835599523257">"Controlador da aplicación"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Icona de aplicación"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maximizar ou restaurar o tamaño da ventá"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimizar a ventá da aplicación"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Abrir coa configuración predeterminada"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Escoller como abrir as ligazóns web para esta aplicación"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Na aplicación"</string>
diff --git a/libs/WindowManager/Shell/res/values-gu/strings.xml b/libs/WindowManager/Shell/res/values-gu/strings.xml
index 196784b..cd75508 100644
--- a/libs/WindowManager/Shell/res/values-gu/strings.xml
+++ b/libs/WindowManager/Shell/res/values-gu/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"ડાબે 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"ડાબે 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"જમણી સ્ક્રીન સ્ક્રીન"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"ઍપને સ્વૉપ કરો"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"શીર્ષ પૂર્ણ સ્ક્રીન"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"શીર્ષ 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"શીર્ષ 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"ફરી શરૂ કરો"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"ફરીથી બતાવશો નહીં"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"આ ઍપને ખસેડવા માટે\nબે વાર ટૅપ કરો"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"મોટું કરો"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"નાનું કરો"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"બંધ કરો"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"પાછળ"</string>
     <string name="handle_text" msgid="4419667835599523257">"ઍપનું હૅન્ડલ"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"ઍપનું આઇકન"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"વિન્ડોનું કદ મહત્તમ કરો અથવા રિસ્ટોર કરો"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"ઍપની વિન્ડોને નાની કરો"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"\'ડિફૉલ્ટ તરીકે ખોલો\' સેટિંગ"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"આ ઍપ માટે વેબ લિંક ખોલવાની રીત પસંદ કરો"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"ઍપમાં"</string>
diff --git a/libs/WindowManager/Shell/res/values-hi/strings.xml b/libs/WindowManager/Shell/res/values-hi/strings.xml
index 945bc93..d0be7d5 100644
--- a/libs/WindowManager/Shell/res/values-hi/strings.xml
+++ b/libs/WindowManager/Shell/res/values-hi/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"बाईं स्क्रीन को 50% बनाएं"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"बाईं स्क्रीन को 30% बनाएं"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"दाईं स्क्रीन को फ़ुल स्क्रीन बनाएं"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"ऐप्लिकेशन स्वैप करें"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"ऊपर की स्क्रीन को फ़ुल स्क्रीन बनाएं"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"ऊपर की स्क्रीन को 70% बनाएं"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"ऊपर की स्क्रीन को 50% बनाएं"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"रीस्टार्ट करें"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"फिर से न दिखाएं"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"ऐप्लिकेशन की जगह बदलने के लिए\nदो बार टैप करें"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"बड़ा करें"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"विंडो छोटी करें"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"बंद करें"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"वापस जाएं"</string>
     <string name="handle_text" msgid="4419667835599523257">"ऐप्लिकेशन का हैंडल"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"ऐप्लिकेशन आइकॉन"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"विंडो को बड़ा करें या उसका साइज़ पहले जैसा करें"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"ऐप्लिकेशन की विंडो को छोटा करें"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"डिफ़ॉल्ट सेटिंग के हिसाब से खोलें"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"इस ऐप्लिकेशन के लिए वेब लिंक खोलने का तरीका चुनें"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"ऐप्लिकेशन में"</string>
diff --git a/libs/WindowManager/Shell/res/values-hr/strings.xml b/libs/WindowManager/Shell/res/values-hr/strings.xml
index b1187dc..d3e7599 100644
--- a/libs/WindowManager/Shell/res/values-hr/strings.xml
+++ b/libs/WindowManager/Shell/res/values-hr/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Lijevi zaslon na 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Lijevi zaslon na 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Desni zaslon u cijeli zaslon"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Zamijeni aplikacije"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Gornji zaslon u cijeli zaslon"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Gornji zaslon na 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Gornji zaslon na 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Pokreni ponovno"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Ne prikazuj ponovno"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Dvaput dodirnite da biste\npremjestili ovu aplikaciju"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maksimiziraj"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimiziraj"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Zatvori"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Natrag"</string>
     <string name="handle_text" msgid="4419667835599523257">"Pokazivač aplikacije"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ikona aplikacije"</string>
@@ -150,8 +158,14 @@
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Promijeni veličinu prozora ulijevo"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Promijeni veličinu prozora udesno"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maksimiziraj ili vrati veličinu prozora"</string>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maksimiziraj ili vrati veličinu prozora"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimiziraj prozor aplikacije"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Otvori prema zadanim postavkama"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Odaberite način otvaranja web-veza za ovu aplikaciju"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"U aplikaciji"</string>
diff --git a/libs/WindowManager/Shell/res/values-hu/strings.xml b/libs/WindowManager/Shell/res/values-hu/strings.xml
index a7aedc4..2f7a218 100644
--- a/libs/WindowManager/Shell/res/values-hu/strings.xml
+++ b/libs/WindowManager/Shell/res/values-hu/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Bal oldali 50%-ra"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Bal oldali 30%-ra"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Jobb oldali teljes képernyőre"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Váltás az alkalmazások között"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Felső teljes képernyőre"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Felső 70%-ra"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Felső 50%-ra"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Újraindítás"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Ne jelenjen meg többé"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Koppintson duplán\naz alkalmazás áthelyezéséhez"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Teljes méret"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Kis méret"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Bezárás"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Vissza"</string>
     <string name="handle_text" msgid="4419667835599523257">"App fogópontja"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Alkalmazásikon"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Ablak teljes méretre állítása vagy visszaállítása"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Alkalmazásablak kis méretre állítása"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Alapértelmezett beállítások megnyitása"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Az app webes linkjeinek megnyitásához használt módszer"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Az alkalmazásban"</string>
diff --git a/libs/WindowManager/Shell/res/values-hy/strings.xml b/libs/WindowManager/Shell/res/values-hy/strings.xml
index 00b2f91..2898dcc 100644
--- a/libs/WindowManager/Shell/res/values-hy/strings.xml
+++ b/libs/WindowManager/Shell/res/values-hy/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Ձախ էկրանը՝ 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Ձախ էկրանը՝ 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Աջ էկրանը՝ լիաէկրան"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Հավելվածները տեղերով փոխել"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Վերևի էկրանը՝ լիաէկրան"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Վերևի էկրանը՝ 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Վերևի էկրանը՝ 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Վերագործարկել"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Այլևս ցույց չտալ"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Կրկնակի հպեք՝\nհավելվածը տեղափոխելու համար"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Ծավալել"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Ծալել"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Փակել"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Հետ"</string>
     <string name="handle_text" msgid="4419667835599523257">"Հավելվածի կեղծանուն"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Հավելվածի պատկերակ"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Ծավալել կամ վերականգնել պատուհանի չափսը"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Ծալել հավելվածի պատուհանը"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Բացել կարգավորումներն ըստ կանխադրման"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Ընտրեք՝ ինչպես բացել այս հավելվածի վեբ հղումները"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Հավելվածում"</string>
diff --git a/libs/WindowManager/Shell/res/values-in/strings.xml b/libs/WindowManager/Shell/res/values-in/strings.xml
index 54ccf84..617f9c9 100644
--- a/libs/WindowManager/Shell/res/values-in/strings.xml
+++ b/libs/WindowManager/Shell/res/values-in/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Kiri 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Kiri 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Layar penuh di kanan"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Ganti Aplikasi"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Layar penuh di atas"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Atas 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Atas 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Mulai ulang"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Jangan tampilkan lagi"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Ketuk dua kali untuk\nmemindahkan aplikasi ini"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maksimalkan"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimalkan"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Tutup"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Kembali"</string>
     <string name="handle_text" msgid="4419667835599523257">"Penanganan aplikasi"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ikon Aplikasi"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maksimalkan atau pulihkan ukuran jendela"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimalkan jendela aplikasi"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Buka dengan setelan default"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Pilih cara membuka link web untuk aplikasi ini"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Di aplikasi"</string>
diff --git a/libs/WindowManager/Shell/res/values-is/strings.xml b/libs/WindowManager/Shell/res/values-is/strings.xml
index 56b1790..797a4cc 100644
--- a/libs/WindowManager/Shell/res/values-is/strings.xml
+++ b/libs/WindowManager/Shell/res/values-is/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Vinstri 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Vinstri 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Hægri á öllum skjánum"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Skipta á milli forrita"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Efri á öllum skjánum"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Efri 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Efri 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Endurræsa"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Ekki sýna þetta aftur"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Ýttu tvisvar til\nað færa þetta forrit"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Stækka"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minnka"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Loka"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Til baka"</string>
     <string name="handle_text" msgid="4419667835599523257">"Handfang forrits"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Tákn forrits"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Hámarka eða endurheimta stærð glugga"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Lágmarka stærð forritsglugga"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Stillingar sjálfvirkrar opnunar"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Veldu hvernig veftenglar opnast í forritinu"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Í forritinu"</string>
diff --git a/libs/WindowManager/Shell/res/values-it/strings.xml b/libs/WindowManager/Shell/res/values-it/strings.xml
index 30159c7..85f0f8c 100644
--- a/libs/WindowManager/Shell/res/values-it/strings.xml
+++ b/libs/WindowManager/Shell/res/values-it/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Schermata sinistra al 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Schermata sinistra al 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Schermata destra a schermo intero"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Scambia app"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Schermata superiore a schermo intero"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Schermata superiore al 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Schermata superiore al 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Riavvia"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Non mostrare più"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Tocca due volte per\nspostare questa app"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Ingrandisci"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Riduci a icona"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Chiudi"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Indietro"</string>
     <string name="handle_text" msgid="4419667835599523257">"Punto di manipolazione app"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Icona dell\'app"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Ingrandisci o ripristina le dimensioni della finestra"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Riduci a icona la finestra dell\'app"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Apri in base alle impostazioni predefinite"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Scegli come aprire i link web per questa app"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"All\'interno dell\'app"</string>
diff --git a/libs/WindowManager/Shell/res/values-iw/strings.xml b/libs/WindowManager/Shell/res/values-iw/strings.xml
index 5a19f14..36ac620 100644
--- a/libs/WindowManager/Shell/res/values-iw/strings.xml
+++ b/libs/WindowManager/Shell/res/values-iw/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"שמאלה 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"שמאלה 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"מסך ימני מלא"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"מעבר בין אפליקציות"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"מסך עליון מלא"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"עליון 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"עליון 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"הפעלה מחדש"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"לא להציג שוב"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"אפשר ללחוץ לחיצה כפולה כדי\nלהעביר את האפליקציה למקום אחר"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"הגדלה"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"מזעור"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"סגירה"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"חזרה"</string>
     <string name="handle_text" msgid="4419667835599523257">"נקודת אחיזה לאפליקציה"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"סמל האפליקציה"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"שחזור של גודל החלון או הגדלת החלון"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"מזעור החלון של האפליקציה"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"הגדרות לפתיחה כברירת מחדל"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"כאן בוחרים איך לפתוח באפליקציה הזו קישורים לדפי אינטרנט"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"באפליקציה"</string>
diff --git a/libs/WindowManager/Shell/res/values-ja/strings.xml b/libs/WindowManager/Shell/res/values-ja/strings.xml
index ac0df9c..3a12680 100644
--- a/libs/WindowManager/Shell/res/values-ja/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ja/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"左 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"左 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"右全画面"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"アプリを切り替える"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"上部全画面"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"上 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"上 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"再起動"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"次回から表示しない"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"ダブルタップすると\nこのアプリを移動できます"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"最大化"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"最小化"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"閉じる"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"戻る"</string>
     <string name="handle_text" msgid="4419667835599523257">"アプリハンドル"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"アプリのアイコン"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"ウィンドウを最大化する、またはウィンドウを元のサイズに戻す"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"アプリ ウィンドウを最小化する"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"デフォルトの設定で開く"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"このアプリのウェブリンクを開く方法を選択"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"アプリ内"</string>
diff --git a/libs/WindowManager/Shell/res/values-ka/strings.xml b/libs/WindowManager/Shell/res/values-ka/strings.xml
index 84fab6f..2fbe1a7 100644
--- a/libs/WindowManager/Shell/res/values-ka/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ka/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"მარცხენა ეკრანი — 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"მარცხენა ეკრანი — 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"მარჯვენა ნაწილის სრულ ეკრანზე გაშლა"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"აპების გადართვა"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"ზედა ნაწილის სრულ ეკრანზე გაშლა"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"ზედა ეკრანი — 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"ზედა ეკრანი — 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"გადატვირთვა"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"აღარ გამოჩნდეს"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"ამ აპის გადასატანად\nორმაგად შეეხეთ მას"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"მაქსიმალურად გაშლა"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"ჩაკეცვა"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"დახურვა"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"უკან"</string>
     <string name="handle_text" msgid="4419667835599523257">"აპის იდენტიფიკატორი"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"აპის ხატულა"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"ფანჯრის მაქსიმალურ ზომამდე გაზრდა ან აღდგენა"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"აპის ფანჯრის ზომის შემცირება"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"პარამეტრების ნაგულისხმევად გახსნა"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"ამ აპისთვის ვებ ბმულების გახსნის წესის არჩევა"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"აპში"</string>
diff --git a/libs/WindowManager/Shell/res/values-kk/strings.xml b/libs/WindowManager/Shell/res/values-kk/strings.xml
index be9e9c1..c494b16 100644
--- a/libs/WindowManager/Shell/res/values-kk/strings.xml
+++ b/libs/WindowManager/Shell/res/values-kk/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"50% сол жақта"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"30% сол жақта"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Оң жағын толық экранға шығару"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Қолданбаларды ауыстыру"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Жоғарғы жағын толық экранға шығару"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"70% жоғарғы жақта"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"50% жоғарғы жақта"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Өшіріп қосу"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Қайта көрсетілмесін"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Бұл қолданбаны басқа орынға\nжылжыту үшін екі рет түртіңіз."</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Жаю"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Кішірейту"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Жабу"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Артқа"</string>
     <string name="handle_text" msgid="4419667835599523257">"Қолданба идентификаторы"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Қолданба белгішесі"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Терезе өлшемін ұлғайту не қалпына келтіру"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Қолданба терезесін кішірейту"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Әдепкісінше ашу параметрлері"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Осы қолданбадағы веб-сілтемелерді ашу жолын таңдаңыз"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Қолданбада"</string>
diff --git a/libs/WindowManager/Shell/res/values-km/strings.xml b/libs/WindowManager/Shell/res/values-km/strings.xml
index c835650..234c355 100644
--- a/libs/WindowManager/Shell/res/values-km/strings.xml
+++ b/libs/WindowManager/Shell/res/values-km/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"ឆ្វេង 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"ឆ្វេង 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"អេក្រង់ពេញខាងស្តាំ"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"ប្ដូរកម្មវិធី"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"អេក្រង់ពេញខាងលើ"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"ខាងលើ 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"ខាងលើ 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"ចាប់ផ្ដើម​ឡើង​វិញ"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"កុំ​បង្ហាញ​ម្ដង​ទៀត"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"ចុចពីរដងដើម្បី\nផ្លាស់ទីកម្មវិធីនេះ"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"ពង្រីក"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"បង្រួម"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"បិទ"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"ថយក្រោយ"</string>
     <string name="handle_text" msgid="4419667835599523257">"ឈ្មោះអ្នកប្រើប្រាស់កម្មវិធី"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"រូប​កម្មវិធី"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"ស្ដារ ឬបង្កើនទំហំវិនដូជាអតិបរមា"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"បង្រួមវិនដូកម្មវិធី"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"ការកំណត់បើកតាមលំនាំដើម"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"ជ្រើសរើសរបៀបបើកតំណបណ្ដាញសម្រាប់កម្មវិធីនេះ"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"នៅក្នុងកម្មវិធី"</string>
diff --git a/libs/WindowManager/Shell/res/values-kn/strings.xml b/libs/WindowManager/Shell/res/values-kn/strings.xml
index 143208a..61ee3c3 100644
--- a/libs/WindowManager/Shell/res/values-kn/strings.xml
+++ b/libs/WindowManager/Shell/res/values-kn/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"50% ಎಡಕ್ಕೆ"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"30% ಎಡಕ್ಕೆ"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"ಬಲ ಫುಲ್ ಸ್ಕ್ರೀನ್"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"ಆ್ಯಪ್‌ಗಳನ್ನು ಸ್ವ್ಯಾಪ್ ಮಾಡಿ"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"ಮೇಲಿನ ಫುಲ್ ಸ್ಕ್ರೀನ್"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"70% ಮೇಲಕ್ಕೆ"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"50% ಮೇಲಕ್ಕೆ"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"ಮರುಪ್ರಾರಂಭಿಸಿ"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"ಮತ್ತೊಮ್ಮೆ ತೋರಿಸಬೇಡಿ"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"ಈ ಆ್ಯಪ್ ಅನ್ನು ಸರಿಸಲು\nಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"ಹಿಗ್ಗಿಸಿ"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"ಕುಗ್ಗಿಸಿ"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"ಮುಚ್ಚಿರಿ"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"ಹಿಂದಕ್ಕೆ"</string>
     <string name="handle_text" msgid="4419667835599523257">"ಆ್ಯಪ್ ಹ್ಯಾಂಡಲ್"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"ಆ್ಯಪ್ ಐಕಾನ್"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"ವಿಂಡೋ ಗಾತ್ರವನ್ನು ಗರಿಷ್ಠಗೊಳಿಸಿ ಅಥವಾ ಮರುಸ್ಥಾಪಿಸಿ"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"ಆ್ಯಪ್ ವಿಂಡೋವನ್ನು ಮಿನಿಮೈಜ್ ಮಾಡಿ"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"ಡೀಫಾಲ್ಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಂದ ತೆರೆಯಿರಿ"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"ಈ ಆ್ಯಪ್‌ಗೆ ವೆಬ್ ಲಿಂಕ್‌ಗಳನ್ನು ಹೇಗೆ ತೆರೆಯಬೇಕು ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"ಆ್ಯಪ್‌ನಲ್ಲಿ"</string>
diff --git a/libs/WindowManager/Shell/res/values-ko/strings.xml b/libs/WindowManager/Shell/res/values-ko/strings.xml
index dcdbaba..2b36ba1 100644
--- a/libs/WindowManager/Shell/res/values-ko/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ko/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"왼쪽 화면 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"왼쪽 화면 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"오른쪽 화면 전체화면"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"앱 전환"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"위쪽 화면 전체화면"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"위쪽 화면 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"위쪽 화면 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"다시 시작"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"다시 표시 안함"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"두 번 탭하여\n이 앱 이동"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"최대화"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"최소화"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"닫기"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"뒤로"</string>
     <string name="handle_text" msgid="4419667835599523257">"앱 핸들"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"앱 아이콘"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"창 최대화 또는 크기 복원"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"앱 창 최소화"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"기본값으로 열기 설정"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"이 앱에서 웹 링크를 여는 방법을 선택하세요"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"앱에서"</string>
diff --git a/libs/WindowManager/Shell/res/values-ky/strings.xml b/libs/WindowManager/Shell/res/values-ky/strings.xml
index fe1bcd4..bb3c2fd 100644
--- a/libs/WindowManager/Shell/res/values-ky/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ky/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Сол жактагы экранды 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Сол жактагы экранды 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Оң жактагы экранды толук экран режимине өткөрүү"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Колдонмолорду алмаштыруу"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Үстүнкү экранды толук экран режимине өткөрүү"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Үстүнкү экранды 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Үстүнкү экранды 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Өчүрүп күйгүзүү"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Экинчи көрүнбөсүн"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Бул колдонмону жылдыруу үчүн\nэки жолу таптаңыз"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Чоңойтуу"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Кичирейтүү"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Жабуу"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Артка"</string>
     <string name="handle_text" msgid="4419667835599523257">"Колдонмонун маркери"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Колдонмонун сүрөтчөсү"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Терезенин өлчөмүн чоңойтуу же калыбына келтирүү"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Колдонмонун терезесин кичирейтүү"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Демейки шартта ачылуучу шилтемелердин параметрлери"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Колдонмодо шилтемелер кантип ачыларын тандаңыз"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Колдонмодо"</string>
diff --git a/libs/WindowManager/Shell/res/values-lo/strings.xml b/libs/WindowManager/Shell/res/values-lo/strings.xml
index dd9df35..8850923 100644
--- a/libs/WindowManager/Shell/res/values-lo/strings.xml
+++ b/libs/WindowManager/Shell/res/values-lo/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"ຊ້າຍ 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"ຊ້າຍ 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"ເຕັມໜ້າຈໍຂວາ"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"ສະຫຼັບແອັບ"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"ເຕັມໜ້າຈໍເທິງສຸດ"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"ເທິງສຸດ 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"ເທິງສຸດ 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"ຣີສະຕາດ"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"ບໍ່ຕ້ອງສະແດງອີກ"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"ແຕະສອງເທື່ອເພື່ອ\nຍ້າຍແອັບນີ້"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"ຂະຫຍາຍໃຫຍ່ສຸດ"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"ຫຍໍ້ລົງ"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"ປິດ"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"ກັບຄືນ"</string>
     <string name="handle_text" msgid="4419667835599523257">"ຊື່ຜູ້ໃຊ້ແອັບ"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"ໄອຄອນແອັບ"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"ຂະຫຍາຍ ຫຼື ຄືນຄ່າຂະໜາດໜ້າຈໍ"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"ຫຍໍ້ໜ້າຈໍແອັບ"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"ເປີດຕາມການຕັ້ງຄ່າເລີ່ມຕົ້ນ"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"ເລືອກວິທີເປີດລິ້ງເວັບສຳລັບແອັບນີ້"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"ໃນແອັບ"</string>
diff --git a/libs/WindowManager/Shell/res/values-lt/strings.xml b/libs/WindowManager/Shell/res/values-lt/strings.xml
index 7ebd43d..8ed826a 100644
--- a/libs/WindowManager/Shell/res/values-lt/strings.xml
+++ b/libs/WindowManager/Shell/res/values-lt/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Kairysis ekranas 50 %"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Kairysis ekranas 30 %"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Dešinysis ekranas viso ekrano režimu"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Programų keitimas"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Viršutinis ekranas viso ekrano režimu"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Viršutinis ekranas 70 %"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Viršutinis ekranas 50 %"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Paleisti iš naujo"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Daugiau neberodyti"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Dukart palieskite, kad\nperkeltumėte šią programą"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Padidinti"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Sumažinti"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Uždaryti"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Atgal"</string>
     <string name="handle_text" msgid="4419667835599523257">"Programos kreipinys"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Programos piktograma"</string>
@@ -150,8 +158,14 @@
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Pakeisti lango dydį kairėje"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Pakeisti lango dydį dešinėje"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Padidinti arba atkurti lango dydį"</string>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Padidinti arba atkurti lango dydį"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Sumažinti programos langą"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Atidaryti pagal numatytuosius nustatymus"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Pasirinkite, kaip atidaryti šios programos žiniatinklio nuorodas"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Programoje"</string>
diff --git a/libs/WindowManager/Shell/res/values-lv/strings.xml b/libs/WindowManager/Shell/res/values-lv/strings.xml
index 8c4360b..1227055 100644
--- a/libs/WindowManager/Shell/res/values-lv/strings.xml
+++ b/libs/WindowManager/Shell/res/values-lv/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Pa kreisi 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Pa kreisi 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Labā daļa pa visu ekrānu"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Apmainīt lietotnes"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Augšdaļa pa visu ekrānu"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Augšdaļa 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Augšdaļa 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Restartēt"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Vairs nerādīt"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Veiciet dubultskārienu,\nlai pārvietotu šo lietotni"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maksimizēt"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimizēt"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Aizvērt"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Atpakaļ"</string>
     <string name="handle_text" msgid="4419667835599523257">"Lietotnes turis"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Lietotnes ikona"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maksimizēt vai atjaunot loga lielumu"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimizēt lietotnes logu"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Atvērt pēc noklusējuma iestatījumiem"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Izvēlieties, kā atvērt šajā lietotnē norādītās saites"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Lietotnē"</string>
diff --git a/libs/WindowManager/Shell/res/values-mk/strings.xml b/libs/WindowManager/Shell/res/values-mk/strings.xml
index 653e66a..eb51374 100644
--- a/libs/WindowManager/Shell/res/values-mk/strings.xml
+++ b/libs/WindowManager/Shell/res/values-mk/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Левиот 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Левиот 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Десниот на цел екран"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Менувајте апликации"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Горниот на цел екран"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Горниот 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Горниот 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Рестартирај"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Не прикажувај повторно"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Допрете двапати за да ја\nпоместите апликацијава"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Зголеми"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Минимизирај"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Затвори"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Назад"</string>
     <string name="handle_text" msgid="4419667835599523257">"Прекар на апликацијата"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Икона на апликацијата"</string>
@@ -128,7 +136,7 @@
     <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">"Управувајте со прозорци"</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>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Максимизирајте или вратете ја големината на прозорецот"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Минимизирајте го прозорецот на апликацијата"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Отвори според стандардните поставки"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Изберете како да се отвораат линковите за апликацијава"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Во апликацијата"</string>
diff --git a/libs/WindowManager/Shell/res/values-ml/strings.xml b/libs/WindowManager/Shell/res/values-ml/strings.xml
index 8887665..c48cbce 100644
--- a/libs/WindowManager/Shell/res/values-ml/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ml/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"ഇടത് 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"ഇടത് 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"വലത് പൂർണ്ണ സ്ക്രീൻ"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"ആപ്പുകൾ സ്വാപ്പ് ചെയ്യുക"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"മുകളിൽ പൂർണ്ണ സ്ക്രീൻ"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"മുകളിൽ 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"മുകളിൽ 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"റീസ്റ്റാർട്ട് ചെയ്യൂ"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"വീണ്ടും കാണിക്കരുത്"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"ഈ ആപ്പ് നീക്കാൻ\nഡബിൾ ടാപ്പ് ചെയ്യുക"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"വലുതാക്കുക"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"ചെറുതാക്കുക"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"അടയ്ക്കുക"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"മടങ്ങുക"</string>
     <string name="handle_text" msgid="4419667835599523257">"ആപ്പ് ഹാൻഡിൽ"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"ആപ്പ് ഐക്കൺ"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"വിന്‍ഡോ വലുപ്പം വലുതാക്കുക അല്ലെങ്കിൽ പഴയത് പുനഃസ്ഥാപിക്കുക"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"ആപ്പ് വിന്‍ഡോ ചെറുതാക്കുക"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"ഡിഫോൾട്ട് ക്രമീകരണം ഉപയോഗിച്ച് തുറക്കുക"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"ഈ ആപ്പിനായി വെബ് ലിങ്കുകൾ എങ്ങനെ തുറക്കണമെന്ന് തിരഞ്ഞെടുക്കൂ"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"ആപ്പിൽ"</string>
diff --git a/libs/WindowManager/Shell/res/values-mn/strings.xml b/libs/WindowManager/Shell/res/values-mn/strings.xml
index df922e0..fca2f7c 100644
--- a/libs/WindowManager/Shell/res/values-mn/strings.xml
+++ b/libs/WindowManager/Shell/res/values-mn/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Зүүн 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Зүүн 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Баруун талын бүтэн дэлгэц"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Аппуудыг солих"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Дээд талын бүтэн дэлгэц"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Дээд 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Дээд 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Дахин эхлүүлэх"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Дахиж бүү харуул"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Энэ аппыг зөөхийн тулд\nхоёр товшино уу"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Томруулах"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Багасгах"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Хаах"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Буцах"</string>
     <string name="handle_text" msgid="4419667835599523257">"Аппын бариул"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Aппын дүрс тэмдэг"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Цонхны хэмжээг томруулах эсвэл сэргээх"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Аппын цонхыг жижгэрүүлэх"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Өгөгдмөл тохиргоогоор нээх"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Энэ аппад веб холбоосыг хэрхэн нээхийг сонгоно уу"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Аппад"</string>
diff --git a/libs/WindowManager/Shell/res/values-mr/strings.xml b/libs/WindowManager/Shell/res/values-mr/strings.xml
index f316311..8881187 100644
--- a/libs/WindowManager/Shell/res/values-mr/strings.xml
+++ b/libs/WindowManager/Shell/res/values-mr/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"डावी 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"डावी 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"उजवी फुल स्क्रीन"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"अ‍ॅप्स स्वॅप करा"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"शीर्ष फुल स्क्रीन"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"शीर्ष 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"शीर्ष 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"रीस्टार्ट करा"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"पुन्हा दाखवू नका"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"हे ॲप हलवण्यासाठी\nदोनदा टॅप करा"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"मोठे करा"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"लहान करा"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"बंद करा"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"मागे जा"</string>
     <string name="handle_text" msgid="4419667835599523257">"अ‍ॅपचे हँडल"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"अ‍ॅप आयकन"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"विंडोचा आकार मोठा करा किंवा रिस्टोअर करा"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"अ‍ॅप विंडो लहान करा"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"बाय डीफॉल्ट सेटिंग्ज उघडा"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"या अ‍ॅपसाठीच्या वेब लिंक कशा उघडाव्यात हे निवडा"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"ॲपमध्ये"</string>
diff --git a/libs/WindowManager/Shell/res/values-ms/strings.xml b/libs/WindowManager/Shell/res/values-ms/strings.xml
index 81e00c5..f0cd560 100644
--- a/libs/WindowManager/Shell/res/values-ms/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ms/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Kiri 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Kiri 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Skrin penuh kanan"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Tukar Apl"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Skrin penuh atas"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Atas 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Atas 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Mulakan semula"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Jangan tunjukkan lagi"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Ketik dua kali untuk\nalih apl ini"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maksimumkan"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimumkan"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Tutup"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Kembali"</string>
     <string name="handle_text" msgid="4419667835599523257">"Pengendalian apl"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ikon Apl"</string>
@@ -150,8 +158,14 @@
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Ubah saiz tetingkap ke sebelah kiri"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Ubah saiz tetingkap ke sebelah kanan"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maksimumkan atau pulihkan saiz tetingkap"</string>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maksimumkan atau pulihkan saiz tetingkap"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimumkan tetingkap apl"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Buka tetapan secara lalai"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Pilih cara membuka pautan web untuk apl ini"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Pada apl"</string>
diff --git a/libs/WindowManager/Shell/res/values-my/strings.xml b/libs/WindowManager/Shell/res/values-my/strings.xml
index 8697af8..3451701 100644
--- a/libs/WindowManager/Shell/res/values-my/strings.xml
+++ b/libs/WindowManager/Shell/res/values-my/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"ဘယ်ဘက် မျက်နှာပြင် ၅၀%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"ဘယ်ဘက် မျက်နှာပြင် ၃၀%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"ညာဘက် မျက်နှာပြင်အပြည့်"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"အက်ပ်ပြောင်းရန်"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"အပေါ်ဘက် မျက်နှာပြင်အပြည့်"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"အပေါ်ဘက် မျက်နှာပြင် ၇၀%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"အပေါ်ဘက် မျက်နှာပြင် ၅၀%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"ပြန်စရန်"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"နောက်ထပ်မပြပါနှင့်"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"ဤအက်ပ်ကို ရွှေ့ရန်\nနှစ်ချက်တို့ပါ"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"ချဲ့ရန်"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"ချုံ့ရန်"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"ပိတ်ရန်"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"နောက်သို့"</string>
     <string name="handle_text" msgid="4419667835599523257">"အက်ပ်သုံးသူအမည်"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"အက်ပ်သင်္ကေတ"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"ဝင်းဒိုးအရွယ်အစားကို ချဲ့ရန် (သို့) ပြန်ပြောင်းရန်"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"အက်ပ်ဝင်းဒိုးကို ချုံ့ရန်"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"မူရင်းဆက်တင်ဖြင့် ဖွင့်ရန်"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"ဤအက်ပ်အတွက် ဝဘ်လင့်ခ်များ မည်သို့ဖွင့်မည်ကို ရွေးပါ"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"အက်ပ်တွင်"</string>
diff --git a/libs/WindowManager/Shell/res/values-nb/strings.xml b/libs/WindowManager/Shell/res/values-nb/strings.xml
index 43de636..3a4100c 100644
--- a/libs/WindowManager/Shell/res/values-nb/strings.xml
+++ b/libs/WindowManager/Shell/res/values-nb/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Sett størrelsen på den venstre delen av skjermen til 50 %"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Sett størrelsen på den venstre delen av skjermen til 30 %"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Utvid den høyre delen av skjermen til hele skjermen"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Bytt apper"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Utvid den øverste delen av skjermen til hele skjermen"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Sett størrelsen på den øverste delen av skjermen til 70 %"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Sett størrelsen på den øverste delen av skjermen til 50 %"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Start på nytt"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Ikke vis dette igjen"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Dobbelttrykk for\nå flytte denne appen"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maksimer"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimer"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Lukk"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Tilbake"</string>
     <string name="handle_text" msgid="4419667835599523257">"Apphåndtak"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Appikon"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maksimer eller gjenopprett størrelsen på vinduet"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimer appvinduet"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Innstillinger for åpning som standard"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Velg hvordan nettlinker skal åpnes for denne appen"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"I appen"</string>
diff --git a/libs/WindowManager/Shell/res/values-ne/strings.xml b/libs/WindowManager/Shell/res/values-ne/strings.xml
index 23b49b7..cc31e38 100644
--- a/libs/WindowManager/Shell/res/values-ne/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ne/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"बायाँ भाग ५०%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"बायाँ भाग ३०%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"दायाँ भाग फुल स्क्रिन"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"एपहरू अदलबदल गर्नुहोस्"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"माथिल्लो भाग फुल स्क्रिन"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"माथिल्लो भाग ७०%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"माथिल्लो भाग ५०%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"रिस्टार्ट गर्नुहोस्"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"फेरि नदेखाउनुहोस्"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"यो एप सार्न डबल\nट्याप गर्नुहोस्"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"ठुलो बनाउनुहोस्"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"मिनिमाइज गर्नुहोस्"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"बन्द गर्नुहोस्"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"पछाडि"</string>
     <string name="handle_text" msgid="4419667835599523257">"एपको ह्यान्डल"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"एपको आइकन"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"विन्डोको आकार म्याक्सिमाइज गर्नुहोस् वा रिस्टोर गर्नुहोस्"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"एपको विन्डो मिनिमाइज गर्नुहोस्"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"डिफल्ट सेटिङअनुसार खोल्नुहोस्"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"यो एपका वेब लिंकहरू खोल्ने तरिका छनौट गर्नुहोस्"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"एपमा"</string>
diff --git a/libs/WindowManager/Shell/res/values-nl/strings.xml b/libs/WindowManager/Shell/res/values-nl/strings.xml
index 8396b3e..4234ddf 100644
--- a/libs/WindowManager/Shell/res/values-nl/strings.xml
+++ b/libs/WindowManager/Shell/res/values-nl/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Linkerscherm 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Linkerscherm 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Rechterscherm op volledig scherm"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Apps wisselen"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Bovenste scherm op volledig scherm"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Bovenste scherm 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Bovenste scherm 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Opnieuw opstarten"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Niet opnieuw tonen"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Dubbeltik om\ndeze app te verplaatsen"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maximaliseren"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimaliseren"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Sluiten"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Terug"</string>
     <string name="handle_text" msgid="4419667835599523257">"App-handgreep"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"App-icoon"</string>
@@ -150,8 +158,14 @@
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Formaat van venster naar links aanpassen"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Formaat van venster naar rechts aanpassen"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Formaat van venster maximaliseren of herstellen"</string>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Formaat van venster maximaliseren of herstellen"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"App-venster minimaliseren"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Instellingen voor Standaard openen"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Kies hoe je weblinks voor deze app wilt openen"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"In de app"</string>
diff --git a/libs/WindowManager/Shell/res/values-or/strings.xml b/libs/WindowManager/Shell/res/values-or/strings.xml
index 9e1ee43..6390d37 100644
--- a/libs/WindowManager/Shell/res/values-or/strings.xml
+++ b/libs/WindowManager/Shell/res/values-or/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"ବାମ ପଟକୁ 50% କରନ୍ତୁ"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"ବାମ ପଟେ 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"ଡାହାଣ ପଟକୁ ପୂର୍ଣ୍ଣ ସ୍କ୍ରୀନ୍‍ କରନ୍ତୁ"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"ଆପ୍ସ ସ୍ୱାପ କରନ୍ତୁ"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"ଉପର ଆଡ଼କୁ ପୂର୍ଣ୍ଣ ସ୍କ୍ରୀନ୍‍ କରନ୍ତୁ"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"ଉପର ଆଡ଼କୁ 70% କରନ୍ତୁ"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"ଉପର ଆଡ଼କୁ 50% କରନ୍ତୁ"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"ପୁଣି ଦେଖାନ୍ତୁ ନାହିଁ"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"ଏହି ଆପକୁ ମୁଭ\nକରିବା ପାଇଁ ଦୁଇଥର-ଟାପ କରନ୍ତୁ"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"ବଡ଼ କରନ୍ତୁ"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"ଛୋଟ କରନ୍ତୁ"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"ବନ୍ଦ କରନ୍ତୁ"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"ପଛକୁ ଫେରନ୍ତୁ"</string>
     <string name="handle_text" msgid="4419667835599523257">"ଆପର ହେଣ୍ଡେଲ"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"ଆପ ଆଇକନ"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"ୱିଣ୍ଡୋ ସାଇଜକୁ ମେକ୍ସିମାଇଜ କିମ୍ବା ରିଷ୍ଟୋର କରନ୍ତୁ"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"ଆପ ୱିଣ୍ଡୋକୁ ମିନିମାଇଜ କରନ୍ତୁ"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"ଡିଫଲ୍ଟ ସେଟିଂସକୁ ଖୋଲନ୍ତୁ"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"ଏହି ଆପ ପାଇଁ ୱେବ ଲିଙ୍କଗୁଡ଼ିକୁ କିପରି ଖୋଲିବେ, ତାହା ବାଛନ୍ତୁ"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"ଆପରେ"</string>
diff --git a/libs/WindowManager/Shell/res/values-pa/strings.xml b/libs/WindowManager/Shell/res/values-pa/strings.xml
index 3bc730b..d2b837c 100644
--- a/libs/WindowManager/Shell/res/values-pa/strings.xml
+++ b/libs/WindowManager/Shell/res/values-pa/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"ਖੱਬੇ 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"ਖੱਬੇ 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"ਸੱਜੇ ਪੂਰੀ ਸਕ੍ਰੀਨ"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"ਐਪਾਂ ਨੂੰ ਸਵੈਪ ਕਰੋ"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"ਉੱਪਰ ਪੂਰੀ ਸਕ੍ਰੀਨ"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"ਉੱਪਰ 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"ਉੱਪਰ 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"ਦੁਬਾਰਾ ਨਾ ਦਿਖਾਓ"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"ਇਸ ਐਪ ਦਾ ਟਿਕਾਣਾ ਬਦਲਣ ਲਈ\nਡਬਲ ਟੈਪ ਕਰੋ"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"ਵੱਡਾ ਕਰੋ"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"ਛੋਟਾ ਕਰੋ"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"ਬੰਦ ਕਰੋ"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"ਪਿੱਛੇ"</string>
     <string name="handle_text" msgid="4419667835599523257">"ਐਪ ਹੈਂਡਲ"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"ਐਪ ਪ੍ਰਤੀਕ"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"ਵਿੰਡੋ ਦਾ ਆਕਾਰ ਵਧਾਓ ਜਾਂ ਮੁੜ-ਬਹਾਲ ਕਰੋ"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"ਐਪ ਵਿੰਡੋ ਨੂੰ ਛੋਟਾ ਕਰੋ"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਸੈਟਿੰਗਾਂ ਮੁਤਾਬਕ ਖੋਲ੍ਹੋ"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"ਇਸ ਐਪ ਲਈ ਵੈੱਬ ਲਿੰਕਾਂ ਨੂੰ ਖੋਲ੍ਹਣ ਦਾ ਤਰੀਕਾ ਚੁਣੋ"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"ਐਪ ਵਿੱਚ"</string>
diff --git a/libs/WindowManager/Shell/res/values-pl/strings.xml b/libs/WindowManager/Shell/res/values-pl/strings.xml
index 3a55cf3..59deb01 100644
--- a/libs/WindowManager/Shell/res/values-pl/strings.xml
+++ b/libs/WindowManager/Shell/res/values-pl/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"50% lewej części ekranu"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"30% lewej części ekranu"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Prawa część ekranu na pełnym ekranie"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Zamień aplikacje"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Górna część ekranu na pełnym ekranie"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"70% górnej części ekranu"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"50% górnej części ekranu"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Uruchom ponownie"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Nie pokazuj ponownie"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Aby przenieść aplikację,\nkliknij dwukrotnie"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maksymalizuj"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimalizuj"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Zamknij"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Wstecz"</string>
     <string name="handle_text" msgid="4419667835599523257">"Uchwyt aplikacji"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ikona aplikacji"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Zmaksymalizuj lub przywróć rozmiar okna"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Zminimalizuj okno aplikacji"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Ustawienia domyślnego otwierania"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Wybierz, gdzie chcesz otwierać linki z tej aplikacji"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"W aplikacji"</string>
diff --git a/libs/WindowManager/Shell/res/values-pt-rBR/strings.xml b/libs/WindowManager/Shell/res/values-pt-rBR/strings.xml
index 3e019ec..593f830 100644
--- a/libs/WindowManager/Shell/res/values-pt-rBR/strings.xml
+++ b/libs/WindowManager/Shell/res/values-pt-rBR/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Esquerda a 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Esquerda a 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Lado direito em tela cheia"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Trocar apps"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Parte superior em tela cheia"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Parte superior a 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Parte superior a 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Reiniciar"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Não mostrar novamente"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Toque duas vezes para\nmover o app"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maximizar"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimizar"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Fechar"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Voltar"</string>
     <string name="handle_text" msgid="4419667835599523257">"Identificador do app"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ícone do app"</string>
@@ -150,8 +158,14 @@
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Redimensionar janela para a esquerda"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Redimensionar janela para a direita"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maximizar ou restaurar o tamanho da janela"</string>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maximizar ou restaurar o tamanho da janela"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimizar janela do app"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Configurações \"Abrir por padrão\""</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Escolha como abrir links da Web para este app"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"No app"</string>
diff --git a/libs/WindowManager/Shell/res/values-pt-rPT/strings.xml b/libs/WindowManager/Shell/res/values-pt-rPT/strings.xml
index 3eaf0f5..fcf5916 100644
--- a/libs/WindowManager/Shell/res/values-pt-rPT/strings.xml
+++ b/libs/WindowManager/Shell/res/values-pt-rPT/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"50% no ecrã esquerdo"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"30% no ecrã esquerdo"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Ecrã direito inteiro"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Trocar apps"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Ecrã superior inteiro"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"70% no ecrã superior"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"50% no ecrã superior"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Reiniciar"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Não mostrar de novo"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Toque duas vezes\npara mover esta app"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maximizar"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimizar"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Fechar"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Anterior"</string>
     <string name="handle_text" msgid="4419667835599523257">"Indicador da app"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ícone da app"</string>
@@ -150,8 +158,14 @@
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Redimensionar janela para a esquerda"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Redimensionar janela para a direita"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maximizar ou restaurar tamanho da janela"</string>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maximizar ou restaurar tamanho da janela"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimizar janela da app"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Definições de Abrir por predefinição"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Escolha como abrir links da Web para esta app"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Na app"</string>
diff --git a/libs/WindowManager/Shell/res/values-pt/strings.xml b/libs/WindowManager/Shell/res/values-pt/strings.xml
index 3e019ec..593f830 100644
--- a/libs/WindowManager/Shell/res/values-pt/strings.xml
+++ b/libs/WindowManager/Shell/res/values-pt/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Esquerda a 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Esquerda a 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Lado direito em tela cheia"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Trocar apps"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Parte superior em tela cheia"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Parte superior a 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Parte superior a 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Reiniciar"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Não mostrar novamente"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Toque duas vezes para\nmover o app"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maximizar"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimizar"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Fechar"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Voltar"</string>
     <string name="handle_text" msgid="4419667835599523257">"Identificador do app"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ícone do app"</string>
@@ -150,8 +158,14 @@
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Redimensionar janela para a esquerda"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Redimensionar janela para a direita"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maximizar ou restaurar o tamanho da janela"</string>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maximizar ou restaurar o tamanho da janela"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimizar janela do app"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Configurações \"Abrir por padrão\""</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Escolha como abrir links da Web para este app"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"No app"</string>
diff --git a/libs/WindowManager/Shell/res/values-ro/strings.xml b/libs/WindowManager/Shell/res/values-ro/strings.xml
index 0195aca..81db82a 100644
--- a/libs/WindowManager/Shell/res/values-ro/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ro/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Partea stângă: 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Partea stângă: 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Partea dreaptă pe ecran complet"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Comută între aplicații"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Partea de sus pe ecran complet"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Partea de sus: 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Partea de sus: 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Repornește"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Nu mai afișa"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Atinge de două ori\nca să muți aplicația"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maximizează"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimizează"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Închide"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Înapoi"</string>
     <string name="handle_text" msgid="4419667835599523257">"Handle de aplicație"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Pictograma aplicației"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maximizează sau restabilește dimensiunea ferestrei"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimizează fereastra aplicației"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Setări de deschidere în mod prestabilit"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Alege modul de deschidere a linkurilor web pentru aplicație"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"În aplicație"</string>
diff --git a/libs/WindowManager/Shell/res/values-ru/strings.xml b/libs/WindowManager/Shell/res/values-ru/strings.xml
index adc6f32..aa6f484 100644
--- a/libs/WindowManager/Shell/res/values-ru/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ru/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Левый на 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Левый на 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Правый во весь экран"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Поменять приложения местами"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Верхний во весь экран"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Верхний на 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Верхний на 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Перезапустить"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Больше не показывать"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Дважды нажмите, чтобы\nпереместить приложение."</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Развернуть"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Свернуть"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Закрыть"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Назад"</string>
     <string name="handle_text" msgid="4419667835599523257">"Обозначение приложения"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Значок приложения"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Развернуть окно или восстановить его размер"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Свернуть окно приложения"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Настройки, регулирующие, как по умолчанию открываются ссылки"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Выберите, где будут открываться ссылки из этого приложения"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"В приложении"</string>
diff --git a/libs/WindowManager/Shell/res/values-si/strings.xml b/libs/WindowManager/Shell/res/values-si/strings.xml
index 26bd937..efa978a 100644
--- a/libs/WindowManager/Shell/res/values-si/strings.xml
+++ b/libs/WindowManager/Shell/res/values-si/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"වම් 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"වම් 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"දකුණු පූර්ණ තිරය"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"යෙදුම් හුවමාරු කරන්න"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"ඉහළම පූර්ණ තිරය"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"ඉහළම 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"ඉහළම 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"යළි අරඹන්න"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"නැවත නොපෙන්වන්න"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"මෙම යෙදුම ගෙන යාමට\nදෙවරක් තට්ටු කරන්න"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"විහිදන්න"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"කුඩා කරන්න"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"වසන්න"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"ආපසු"</string>
     <string name="handle_text" msgid="4419667835599523257">"යෙදුම් හසුරුව"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"යෙදුම් නිරූපකය"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"කවුළු ප්‍රමාණය උපරිම කරන්න හෝ ප්‍රතිසාධනය කරන්න"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"යෙදුම් කවුළුව අවම කරන්න"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"පෙරනිමි සැකසීම් මඟින් විවෘත කරන්න"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"මෙම යෙදුම සඳහා වෙබ් සබැඳි විවෘත කරන ආකාරය තෝරා ගන්න"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"යෙදුම තුළ"</string>
diff --git a/libs/WindowManager/Shell/res/values-sk/strings.xml b/libs/WindowManager/Shell/res/values-sk/strings.xml
index 8b6999e..fac26b4 100644
--- a/libs/WindowManager/Shell/res/values-sk/strings.xml
+++ b/libs/WindowManager/Shell/res/values-sk/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Ľavá – 50 %"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Ľavá – 30 %"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Pravá– na celú obrazovku"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Vymeniť aplikácie"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Horná – na celú obrazovku"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Horná – 70 %"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Horná – 50 %"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Reštartovať"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Už nezobrazovať"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Túto aplikáciu\npresuniete dvojitým klepnutím"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maximalizovať"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimalizovať"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Zavrieť"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Späť"</string>
     <string name="handle_text" msgid="4419667835599523257">"Rukoväť aplikácie"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ikona aplikácie"</string>
@@ -150,8 +158,14 @@
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Zmeniť veľkosť okna vľavo"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Zmeniť veľkosť okna vpravo"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maximalizovať alebo obnoviť veľkosť okna"</string>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maximalizovať alebo obnoviť veľkosť okna"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimalizovať okno aplikácie"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Otvárať podľa predvolených nastavení"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Vyberte, ako sa majú v tejto aplikácii otvárať webové odkazy"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"V aplikácii"</string>
diff --git a/libs/WindowManager/Shell/res/values-sl/strings.xml b/libs/WindowManager/Shell/res/values-sl/strings.xml
index 5f1f6ef..f8dacc4 100644
--- a/libs/WindowManager/Shell/res/values-sl/strings.xml
+++ b/libs/WindowManager/Shell/res/values-sl/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Levi 50 %"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Levi 30 %"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Desni v celozaslonski način"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Zamenjava aplikacij"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Zgornji v celozaslonski način"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Zgornji 70 %"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Zgornji 50 %"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Znova zaženi"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Ne prikaži več"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Dvakrat se dotaknite\nza premik te aplikacije"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maksimiraj"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimiraj"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Zapri"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Nazaj"</string>
     <string name="handle_text" msgid="4419667835599523257">"Identifikator aplikacije"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ikona aplikacije"</string>
@@ -150,8 +158,14 @@
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Sprememba velikosti okna na levi"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Sprememba velikosti okna na desni"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Povečava ali obnovitev velikosti okna"</string>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Povečava ali obnovitev velikosti okna"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Pomanjšava okna aplikacije"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Nastavitve privzetega odpiranja"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Izberite način odpiranja spletnih povezav za to aplikacijo"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"V aplikaciji"</string>
diff --git a/libs/WindowManager/Shell/res/values-sq/strings.xml b/libs/WindowManager/Shell/res/values-sq/strings.xml
index 45a1c00..c64df85 100644
--- a/libs/WindowManager/Shell/res/values-sq/strings.xml
+++ b/libs/WindowManager/Shell/res/values-sq/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Majtas 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Majtas 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Ekrani i plotë djathtas"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Ndërro aplikacionet"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Ekrani i plotë lart"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Lart 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Lart 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Rinis"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Mos e shfaq përsëri"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Trokit dy herë për të\nlëvizur këtë aplikacion"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Maksimizo"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimizo"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Mbyll"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Pas"</string>
     <string name="handle_text" msgid="4419667835599523257">"Emërtimi i aplikacionit"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ikona e aplikacionit"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maksimizo ose restauro madhësinë e dritares"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimizo dritaren e aplikacionit"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Hap sipas cilësimeve të parazgjedhura"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Zgjidh si do t\'i hapësh lidhjet e uebit për këtë aplikacion"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Në aplikacion"</string>
diff --git a/libs/WindowManager/Shell/res/values-sr/strings.xml b/libs/WindowManager/Shell/res/values-sr/strings.xml
index 40ca9a4..d2462a7 100644
--- a/libs/WindowManager/Shell/res/values-sr/strings.xml
+++ b/libs/WindowManager/Shell/res/values-sr/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Леви екран 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Леви екран 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Режим целог екрана за доњи екран"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Замените места апликацијама"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Режим целог екрана за горњи екран"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Горњи екран 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Горњи екран 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Рестартуј"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Не приказуј поново"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Двапут додирните да бисте\nпреместили ову апликацију"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Увећајте"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Умањите"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Затворите"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Назад"</string>
     <string name="handle_text" msgid="4419667835599523257">"Идентификатор апликације"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Икона апликације"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Увећајте или вратите величину прозора"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Умањите прозор апликације"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Подешавање Подразумевано отварај"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Одаберите начин отварања веб-линкова за ову апликацију"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"У апликацији"</string>
diff --git a/libs/WindowManager/Shell/res/values-sv/strings.xml b/libs/WindowManager/Shell/res/values-sv/strings.xml
index 4e126e8..0105e15 100644
--- a/libs/WindowManager/Shell/res/values-sv/strings.xml
+++ b/libs/WindowManager/Shell/res/values-sv/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Vänster 50 %"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Vänster 30 %"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Helskärm på höger skärm"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Byt appar"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Helskärm på övre skärm"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Övre 70 %"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Övre 50 %"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Starta om"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Visa inte igen"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Tryck snabbt två gånger\nför att flytta denna app"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Utöka"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Minimera"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Stäng"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Tillbaka"</string>
     <string name="handle_text" msgid="4419667835599523257">"Apphandtag"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Appikon"</string>
@@ -150,8 +158,14 @@
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Ändra storlek på fönstret åt vänster"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Ändra storlek på fönstret åt höger"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maximera eller återställ fönsterstorleken"</string>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Maximera eller återställ fönsterstorleken"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Minimera appfönstret"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Inställningar för Öppna som standard"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Välj hur webblänkar ska öppnas för den här appen"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"I appen"</string>
diff --git a/libs/WindowManager/Shell/res/values-sw/strings.xml b/libs/WindowManager/Shell/res/values-sw/strings.xml
index 8bfdfc6..b4415cb 100644
--- a/libs/WindowManager/Shell/res/values-sw/strings.xml
+++ b/libs/WindowManager/Shell/res/values-sw/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Kushoto 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Kushoto 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Skrini nzima ya kulia"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Badilisha Programu"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Skrini nzima ya juu"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Juu 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Juu 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Zima kisha uwashe"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Usionyeshe tena"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Gusa mara mbili ili\nusogeze programu hii"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Panua"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Punguza"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Funga"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Rudi nyuma"</string>
     <string name="handle_text" msgid="4419667835599523257">"Utambulisho wa programu"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Aikoni ya Programu"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Panua au urejeshe ukubwa wa dirisha"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Punguza dirisha la programu"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Fungua kwa mipangilio chaguomsingi"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Chagua jinsi ya kufungua viungo vya wavuti vya programu hii"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Kwenye programu"</string>
diff --git a/libs/WindowManager/Shell/res/values-ta/strings.xml b/libs/WindowManager/Shell/res/values-ta/strings.xml
index 4d9093c..ccc9f94 100644
--- a/libs/WindowManager/Shell/res/values-ta/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ta/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"இடது புறம் 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"இடது புறம் 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"வலது புறம் முழுத் திரை"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"ஆப்ஸை மாற்றும்"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"மேற்புறம் முழுத் திரை"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"மேலே 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"மேலே 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"மீண்டும் தொடங்கு"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"மீண்டும் காட்டாதே"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"இந்த ஆப்ஸை நகர்த்த\nஇருமுறை தட்டவும்"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"பெரிதாக்கும்"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"சிறிதாக்கும்"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"மூடும்"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"பின்செல்லும்"</string>
     <string name="handle_text" msgid="4419667835599523257">"ஆப்ஸ் ஹேண்டில்"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"ஆப்ஸ் ஐகான்"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"சாளரத்தின் அளவைப் பெரிதாக்கும்/மீட்டெடுக்கும்"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"ஆப்ஸ் சாளரத்தைச் சிறிதாக்கும்"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"இயல்பாக அமைப்புகளைத் திறக்கும்"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"இந்த ஆப்ஸில் வலை இணைப்புகளைத் திறக்கும் வழிமுறையைத் தேர்வுசெய்யுங்கள்"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"ஆப்ஸில்"</string>
diff --git a/libs/WindowManager/Shell/res/values-te/strings.xml b/libs/WindowManager/Shell/res/values-te/strings.xml
index f7cf43e..96ce40a 100644
--- a/libs/WindowManager/Shell/res/values-te/strings.xml
+++ b/libs/WindowManager/Shell/res/values-te/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"ఎడమవైపు 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"ఎడమవైపు 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"కుడివైపు ఫుల్-స్క్రీన్‌"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"యాప్‌లను మార్చండి"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"ఎగువ ఫుల్-స్క్రీన్‌"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"ఎగువ 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"ఎగువ 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"రీస్టార్ట్ చేయండి"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"మళ్లీ చూపవద్దు"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"ఈ యాప్‌ను తరలించడానికి\nడబుల్-ట్యాప్ చేయండి"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"గరిష్టీకరించండి"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"కుదించండి"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"మూసివేయండి"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"వెనుకకు"</string>
     <string name="handle_text" msgid="4419667835599523257">"యాప్ హ్యాండిల్"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"యాప్ చిహ్నం"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"విండో సైజ్‌ను మ్యాగ్జిమైజ్ చేయండి లేదా రీస్టోర్ చేయండి"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"యాప్ విండోను కుదించండి"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"ఆటోమేటిక్ సెట్టింగ్‌ల ద్వారా తెరవండి"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"ఈ యాప్‌నకు సంబంధించిన వెబ్ లింక్‌లను ఎలా తెరవాలో ఎంచుకోండి"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"యాప్‌లో"</string>
diff --git a/libs/WindowManager/Shell/res/values-th/strings.xml b/libs/WindowManager/Shell/res/values-th/strings.xml
index 77cd2e2..16372d2 100644
--- a/libs/WindowManager/Shell/res/values-th/strings.xml
+++ b/libs/WindowManager/Shell/res/values-th/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"ซ้าย 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"ซ้าย 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"เต็มหน้าจอทางขวา"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"สลับแอป"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"เต็มหน้าจอด้านบน"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"ด้านบน 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"ด้านบน 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"รีสตาร์ท"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"ไม่ต้องแสดงข้อความนี้อีก"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"แตะสองครั้ง\nเพื่อย้ายแอปนี้"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"ขยายใหญ่สุด"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"ย่อ"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"ปิด"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"กลับ"</string>
     <string name="handle_text" msgid="4419667835599523257">"แฮนเดิลแอป"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"ไอคอนแอป"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"ขยายหรือคืนค่าขนาดหน้าต่าง"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"ย่อหน้าต่างแอป"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"เปิดตามการตั้งค่าเริ่มต้น"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"เลือกวิธีเปิดเว็บลิงก์สำหรับแอปนี้"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"ในแอป"</string>
diff --git a/libs/WindowManager/Shell/res/values-tl/strings.xml b/libs/WindowManager/Shell/res/values-tl/strings.xml
index 056bc22..ad38be8 100644
--- a/libs/WindowManager/Shell/res/values-tl/strings.xml
+++ b/libs/WindowManager/Shell/res/values-tl/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Gawing 50% ang nasa kaliwa"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Gawing 30% ang nasa kaliwa"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"I-full screen ang nasa kanan"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Pagpalitin ang Mga App"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"I-full screen ang nasa itaas"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Gawing 70% ang nasa itaas"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Gawing 50% ang nasa itaas"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"I-restart"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Huwag nang ipakita ulit"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"I-double tap para\nilipat ang app na ito"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"I-maximize"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"I-minimize"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Isara"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Bumalik"</string>
     <string name="handle_text" msgid="4419667835599523257">"Handle ng app"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Icon ng App"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"I-maximize o i-restore ang laki ng window"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"I-minimize ang window ng app"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Buksan sa pamamagitan ng mga default na setting"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Piliin kung paano magbukas ng web link para sa app na ito"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Sa app"</string>
diff --git a/libs/WindowManager/Shell/res/values-tr/strings.xml b/libs/WindowManager/Shell/res/values-tr/strings.xml
index 017f6bb..2bc0a96 100644
--- a/libs/WindowManager/Shell/res/values-tr/strings.xml
+++ b/libs/WindowManager/Shell/res/values-tr/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Solda %50"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Solda %30"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Sağda tam ekran"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Uygulamaların Yerini Değiştir"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Üstte tam ekran"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Üstte %70"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Üstte %50"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Yeniden başlat"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Bir daha gösterme"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Bu uygulamayı taşımak için\niki kez dokunun"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Ekranı Kapla"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Küçült"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Kapat"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Geri"</string>
     <string name="handle_text" msgid="4419667835599523257">"Uygulama tanıtıcısı"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Uygulama Simgesi"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Pencereyi ekranı kaplayacak şekilde büyüt veya önceki boyutuna döndür"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Uygulama penceresini küçült"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Varsayılan olarak açma ayarları"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Bu uygulama için web bağlantılarının nasıl açılacağını seçin"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Uygulamada"</string>
diff --git a/libs/WindowManager/Shell/res/values-uk/strings.xml b/libs/WindowManager/Shell/res/values-uk/strings.xml
index 32ce4a0..c1aa82e 100644
--- a/libs/WindowManager/Shell/res/values-uk/strings.xml
+++ b/libs/WindowManager/Shell/res/values-uk/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Ліве вікно на 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Ліве вікно на 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Праве вікно на весь екран"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Поміняти додатки місцями"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Верхнє вікно на весь екран"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Верхнє вікно на 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Верхнє вікно на 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Перезапустити"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Більше не показувати"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Двічі торкніться, щоб\nперемістити цей додаток"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Збільшити"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Згорнути"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Закрити"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Назад"</string>
     <string name="handle_text" msgid="4419667835599523257">"Дескриптор додатка"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Значок додатка"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Розгорнути вікно або відновити його розмір"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Згорнути вікно додатка"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Налаштування \"Відкривати за умовчанням\""</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Виберіть, як відкривати вебпосилання в цьому додатку"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"У додатку"</string>
diff --git a/libs/WindowManager/Shell/res/values-ur/strings.xml b/libs/WindowManager/Shell/res/values-ur/strings.xml
index 4de0c47..1afb48d 100644
--- a/libs/WindowManager/Shell/res/values-ur/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ur/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"بائیں %50"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"بائیں %30"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"دائیں فل اسکرین"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"ایپس سویپ کریں"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"بالائی فل اسکرین"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"اوپر %70"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"اوپر %50"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"ری اسٹارٹ کریں"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"دوبارہ نہ دکھائیں"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"اس ایپ کو منتقل کرنے کیلئے\nدو بار تھپتھپائیں"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"بڑا کریں"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"چھوٹا کریں"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"بند کریں"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"پیچھے"</string>
     <string name="handle_text" msgid="4419667835599523257">"ایپ ہینڈل"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"ایپ کا آئیکن"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"ونڈو کا سائز زیادہ سے زیادہ یا بحال کریں"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"ایپ ونڈو کو چھوٹا کریں"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"بطور ڈیفالٹ ترتیبات کھولیں"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"اس ایپ کے لیے ویب لنکس کھولنے کا طریقہ منتخب کریں"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"ایپ میں"</string>
diff --git a/libs/WindowManager/Shell/res/values-uz/strings.xml b/libs/WindowManager/Shell/res/values-uz/strings.xml
index 8c0d9bb..04fd429 100644
--- a/libs/WindowManager/Shell/res/values-uz/strings.xml
+++ b/libs/WindowManager/Shell/res/values-uz/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Chapda 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Chapda 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"O‘ngda to‘liq ekran"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Ilovalarni almashtirish"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Tepada to‘liq ekran"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Tepada 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Tepada 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Qaytadan"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Boshqa chiqmasin"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Bu ilovani siljitish uchun\nikki marta bosing"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Yoyish"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Kichraytirish"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Yopish"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Orqaga"</string>
     <string name="handle_text" msgid="4419667835599523257">"Ilova identifikatori"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ilova belgisi"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Oyna oʻlchamini kengaytirish yoki asliga qaytarish"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Ilova oynasini kichraytirish"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Birlamchi sozlamalar asosida ochish"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Bu ilovalardagi veb havolalar qanday ochilishini tanlang"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Ilovada"</string>
diff --git a/libs/WindowManager/Shell/res/values-vi/strings.xml b/libs/WindowManager/Shell/res/values-vi/strings.xml
index 3455eed..169c2b7 100644
--- a/libs/WindowManager/Shell/res/values-vi/strings.xml
+++ b/libs/WindowManager/Shell/res/values-vi/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Trái 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Trái 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Toàn màn hình bên phải"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Hoán đổi ứng dụng"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Toàn màn hình phía trên"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Trên 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Trên 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Khởi động lại"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Không hiện lại"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Nhấn đúp để\ndi chuyển ứng dụng này"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Phóng to"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Thu nhỏ"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Đóng"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Quay lại"</string>
     <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>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Phóng to hoặc khôi phục kích thước cửa sổ"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Thu nhỏ cửa sổ ứng dụng"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Mở các chế độ cài đặt theo mặc định"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Chọn cách mở đường liên kết trang web cho ứng dụng này"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Trong ứng dụng"</string>
diff --git a/libs/WindowManager/Shell/res/values-zh-rCN/strings.xml b/libs/WindowManager/Shell/res/values-zh-rCN/strings.xml
index 369fa4b..942734a 100644
--- a/libs/WindowManager/Shell/res/values-zh-rCN/strings.xml
+++ b/libs/WindowManager/Shell/res/values-zh-rCN/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"左侧 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"左侧 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"右侧全屏"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"交换应用位置"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"顶部全屏"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"顶部 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"顶部 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"重启"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"不再显示"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"点按两次\n即可移动此应用"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"最大化"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"最小化"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"关闭"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"返回"</string>
     <string name="handle_text" msgid="4419667835599523257">"应用手柄"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"应用图标"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"将窗口最大化或恢复大小"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"将应用窗口最小化"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"默认打开设置"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"选择如何打开此应用中的网页链接"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"在此应用内"</string>
diff --git a/libs/WindowManager/Shell/res/values-zh-rHK/strings.xml b/libs/WindowManager/Shell/res/values-zh-rHK/strings.xml
index 8624f94d..f897922 100644
--- a/libs/WindowManager/Shell/res/values-zh-rHK/strings.xml
+++ b/libs/WindowManager/Shell/res/values-zh-rHK/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"左邊 50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"左邊 30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"右邊全螢幕"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"切換應用程式"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"頂部全螢幕"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"頂部 70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"頂部 50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"重新啟動"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"不要再顯示"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"輕按兩下\n即可移動此應用程式"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"最大化"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"最小化"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"關閉"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"返去"</string>
     <string name="handle_text" msgid="4419667835599523257">"應用程式控點"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"應用程式圖示"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"將視窗放到最大或者還原視窗大小"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"將應用程式視窗縮到最細"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"採用預設設定打開"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"選擇此應用程式開啟網絡連結的方式"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"在應用程式內"</string>
diff --git a/libs/WindowManager/Shell/res/values-zh-rTW/strings.xml b/libs/WindowManager/Shell/res/values-zh-rTW/strings.xml
index 199c102..3c6abec 100644
--- a/libs/WindowManager/Shell/res/values-zh-rTW/strings.xml
+++ b/libs/WindowManager/Shell/res/values-zh-rTW/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"以 50% 的螢幕空間顯示左側畫面"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"以 30% 的螢幕空間顯示左側畫面"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"以全螢幕顯示右側畫面"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"切換應用程式"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"以全螢幕顯示頂端畫面"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"以 70% 的螢幕空間顯示頂端畫面"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"以 50% 的螢幕空間顯示頂端畫面"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"重新啟動"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"不要再顯示"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"輕觸兩下即可\n移動這個應用程式"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"最大化"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"最小化"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"關閉"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"返回"</string>
     <string name="handle_text" msgid="4419667835599523257">"應用程式控制代碼"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"應用程式圖示"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"將視窗最大化或還原大小"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"將應用程式視窗最小化"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"開啟連結的預設設定"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"選擇如何開啟這個應用程式的網頁連結"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"使用應用程式"</string>
diff --git a/libs/WindowManager/Shell/res/values-zu/strings.xml b/libs/WindowManager/Shell/res/values-zu/strings.xml
index 8f40142..b304299 100644
--- a/libs/WindowManager/Shell/res/values-zu/strings.xml
+++ b/libs/WindowManager/Shell/res/values-zu/strings.xml
@@ -43,7 +43,10 @@
     <string name="accessibility_action_divider_left_50" msgid="3488317024557521561">"Kwesokunxele ngo-50%"</string>
     <string name="accessibility_action_divider_left_30" msgid="6023611335723838727">"Kwesokunxele ngo-30%"</string>
     <string name="accessibility_action_divider_right_full" msgid="3408505054325944903">"Isikrini esigcwele esingakwesokudla"</string>
-    <string name="accessibility_action_divider_swap" msgid="7026003137401725787">"Shintsha ama-app"</string>
+    <!-- no translation found for accessibility_action_divider_swap_vertical (3644891227133372072) -->
+    <skip />
+    <!-- no translation found for accessibility_action_divider_swap_horizontal (2722197605446631628) -->
+    <skip />
     <string name="accessibility_action_divider_top_full" msgid="3495871951082107594">"Isikrini esigcwele esiphezulu"</string>
     <string name="accessibility_action_divider_top_70" msgid="1779164068887875474">"Okuphezulu okungu-70%"</string>
     <string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Okuphezulu okungu-50%"</string>
@@ -112,9 +115,14 @@
     <string name="letterbox_restart_restart" msgid="8529976234412442973">"Qala kabusha"</string>
     <string name="letterbox_restart_dialog_checkbox_title" msgid="5252918008140768386">"Ungabonisi futhi"</string>
     <string name="letterbox_reachability_reposition_text" msgid="3522042240665748268">"Thepha kabili ukuze\nuhambise le-app"</string>
-    <string name="maximize_button_text" msgid="1650859196290301963">"Khulisa"</string>
-    <string name="minimize_button_text" msgid="271592547935841753">"Nciphisa"</string>
-    <string name="close_button_text" msgid="2913281996024033299">"Vala"</string>
+    <!-- no translation found for maximize_button_text (8106849394538234709) -->
+    <skip />
+    <!-- no translation found for restore_button_text (5377571986086775288) -->
+    <skip />
+    <!-- no translation found for minimize_button_text (5213953162664451152) -->
+    <skip />
+    <!-- no translation found for close_button_text (4544839489310949894) -->
+    <skip />
     <string name="back_button_text" msgid="1469718707134137085">"Emuva"</string>
     <string name="handle_text" msgid="4419667835599523257">"Inkomba ye-App"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Isithonjana Se-app"</string>
@@ -150,8 +158,14 @@
     <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>
-    <string name="maximize_button_talkback_action_maximize_restore_text" msgid="4122441323153198455">"Khulisa noma buyisela usayizi wewindi"</string>
-    <string name="minimize_button_talkback_action_maximize_restore_text" msgid="8890767445425625935">"Nciphisa iwindi le-app"</string>
+    <!-- no translation found for app_header_talkback_action_maximize_button_text (8776156791095878638) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_restore_button_text (2153022340772980863) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_minimize_button_text (7491054416186901764) -->
+    <skip />
+    <!-- no translation found for app_header_talkback_action_close_button_text (5159612596378268926) -->
+    <skip />
     <string name="open_by_default_settings_text" msgid="2526548548598185500">"Vula amasethingi ngokuzenzakalela"</string>
     <string name="open_by_default_dialog_subheader_text" msgid="1729599730664063881">"Khetha indlela yokuvula amalinki ewebhu ale app"</string>
     <string name="open_by_default_dialog_in_app_text" msgid="6978022419634199806">"Ku-app"</string>
diff --git a/libs/WindowManager/Shell/res/values/colors.xml b/libs/WindowManager/Shell/res/values/colors.xml
index d754243..8d18f95 100644
--- a/libs/WindowManager/Shell/res/values/colors.xml
+++ b/libs/WindowManager/Shell/res/values/colors.xml
@@ -68,4 +68,8 @@
     <color name="desktop_mode_caption_button_on_hover_light">#11000000</color>
     <color name="desktop_mode_caption_button_on_hover_dark">#11FFFFFF</color>
     <color name="desktop_mode_caption_button">#00000000</color>
+    <color name="tiling_divider_background_light">#C9C7B6</color>
+    <color name="tiling_divider_background_dark">#4A4739</color>
+    <color name="tiling_handle_background_light">#000000</color>
+    <color name="tiling_handle_background_dark">#FFFFFF</color>
 </resources>
diff --git a/libs/WindowManager/Shell/res/values/dimen.xml b/libs/WindowManager/Shell/res/values/dimen.xml
index a0c68ad..32660e8 100644
--- a/libs/WindowManager/Shell/res/values/dimen.xml
+++ b/libs/WindowManager/Shell/res/values/dimen.xml
@@ -618,6 +618,15 @@
     <!-- The vertical inset to apply to the app chip's ripple drawable -->
     <dimen name="desktop_mode_header_app_chip_ripple_inset_vertical">4dp</dimen>
 
+     <!-- The corner radius of the windowing actions pill buttons's ripple drawable -->
+     <dimen name="desktop_mode_handle_menu_windowing_action_ripple_radius">24dp</dimen>
+     <!-- The horizontal/vertical inset to apply to the ripple drawable effect of windowing
+     actions pill central buttons -->
+     <dimen name="desktop_mode_handle_menu_windowing_action_ripple_inset_base">2dp</dimen>
+     <!-- The horizontal/vertical vertical inset to apply to the ripple drawable effect of windowing
+     actions pill edge buttons -->
+     <dimen name="desktop_mode_handle_menu_windowing_action_ripple_inset_shift">4dp</dimen>
+
     <!-- The corner radius of the minimize button's ripple drawable -->
     <dimen name="desktop_mode_header_minimize_ripple_radius">18dp</dimen>
     <!-- The vertical inset to apply to the minimize button's ripple drawable -->
diff --git a/libs/WindowManager/Shell/res/values/strings.xml b/libs/WindowManager/Shell/res/values/strings.xml
index 1b7daa8..2179128 100644
--- a/libs/WindowManager/Shell/res/values/strings.xml
+++ b/libs/WindowManager/Shell/res/values/strings.xml
@@ -91,7 +91,8 @@
     <!-- Accessibility action for moving docked stack divider to make the right screen full screen [CHAR LIMIT=NONE] -->
     <string name="accessibility_action_divider_right_full">Right full screen</string>
     <!-- Accessibility action for swapping the apps around the divider (double tap action) [CHAR LIMIT=NONE] -->
-    <string name="accessibility_action_divider_swap">Swap Apps</string>
+    <string name="accessibility_action_divider_swap_vertical">Swap top app with bottom</string>
+    <string name="accessibility_action_divider_swap_horizontal">Swap left app with right</string>
 
     <!-- Accessibility action for moving docked stack divider to make the top screen full screen [CHAR LIMIT=NONE] -->
     <string name="accessibility_action_divider_top_full">Top full screen</string>
@@ -276,11 +277,13 @@
 
     <!-- Freeform window caption strings -->
     <!-- Accessibility text for the maximize window button [CHAR LIMIT=NONE] -->
-    <string name="maximize_button_text">Maximize</string>
+    <string name="maximize_button_text">Maximize <xliff:g id="app_name" example="Chrome">%1$s</xliff:g></string>
+    <!-- Accessibility text for the restore window button [CHAR LIMIT=NONE] -->
+    <string name="restore_button_text">Restore <xliff:g id="app_name" example="Chrome">%1$s</xliff:g></string>
      <!-- Accessibility text for the minimize window button [CHAR LIMIT=NONE] -->
-     <string name="minimize_button_text">Minimize</string>
+     <string name="minimize_button_text">Minimize <xliff:g id="app_name" example="Chrome">%1$s</xliff:g></string>
     <!-- Accessibility text for the close window button [CHAR LIMIT=NONE] -->
-    <string name="close_button_text">Close</string>
+    <string name="close_button_text">Close <xliff:g id="app_name" example="Chrome">%1$s</xliff:g></string>
     <!-- Accessibility text for the caption back button [CHAR LIMIT=NONE] -->
     <string name="back_button_text">Back</string>
     <!-- Accessibility text for the caption handle [CHAR LIMIT=NONE] -->
@@ -352,10 +355,14 @@
     <string name="maximize_menu_talkback_action_snap_right_text">Resize window to right</string>
     <!-- Accessibility action replacement for maximize menu enter maximize/restore button [CHAR LIMIT=NONE] -->
     <string name="maximize_menu_talkback_action_maximize_restore_text">Maximize or restore window size</string>
-    <!-- Accessibility action replacement for app header maximize/restore button [CHAR LIMIT=NONE] -->
-    <string name="maximize_button_talkback_action_maximize_restore_text">Maximize or restore window size</string>
+    <!-- Accessibility action replacement for app header maximize button [CHAR LIMIT=NONE] -->
+    <string name="app_header_talkback_action_maximize_button_text">Maximize app window size</string>
+    <!-- Accessibility action replacement for app header restore button [CHAR LIMIT=NONE] -->
+    <string name="app_header_talkback_action_restore_button_text">Restore window size</string>
     <!-- Accessibility action replacement for app header minimize button [CHAR LIMIT=NONE] -->
-    <string name="minimize_button_talkback_action_maximize_restore_text">Minimize app window</string>
+    <string name="app_header_talkback_action_minimize_button_text">Minimize app window</string>
+    <!-- Accessibility action replacement for app header close button [CHAR LIMIT=NONE] -->
+    <string name="app_header_talkback_action_close_button_text">Close app window</string>
 
     <!-- Accessibility text for open by default settings button [CHAR LIMIT=NONE] -->
     <string name="open_by_default_settings_text">Open by default settings</string>
diff --git a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeCompatPolicy.kt b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeCompatPolicy.kt
index 0e4a6b9..9ea0532 100644
--- a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeCompatPolicy.kt
+++ b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeCompatPolicy.kt
@@ -38,6 +38,8 @@
         get() = context.getPackageManager()
     private val defaultHomePackage: String?
         get() = pkgManager.getHomeActivities(ArrayList())?.packageName
+    private val packageInfoCache = mutableMapOf<String, Boolean>()
+
 
     /**
      * If the top activity should be exempt from desktop windowing and forced back to fullscreen.
@@ -94,14 +96,16 @@
             if (packageName == null) {
                 return false
             }
-            return try {
-                val packageInfo = pkgManager.getPackageInfo(
-                    packageName,
-                    PackageManager.GET_PERMISSIONS
-                )
-                packageInfo?.requestedPermissions?.contains(SYSTEM_ALERT_WINDOW) == true
-            } catch (e: PackageManager.NameNotFoundException) {
-                false // Package not found
+            return packageInfoCache.getOrPut(packageName) {
+                try {
+                    val packageInfo = pkgManager.getPackageInfo(
+                        packageName,
+                        PackageManager.GET_PERMISSIONS
+                    )
+                    packageInfo?.requestedPermissions?.contains(SYSTEM_ALERT_WINDOW) == true
+                } catch (e: PackageManager.NameNotFoundException) {
+                    false // Package not found
+                }
             }
         }
         // If the flag is disabled we make this condition neutral.
diff --git a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeStatus.java b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeStatus.java
index 00c446c..2e33253 100644
--- a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeStatus.java
+++ b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeStatus.java
@@ -22,6 +22,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.app.TaskInfo;
 import android.content.Context;
 import android.hardware.display.DisplayManager;
 import android.os.SystemProperties;
@@ -287,6 +288,16 @@
     }
 
     /**
+     * @return If {@code true} we set opaque background for all freeform tasks to prevent freeform
+     * tasks below from being visible if freeform task window above is translucent.
+     * Otherwise if fluid resize is enabled, add a background to freeform tasks.
+     */
+    public static boolean shouldSetBackground(@NonNull TaskInfo taskInfo) {
+        return taskInfo.isFreeform() && (!DesktopModeStatus.isVeiledResizeEnabled()
+                || DesktopModeFlags.ENABLE_OPAQUE_BACKGROUND_FOR_TRANSPARENT_WINDOWS.isTrue());
+    }
+
+    /**
      * @return {@code true} if the app handle should be shown because desktop mode is enabled or
      * the device has a large screen
      */
@@ -374,7 +385,7 @@
      * of the display's root [TaskDisplayArea] is set to WINDOWING_MODE_FREEFORM.
      */
     public static boolean enterDesktopByDefaultOnFreeformDisplay(@NonNull Context context) {
-        if (!Flags.enterDesktopByDefaultOnFreeformDisplays()) {
+        if (!DesktopExperienceFlags.ENTER_DESKTOP_BY_DEFAULT_ON_FREEFORM_DISPLAYS.isTrue()) {
             return false;
         }
         return SystemProperties.getBoolean(ENTER_DESKTOP_BY_DEFAULT_ON_FREEFORM_DISPLAY_SYS_PROP,
@@ -387,7 +398,7 @@
      * screen.
      */
     public static boolean shouldMaximizeWhenDragToTopEdge(@NonNull Context context) {
-        if (!Flags.enableDragToMaximize()) {
+        if (!DesktopExperienceFlags.ENABLE_DRAG_TO_MAXIMIZE.isTrue()) {
             return false;
         }
         return SystemProperties.getBoolean(ENABLE_DRAG_TO_MAXIMIZE_SYS_PROP,
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationAdapter.java b/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationAdapter.java
index 5355138..26c3626 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationAdapter.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationAdapter.java
@@ -147,10 +147,9 @@
     /** To be overridden by subclasses to adjust the animation surface change. */
     void onAnimationUpdateInner(@NonNull SurfaceControl.Transaction t) {
         // Update the surface position and alpha.
-        if (com.android.graphics.libgui.flags.Flags.edgeExtensionShader()
-                && mAnimation.getExtensionEdges() != 0x0
+        if (mAnimation.getExtensionEdges() != 0x0
                 && !(mChange.hasFlags(FLAG_TRANSLUCENT)
-                        && mChange.getActivityComponent() != null)) {
+                && mChange.getActivityComponent() != null)) {
             // Extend non-translucent activities
             t.setEdgeExtensionEffect(mLeash, mAnimation.getExtensionEdges());
         }
@@ -189,8 +188,7 @@
     @CallSuper
     void onAnimationEnd(@NonNull SurfaceControl.Transaction t) {
         onAnimationUpdate(t, mAnimation.getDuration());
-        if (com.android.graphics.libgui.flags.Flags.edgeExtensionShader()
-                && mAnimation.getExtensionEdges() != 0x0) {
+        if (mAnimation.getExtensionEdges() != 0x0) {
             t.setEdgeExtensionEffect(mLeash, /* edge */ 0);
         }
     }
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 78f5154..85b7ac2 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
@@ -20,11 +20,9 @@
 import static android.view.WindowManager.TRANSIT_CLOSE;
 import static android.view.WindowManagerPolicyConstants.TYPE_LAYER_OFFSET;
 import static android.window.TransitionInfo.FLAG_IS_BEHIND_STARTING_WINDOW;
-import static android.window.TransitionInfo.FLAG_TRANSLUCENT;
 
 import static com.android.wm.shell.activityembedding.ActivityEmbeddingAnimationSpec.createShowSnapshotForClosingAnimation;
 import static com.android.wm.shell.transition.TransitionAnimationHelper.addBackgroundToTransition;
-import static com.android.wm.shell.transition.TransitionAnimationHelper.edgeExtendWindow;
 import static com.android.wm.shell.transition.TransitionAnimationHelper.getTransitionBackgroundColorIfSet;
 import static com.android.wm.shell.transition.Transitions.TRANSIT_TASK_FRAGMENT_DRAG_RESIZE;
 
@@ -46,7 +44,6 @@
 import androidx.annotation.Nullable;
 
 import com.android.internal.annotations.VisibleForTesting;
-import com.android.window.flags.Flags;
 import com.android.wm.shell.activityembedding.ActivityEmbeddingAnimationAdapter.SnapshotAdapter;
 import com.android.wm.shell.common.ScreenshotUtils;
 import com.android.wm.shell.shared.TransitionUtil;
@@ -144,10 +141,6 @@
             // ending states.
             prepareForJumpCut(info, startTransaction);
         } else {
-            if (!com.android.graphics.libgui.flags.Flags.edgeExtensionShader()) {
-                addEdgeExtensionIfNeeded(startTransaction, finishTransaction,
-                        postStartTransactionCallbacks, adapters);
-            }
             addBackgroundColorIfNeeded(info, startTransaction, finishTransaction, adapters);
             for (ActivityEmbeddingAnimationAdapter adapter : adapters) {
                 duration = Math.max(duration, adapter.getDurationHint());
@@ -330,34 +323,6 @@
         }
     }
 
-    /** Adds edge extension to the surfaces that have such an animation property. */
-    private void addEdgeExtensionIfNeeded(@NonNull SurfaceControl.Transaction startTransaction,
-            @NonNull SurfaceControl.Transaction finishTransaction,
-            @NonNull List<Consumer<SurfaceControl.Transaction>> postStartTransactionCallbacks,
-            @NonNull List<ActivityEmbeddingAnimationAdapter> adapters) {
-        for (ActivityEmbeddingAnimationAdapter adapter : adapters) {
-            final Animation animation = adapter.mAnimation;
-            if (animation.getExtensionEdges() == 0) {
-                continue;
-            }
-            if (adapter.mChange.hasFlags(FLAG_TRANSLUCENT)
-                    && adapter.mChange.getActivityComponent() != null) {
-                // Skip edge extension for translucent activity.
-                continue;
-            }
-            final TransitionInfo.Change change = adapter.mChange;
-            if (TransitionUtil.isOpeningType(adapter.mChange.getMode())) {
-                // Need to screenshot after startTransaction is applied otherwise activity
-                // may not be visible or ready yet.
-                postStartTransactionCallbacks.add(
-                        t -> edgeExtendWindow(change, animation, t, finishTransaction));
-            } else {
-                // Can screenshot now (before startTransaction is applied)
-                edgeExtendWindow(change, animation, startTransaction, finishTransaction);
-            }
-        }
-    }
-
     /** Adds background color to the transition if any animation has such a property. */
     private void addBackgroundColorIfNeeded(@NonNull TransitionInfo info,
             @NonNull SurfaceControl.Transaction startTransaction,
@@ -443,7 +408,7 @@
                 }
             }
 
-            calculateParentBounds(change, boundsAnimationChange, parentBounds);
+            calculateParentBounds(change, parentBounds);
             // 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 =
@@ -529,32 +494,19 @@
      */
     @VisibleForTesting
     static void calculateParentBounds(@NonNull TransitionInfo.Change change,
-              @NonNull TransitionInfo.Change boundsAnimationChange, @NonNull Rect outParentBounds) {
-        if (Flags.activityEmbeddingOverlayPresentationFlag()) {
-            final Point endParentSize = change.getEndParentSize();
-            if (endParentSize.equals(0, 0)) {
-                return;
-            }
-            final Point endRelPosition = change.getEndRelOffset();
-            final Point endAbsPosition = new Point(change.getEndAbsBounds().left,
-                    change.getEndAbsBounds().top);
-            final Point parentEndAbsPosition = new Point(endAbsPosition.x - endRelPosition.x,
-                    endAbsPosition.y - endRelPosition.y);
-            outParentBounds.set(parentEndAbsPosition.x, parentEndAbsPosition.y,
-                    parentEndAbsPosition.x + endParentSize.x,
-                    parentEndAbsPosition.y + endParentSize.y);
-        } else {
-            // The TaskFragment may be enter/exit split, so we take the union of both as
-            // the parent size.
-            outParentBounds.union(boundsAnimationChange.getStartAbsBounds());
-            outParentBounds.union(boundsAnimationChange.getEndAbsBounds());
-            if (boundsAnimationChange != change) {
-                // Union the change starting bounds in case the activity is resized and
-                // reparented to a TaskFragment. In that case, the TaskFragment may not cover
-                // the activity's starting bounds.
-                outParentBounds.union(change.getStartAbsBounds());
-            }
+            @NonNull Rect outParentBounds) {
+        final Point endParentSize = change.getEndParentSize();
+        if (endParentSize.equals(0, 0)) {
+            return;
         }
+        final Point endRelPosition = change.getEndRelOffset();
+        final Point endAbsPosition = new Point(change.getEndAbsBounds().left,
+                change.getEndAbsBounds().top);
+        final Point parentEndAbsPosition = new Point(endAbsPosition.x - endRelPosition.x,
+                endAbsPosition.y - endRelPosition.y);
+        outParentBounds.set(parentEndAbsPosition.x, parentEndAbsPosition.y,
+                parentEndAbsPosition.x + endParentSize.x,
+                parentEndAbsPosition.y + endParentSize.y);
     }
 
     /**
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/apptoweb/OWNERS b/libs/WindowManager/Shell/src/com/android/wm/shell/apptoweb/OWNERS
index 6207e5b0..7e55786 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/apptoweb/OWNERS
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/apptoweb/OWNERS
@@ -4,5 +4,4 @@
 mattsziklay@google.com
 mdehaini@google.com
 pbdr@google.com
-tkachenkoi@google.com
 vaniadesmonda@google.com
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 313d151..d948928 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(intent.getIntent().getPackage(), user),
+                /* key= */ getAppBubbleKeyForApp(ComponentUtils.getPackageName(intent), user),
                 mainExecutor, bgExecutor);
     }
 
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java
index 305fcdd..be22402 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java
@@ -117,6 +117,7 @@
 import com.android.wm.shell.shared.annotations.ShellMainThread;
 import com.android.wm.shell.shared.bubbles.BubbleAnythingFlagHelper;
 import com.android.wm.shell.shared.bubbles.BubbleBarLocation;
+import com.android.wm.shell.shared.bubbles.BubbleBarLocation.UpdateSource;
 import com.android.wm.shell.shared.bubbles.BubbleBarUpdate;
 import com.android.wm.shell.shared.bubbles.BubbleDropTargetBoundsProvider;
 import com.android.wm.shell.shared.bubbles.DeviceConfig;
@@ -795,7 +796,7 @@
      * Update bubble bar location and trigger and update to listeners
      */
     public void setBubbleBarLocation(BubbleBarLocation bubbleBarLocation,
-            @BubbleBarLocation.UpdateSource int source) {
+            @UpdateSource int source) {
         if (isShowingAsBubbleBar()) {
             updateExpandedViewForBubbleBarLocation(bubbleBarLocation, source);
             BubbleBarUpdate bubbleBarUpdate = new BubbleBarUpdate();
@@ -805,7 +806,7 @@
     }
 
     private void updateExpandedViewForBubbleBarLocation(BubbleBarLocation bubbleBarLocation,
-            @BubbleBarLocation.UpdateSource int source) {
+            @UpdateSource int source) {
         if (isShowingAsBubbleBar()) {
             BubbleBarLocation previousLocation = mBubblePositioner.getBubbleBarLocation();
             mBubblePositioner.setBubbleBarLocation(bubbleBarLocation);
@@ -818,7 +819,7 @@
 
     private void logBubbleBarLocationIfChanged(BubbleBarLocation location,
             BubbleBarLocation previous,
-            @BubbleBarLocation.UpdateSource int source) {
+            @UpdateSource int source) {
         if (mLayerView == null) {
             return;
         }
@@ -830,25 +831,25 @@
             return;
         }
         switch (source) {
-            case BubbleBarLocation.UpdateSource.DRAG_BAR:
-            case BubbleBarLocation.UpdateSource.A11Y_ACTION_BAR:
+            case UpdateSource.DRAG_BAR:
+            case UpdateSource.A11Y_ACTION_BAR:
                 mLogger.log(onLeft ? BubbleLogger.Event.BUBBLE_BAR_MOVED_LEFT_DRAG_BAR
                         : BubbleLogger.Event.BUBBLE_BAR_MOVED_RIGHT_DRAG_BAR);
                 break;
-            case BubbleBarLocation.UpdateSource.DRAG_BUBBLE:
-            case BubbleBarLocation.UpdateSource.A11Y_ACTION_BUBBLE:
+            case UpdateSource.DRAG_BUBBLE:
+            case UpdateSource.A11Y_ACTION_BUBBLE:
                 mLogger.log(onLeft ? BubbleLogger.Event.BUBBLE_BAR_MOVED_LEFT_DRAG_BUBBLE
                         : BubbleLogger.Event.BUBBLE_BAR_MOVED_RIGHT_DRAG_BUBBLE);
                 break;
-            case BubbleBarLocation.UpdateSource.DRAG_EXP_VIEW:
-            case BubbleBarLocation.UpdateSource.A11Y_ACTION_EXP_VIEW:
+            case UpdateSource.DRAG_EXP_VIEW:
+            case UpdateSource.A11Y_ACTION_EXP_VIEW:
                 // TODO(b/349845968): move logging from BubbleBarLayerView to here
                 break;
-            case BubbleBarLocation.UpdateSource.APP_ICON_DRAG:
+            case UpdateSource.APP_ICON_DRAG:
                 mLogger.log(onLeft ? BubbleLogger.Event.BUBBLE_BAR_MOVED_LEFT_APP_ICON_DROP
                         : BubbleLogger.Event.BUBBLE_BAR_MOVED_RIGHT_APP_ICON_DROP);
                 break;
-            case BubbleBarLocation.UpdateSource.DRAG_TASK:
+            case UpdateSource.DRAG_TASK:
                 mLogger.log(onLeft ? BubbleLogger.Event.BUBBLE_BAR_MOVED_LEFT_DRAG_TASK
                         : BubbleLogger.Event.BUBBLE_BAR_MOVED_RIGHT_DRAG_TASK);
                 break;
@@ -872,10 +873,7 @@
         if (bubbleBarLocation == null) return;
         if (isShowingAsBubbleBar() && BubbleAnythingFlagHelper.enableCreateAnyBubble()) {
             mBubbleStateListener.onDragItemOverBubbleBarDragZone(bubbleBarLocation);
-            ensureBubbleViewsAndWindowCreated();
-            if (mLayerView != null) {
-                mLayerView.showBubbleBarExtendedViewDropTarget(bubbleBarLocation);
-            }
+            showBubbleBarExpandedViewDropTarget(bubbleBarLocation);
         }
     }
 
@@ -921,6 +919,13 @@
         return result;
     }
 
+    private void showBubbleBarExpandedViewDropTarget(BubbleBarLocation bubbleBarLocation) {
+        ensureBubbleViewsAndWindowCreated();
+        if (mLayerView != null) {
+            mLayerView.showBubbleBarExtendedViewDropTarget(bubbleBarLocation);
+        }
+    }
+
     private void hideBubbleBarExpandedViewDropTarget() {
         if (mLayerView != null) {
             mLayerView.hideBubbleBarExpandedViewDropTarget();
@@ -1541,20 +1546,9 @@
     public void expandStackAndSelectBubble(ShortcutInfo info,
             @Nullable BubbleBarLocation bubbleBarLocation) {
         if (!BubbleAnythingFlagHelper.enableCreateAnyBubble()) return;
-        BubbleBarLocation updateLocation = isShowingAsBubbleBar() ? bubbleBarLocation : null;
-        if (updateLocation != null) {
-            updateExpandedViewForBubbleBarLocation(updateLocation,
-                    BubbleBarLocation.UpdateSource.APP_ICON_DRAG);
-        }
         Bubble b = mBubbleData.getOrCreateBubble(info); // Removes from overflow
         ProtoLog.v(WM_SHELL_BUBBLES, "expandStackAndSelectBubble - shortcut=%s", info);
-        if (b.isInflated()) {
-            mBubbleData.setSelectedBubbleAndExpandStack(b, updateLocation);
-        } else {
-            b.enable(Notification.BubbleMetadata.FLAG_AUTO_EXPAND_BUBBLE);
-            inflateAndAdd(b, /* suppressFlyout= */ true, /* showInShade= */ false,
-                    updateLocation);
-        }
+        expandStackAndSelectAppBubble(b, bubbleBarLocation, UpdateSource.APP_ICON_DRAG);
     }
 
     /**
@@ -1562,16 +1556,12 @@
      *
      * @param intent the intent for the bubble.
      */
-    public void expandStackAndSelectBubble(Intent intent, UserHandle user) {
+    public void expandStackAndSelectBubble(Intent intent, UserHandle user,
+            @Nullable BubbleBarLocation bubbleBarLocation) {
         if (!BubbleAnythingFlagHelper.enableCreateAnyBubble()) return;
         Bubble b = mBubbleData.getOrCreateBubble(intent, user); // Removes from overflow
         ProtoLog.v(WM_SHELL_BUBBLES, "expandStackAndSelectBubble - intent=%s", intent);
-        if (b.isInflated()) {
-            mBubbleData.setSelectedBubbleAndExpandStack(b);
-        } else {
-            b.enable(Notification.BubbleMetadata.FLAG_AUTO_EXPAND_BUBBLE);
-            inflateAndAdd(b, /* suppressFlyout= */ true, /* showInShade= */ false);
-        }
+        expandStackAndSelectAppBubble(b, bubbleBarLocation, UpdateSource.APP_ICON_DRAG);
     }
 
     /**
@@ -1583,14 +1573,19 @@
     public void expandStackAndSelectBubble(PendingIntent pendingIntent, UserHandle user,
             @Nullable BubbleBarLocation bubbleBarLocation) {
         if (!BubbleAnythingFlagHelper.enableCreateAnyBubble()) return;
-        BubbleBarLocation updateLocation = isShowingAsBubbleBar() ? bubbleBarLocation : null;
-        if (updateLocation != null) {
-            updateExpandedViewForBubbleBarLocation(updateLocation,
-                    BubbleBarLocation.UpdateSource.APP_ICON_DRAG);
-        }
-        Bubble b = mBubbleData.getOrCreateBubble(pendingIntent, user);
+        Bubble b = mBubbleData.getOrCreateBubble(pendingIntent, user); // Removes from overflow
         ProtoLog.v(WM_SHELL_BUBBLES, "expandStackAndSelectBubble - pendingIntent=%s",
                 pendingIntent);
+        expandStackAndSelectAppBubble(b, bubbleBarLocation, UpdateSource.APP_ICON_DRAG);
+    }
+
+    private void expandStackAndSelectAppBubble(Bubble b,
+            @Nullable BubbleBarLocation bubbleBarLocation, @UpdateSource int source) {
+        if (!BubbleAnythingFlagHelper.enableCreateAnyBubble()) return;
+        BubbleBarLocation updateLocation = isShowingAsBubbleBar() ? bubbleBarLocation : null;
+        if (updateLocation != null) {
+            updateExpandedViewForBubbleBarLocation(updateLocation, source);
+        }
         if (b.isInflated()) {
             mBubbleData.setSelectedBubbleAndExpandStack(b, updateLocation);
         } else {
@@ -1623,7 +1618,7 @@
             }
         } else {
             if (location != null) {
-                setBubbleBarLocation(location, BubbleBarLocation.UpdateSource.DRAG_TASK);
+                setBubbleBarLocation(location, UpdateSource.DRAG_TASK);
             }
             b.enable(Notification.BubbleMetadata.FLAG_AUTO_EXPAND_BUBBLE);
             // Lazy init stack view when a bubble is created
@@ -2840,14 +2835,16 @@
         }
 
         @Override
-        public void showShortcutBubble(ShortcutInfo info) {
+        public void showShortcutBubble(ShortcutInfo info, @Nullable BubbleBarLocation location) {
             mMainExecutor.execute(() -> mController
-                    .expandStackAndSelectBubble(info, /* bubbleBarLocation = */ null));
+                    .expandStackAndSelectBubble(info, location));
         }
 
         @Override
-        public void showAppBubble(Intent intent, UserHandle user) {
-            mMainExecutor.execute(() -> mController.expandStackAndSelectBubble(intent, user));
+        public void showAppBubble(Intent intent, UserHandle user,
+                @Nullable BubbleBarLocation location) {
+            mMainExecutor.execute(
+                    () -> mController.expandStackAndSelectBubble(intent, user, location));
         }
 
         @Override
@@ -2900,7 +2897,7 @@
 
         @Override
         public void setBubbleBarLocation(BubbleBarLocation location,
-                @BubbleBarLocation.UpdateSource int source) {
+                @UpdateSource int source) {
             mMainExecutor.execute(() ->
                     mController.setBubbleBarLocation(location, source));
         }
@@ -2921,6 +2918,17 @@
                 }
             });
         }
+
+        @Override
+        public void showDropTarget(boolean show, BubbleBarLocation location) {
+            mMainExecutor.execute(() -> {
+                if (show) {
+                    showBubbleBarExpandedViewDropTarget(location);
+                } else {
+                    hideBubbleBarExpandedViewDropTarget();
+                }
+            });
+        }
     }
 
     private class BubblesImpl implements Bubbles {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubbles.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubbles.java
index 44ae744..133af2a 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubbles.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubbles.java
@@ -214,7 +214,8 @@
      *
      * @param entry          the {@link BubbleEntry} by the notification.
      * @param shouldBubbleUp {@code true} if this notification should bubble up.
-     * @param fromSystem     {@code true} if this update is from NotificationManagerService.
+     * @param fromSystem     {@code true} if this update is from NotificationManagerService or App,
+     *                                   false means this update is from SystemUi
      */
     void onEntryUpdated(BubbleEntry entry, boolean shouldBubbleUp, boolean fromSystem);
 
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/IBubbles.aidl b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/IBubbles.aidl
index 0a4d79a..ae1b407 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/IBubbles.aidl
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/IBubbles.aidl
@@ -51,9 +51,11 @@
 
     oneway void stopBubbleDrag(in BubbleBarLocation location, in int topOnScreen) = 11;
 
-    oneway void showShortcutBubble(in ShortcutInfo info) = 12;
+    oneway void showShortcutBubble(in ShortcutInfo info, in @nullable BubbleBarLocation location) = 12;
 
-    oneway void showAppBubble(in Intent intent, in UserHandle user) = 13;
+    oneway void showAppBubble(in Intent intent, in UserHandle user, in @nullable BubbleBarLocation location) = 13;
 
     oneway void showExpandedView() = 14;
+
+    oneway void showDropTarget(in boolean show, in @nullable BubbleBarLocation location) = 15;
 }
\ No newline at end of file
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarLayerView.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarLayerView.java
index 29837dc..677c21c 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarLayerView.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/bar/BubbleBarLayerView.java
@@ -473,7 +473,7 @@
 
     /** Updates the expanded view size and position. */
     public void updateExpandedView() {
-        if (mExpandedView == null || mExpandedBubble == null) return;
+        if (mExpandedView == null || mExpandedBubble == null || mExpandedView.isAnimating()) return;
         boolean isOverflowExpanded = mExpandedBubble.getKey().equals(BubbleOverflow.KEY);
         mPositioner.getBubbleBarExpandedViewBounds(mPositioner.isBubbleBarOnLeft(),
                 isOverflowExpanded, mTempRect);
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 df82091..dd2050a 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
@@ -461,6 +461,14 @@
             }
         }
 
+        private void setAnimating(boolean imeAnimationOngoing) {
+            int animatingTypes = imeAnimationOngoing ? WindowInsets.Type.ime() : 0;
+            try {
+                mWmService.updateDisplayWindowAnimatingTypes(mDisplayId, animatingTypes);
+            } catch (RemoteException e) {
+            }
+        }
+
         private int imeTop(float surfaceOffset, float surfacePositionY) {
             // surfaceOffset is already offset by the surface's top inset, so we need to subtract
             // the top inset so that the return value is in screen coordinates.
@@ -619,6 +627,9 @@
                                 + imeTop(hiddenY, defaultY) + "->" + imeTop(shownY, defaultY)
                                 + " showing:" + (mAnimationDirection == DIRECTION_SHOW));
                     }
+                    if (android.view.inputmethod.Flags.reportAnimatingInsetsTypes()) {
+                        setAnimating(true);
+                    }
                     int flags = dispatchStartPositioning(mDisplayId, imeTop(hiddenY, defaultY),
                             imeTop(shownY, defaultY), mAnimationDirection == DIRECTION_SHOW,
                             isFloating, t);
@@ -666,6 +677,8 @@
                     }
                     if (!android.view.inputmethod.Flags.refactorInsetsController()) {
                         dispatchEndPositioning(mDisplayId, mCancelled, t);
+                    } else if (android.view.inputmethod.Flags.reportAnimatingInsetsTypes()) {
+                        setAnimating(false);
                     }
                     if (mAnimationDirection == DIRECTION_HIDE && !mCancelled) {
                         ImeTracker.forLogging().onProgress(mStatsToken,
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipBoundsState.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipBoundsState.java
index c487f75..214e6ad 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipBoundsState.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipBoundsState.java
@@ -377,6 +377,16 @@
 
     /** Sets the preferred size of PIP as specified by the activity in PIP mode. */
     public void setOverrideMinSize(@Nullable Size overrideMinSize) {
+        if (overrideMinSize != null) {
+            final Size defaultSize = mSizeSpecSource.getDefaultSize(getAspectRatio());
+            if (overrideMinSize.getWidth() > defaultSize.getWidth()
+                    || overrideMinSize.getHeight() > defaultSize.getHeight()) {
+                ProtoLog.w(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE,
+                        "Ignore override min size(%s): larger than default size (%s)",
+                        overrideMinSize, defaultSize);
+                return;
+            }
+        }
         final boolean changed = !Objects.equals(overrideMinSize, getOverrideMinSize());
         mSizeSpecSource.setOverrideMinSize(overrideMinSize);
         if (changed && mOnMinimalSizeChangeCallback != null) {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipDesktopState.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipDesktopState.java
index c6afc31..b507ca2 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipDesktopState.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipDesktopState.java
@@ -88,7 +88,7 @@
             return false;
         }
         final int displayId = mPipDisplayLayoutState.getDisplayId();
-        return getDesktopRepository().getVisibleTaskCount(displayId) > 0
+        return getDesktopRepository().isAnyDeskActive(displayId)
                 || getDesktopWallpaperActivityTokenProvider().isWallpaperActivityVisible(displayId)
                 || isDisplayInFreeform();
     }
@@ -100,7 +100,7 @@
             return false;
         }
         final DesktopRepository desktopRepository = getDesktopRepository();
-        return desktopRepository.getVisibleTaskCount(pipTask.getDisplayId()) > 0
+        return desktopRepository.isAnyDeskActive(pipTask.getDisplayId())
                 || desktopRepository.isMinimizedPipPresentInDisplay(pipTask.getDisplayId());
     }
 
@@ -114,7 +114,7 @@
             return false;
         }
         final int displayId = mPipDisplayLayoutState.getDisplayId();
-        return getDesktopRepository().getVisibleTaskCount(displayId) == 0
+        return !getDesktopRepository().isAnyDeskActive(displayId)
                 && getDesktopWallpaperActivityTokenProvider().isWallpaperActivityVisible(displayId);
     }
 
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/DividerHandleView.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/DividerHandleView.java
index 6c04e2a..d304e20 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/DividerHandleView.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/DividerHandleView.java
@@ -80,7 +80,19 @@
     private int mHoveringWidth;
     private int mHoveringHeight;
     private boolean mIsLeftRightSplit;
+    private boolean mIsSplitScreen;
 
+    /**
+     * Notifies the divider of ui mode change.
+     *
+     * @param isDarkMode Whether the mode is ui dark mode.
+     */
+    public void onUiModeChange(boolean isDarkMode) {
+        if (!mIsSplitScreen) {
+            mPaint.setColor(getTilingHandleColor(isDarkMode));
+            invalidate();
+        }
+    }
     public DividerHandleView(Context context, @Nullable AttributeSet attrs) {
         super(context, attrs);
         mPaint.setColor(getResources().getColor(R.color.docked_divider_handle, null));
@@ -103,6 +115,27 @@
         mHoveringHeight = mHeight > mWidth ? ((int) (mHeight * 1.5f)) : mHeight;
     }
 
+    /**
+     * Used by tiling infrastructure to specify display light/dark mode and
+     * whether handle colors should be overridden on display mode change in case
+     * of non split screen.
+     * @param isSplitScreen Whether the divider is used by split screen or tiling.
+     * @param isDarkMode Whether the mode is ui dark mode.
+     */
+    public void setup(boolean isSplitScreen, boolean isDarkMode) {
+        mIsSplitScreen = isSplitScreen;
+        if (!mIsSplitScreen) {
+            mPaint.setColor(getTilingHandleColor(isDarkMode));
+            setAlpha(.9f);
+        }
+    }
+
+    private int getTilingHandleColor(Boolean isDarkMode) {
+        return isDarkMode ? getResources().getColor(
+                R.color.tiling_handle_background_dark, null /* theme */) : getResources().getColor(
+                R.color.tiling_handle_background_light, null /* theme */);
+    }
+
     /** sets whether it's a left/right or top/bottom split */
     public void setIsLeftRightSplit(boolean isLeftRightSplit) {
         mIsLeftRightSplit = isLeftRightSplit;
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/DividerRoundedCorner.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/DividerRoundedCorner.java
index d5aaf75..cf0ecae 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/DividerRoundedCorner.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/DividerRoundedCorner.java
@@ -47,15 +47,17 @@
     private InvertedRoundedCornerDrawInfo mBottomLeftCorner;
     private InvertedRoundedCornerDrawInfo mBottomRightCorner;
     private boolean mIsLeftRightSplit;
+    private boolean mIsSplitScreen;
 
     public DividerRoundedCorner(Context context, @Nullable AttributeSet attrs) {
         super(context, attrs);
         mDividerWidth = getResources().getDimensionPixelSize(R.dimen.split_divider_bar_width);
         mDividerBarBackground = new Paint();
         mDividerBarBackground.setColor(
-                getResources().getColor(R.color.split_divider_background, null));
+                getResources().getColor(R.color.split_divider_background, null /* theme */));
         mDividerBarBackground.setFlags(Paint.ANTI_ALIAS_FLAG);
         mDividerBarBackground.setStyle(Paint.Style.FILL);
+        mIsSplitScreen = false;
     }
 
     @Override
@@ -99,7 +101,41 @@
     }
 
     /**
+     * Used by tiling infrastructure to specify display light/dark mode and
+     * whether handle colors should be overridden on display mode change in case
+     * of non split screen.
+     *
+     * @param isSplitScreen Whether the divider is used by split screen or tiling.
+     * @param isDarkMode    Whether the mode is ui dark mode.
+     */
+    public void setup(boolean isSplitScreen, boolean isDarkMode) {
+        mIsSplitScreen = isSplitScreen;
+        if (!isSplitScreen) {
+            mDividerBarBackground.setColor(getTilingHandleColor(isDarkMode));
+        }
+    }
+
+    /**
+     * Notifies the divider of ui mode change.
+     *
+     * @param isDarkMode Whether the mode is ui dark mode.
+     */
+    public void onUiModeChange(boolean isDarkMode) {
+        if (!mIsSplitScreen) {
+            mDividerBarBackground.setColor(getTilingHandleColor(isDarkMode));
+            invalidate();
+        }
+    }
+
+    private int getTilingHandleColor(boolean isDarkMode) {
+        return isDarkMode ? getResources().getColor(
+                R.color.tiling_divider_background_dark, null /* theme */) : getResources().getColor(
+                R.color.tiling_divider_background_light, null /* theme */);
+    }
+
+    /**
      * Set whether the rounded corner is for a left/right split.
+     *
      * @param isLeftRightSplit whether it's a left/right split or top/bottom split.
      */
     public void setIsLeftRightSplit(boolean isLeftRightSplit) {
@@ -123,7 +159,16 @@
             mCornerPosition = cornerPosition;
 
             final RoundedCorner roundedCorner = getDisplay().getRoundedCorner(cornerPosition);
-            mRadius = roundedCorner == null ? 0 : roundedCorner.getRadius();
+            if (mIsSplitScreen) {
+                mRadius = roundedCorner == null ? 0 : roundedCorner.getRadius();
+            } else {
+                mRadius = mContext
+                        .getResources()
+                        .getDimensionPixelSize(
+                                com.android.wm.shell.shared.R.dimen
+                                        .desktop_windowing_freeform_rounded_corner_radius);
+            }
+
 
             // Starts with a filled square, and then subtracting out a circle from the appropriate
             // corner.
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/DividerView.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/DividerView.java
index 06044cc..975303d 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/DividerView.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/DividerView.java
@@ -130,8 +130,6 @@
         public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
             super.onInitializeAccessibilityNodeInfo(host, info);
             final DividerSnapAlgorithm snapAlgorithm = mSplitLayout.mDividerSnapAlgorithm;
-            info.addAction(new AccessibilityAction(R.id.action_swap_apps,
-                    mContext.getString(R.string.accessibility_action_divider_swap)));
             if (mSplitLayout.isLeftRightSplit()) {
                 info.addAction(new AccessibilityAction(R.id.action_move_tl_full,
                         mContext.getString(R.string.accessibility_action_divider_left_full)));
@@ -150,6 +148,8 @@
                 }
                 info.addAction(new AccessibilityAction(R.id.action_move_rb_full,
                         mContext.getString(R.string.accessibility_action_divider_right_full)));
+                info.addAction(new AccessibilityAction(R.id.action_swap_apps,
+                        mContext.getString(R.string.accessibility_action_divider_swap_horizontal)));
             } else {
                 info.addAction(new AccessibilityAction(R.id.action_move_tl_full,
                         mContext.getString(R.string.accessibility_action_divider_top_full)));
@@ -168,6 +168,8 @@
                 }
                 info.addAction(new AccessibilityAction(R.id.action_move_rb_full,
                         mContext.getString(R.string.accessibility_action_divider_bottom_full)));
+                info.addAction(new AccessibilityAction(R.id.action_swap_apps,
+                        mContext.getString(R.string.accessibility_action_divider_swap_vertical)));
             }
         }
 
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java
index 201870f..9b11e4a 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java
@@ -872,7 +872,7 @@
             return false;
         }
         boolean isDesktopModeShowing = mDesktopUserRepositories.get().getCurrent()
-                .getVisibleTaskCount(taskInfo.displayId) > 0;
+                .isAnyDeskActive(taskInfo.displayId);
         return DesktopModeFlags.ENABLE_DESKTOP_SKIP_COMPAT_UI_EDUCATION_IN_DESKTOP_MODE_BUGFIX
                 .isTrue() && isDesktopModeShowing;
     }
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 5d5e4d3..79fbd32 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
@@ -44,6 +44,7 @@
 import com.android.internal.jank.InteractionJankMonitor;
 import com.android.internal.logging.UiEventLogger;
 import com.android.internal.statusbar.IStatusBarService;
+import com.android.internal.util.LatencyTracker;
 import com.android.launcher3.icons.IconProvider;
 import com.android.window.flags.Flags;
 import com.android.wm.shell.RootTaskDisplayAreaOrganizer;
@@ -99,6 +100,7 @@
 import com.android.wm.shell.desktopmode.DesktopTasksTransitionObserver;
 import com.android.wm.shell.desktopmode.DesktopUserRepositories;
 import com.android.wm.shell.desktopmode.DragToDesktopTransitionHandler;
+import com.android.wm.shell.desktopmode.DragToDisplayTransitionHandler;
 import com.android.wm.shell.desktopmode.EnterDesktopTaskTransitionHandler;
 import com.android.wm.shell.desktopmode.ExitDesktopTaskTransitionHandler;
 import com.android.wm.shell.desktopmode.OverviewToDesktopTransitionObserver;
@@ -769,7 +771,8 @@
             DesksOrganizer desksOrganizer,
             DesksTransitionObserver desksTransitionObserver,
             UserProfileContexts userProfileContexts,
-            DesktopModeCompatPolicy desktopModeCompatPolicy) {
+            DesktopModeCompatPolicy desktopModeCompatPolicy,
+            DragToDisplayTransitionHandler dragToDisplayTransitionHandler) {
         return new DesktopTasksController(
                 context,
                 shellInit,
@@ -799,6 +802,7 @@
                 recentTasksController.orElse(null),
                 interactionJankMonitor,
                 mainHandler,
+                focusTransitionObserver,
                 desktopModeEventLogger,
                 desktopModeUiEventLogger,
                 desktopWallpaperActivityTokenProvider,
@@ -807,7 +811,8 @@
                 desksOrganizer,
                 desksTransitionObserver,
                 userProfileContexts,
-                desktopModeCompatPolicy);
+                desktopModeCompatPolicy,
+                dragToDisplayTransitionHandler);
     }
 
     @WMSingleton
@@ -933,6 +938,12 @@
 
     @WMSingleton
     @Provides
+    static DragToDisplayTransitionHandler provideDragToDisplayTransitionHandler() {
+        return new DragToDisplayTransitionHandler();
+    }
+
+    @WMSingleton
+    @Provides
     static Optional<DesktopModeKeyGestureHandler> provideDesktopModeKeyGestureHandler(
             Context context,
             Optional<DesktopModeWindowDecorViewModel> desktopModeWindowDecorViewModel,
@@ -1074,8 +1085,10 @@
     static EnterDesktopTaskTransitionHandler provideEnterDesktopModeTaskTransitionHandler(
             Transitions transitions,
             Optional<DesktopTasksLimiter> desktopTasksLimiter,
-            InteractionJankMonitor interactionJankMonitor) {
-        return new EnterDesktopTaskTransitionHandler(transitions, interactionJankMonitor);
+            InteractionJankMonitor interactionJankMonitor,
+            LatencyTracker latencyTracker) {
+        return new EnterDesktopTaskTransitionHandler(
+                transitions, interactionJankMonitor, latencyTracker);
     }
 
     @WMSingleton
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopActivityOrientationChangeHandler.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopActivityOrientationChangeHandler.kt
index 6104e79..b8f4bb8 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopActivityOrientationChangeHandler.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopActivityOrientationChangeHandler.kt
@@ -84,7 +84,7 @@
         if (!Flags.respectOrientationChangeForUnresizeable()) return
         val task = shellTaskOrganizer.getRunningTaskInfo(taskId) ?: return
         val taskRepository = desktopUserRepositories.current
-        val isDesktopModeShowing = taskRepository.getVisibleTaskCount(task.displayId) > 0
+        val isDesktopModeShowing = taskRepository.isAnyDeskActive(task.displayId)
         if (!isDesktopModeShowing || !task.isFreeform || task.isResizeable) return
 
         val taskBounds = task.configuration.windowConfiguration.bounds
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopDisplayEventHandler.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopDisplayEventHandler.kt
index 946e795..afc48ac 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopDisplayEventHandler.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopDisplayEventHandler.kt
@@ -68,6 +68,8 @@
         //  desk has been recreated here, which may result in a crash-loop if the repository is
         //  checking that the desk exists before adding a task to it. See b/391984373.
         desktopTasksController.createDesk(displayId)
+        // TODO: b/393978539 - consider activating the desk on creation when applicable, such as
+        //  for connected displays.
     }
 
     override fun onDisplayRemoved(displayId: Int) {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopDisplayModeController.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopDisplayModeController.kt
index c9a63ff..e89aafe 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopDisplayModeController.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopDisplayModeController.kt
@@ -27,9 +27,9 @@
 import android.view.Display.DEFAULT_DISPLAY
 import android.view.IWindowManager
 import android.view.WindowManager.TRANSIT_CHANGE
+import android.window.DesktopExperienceFlags
 import android.window.WindowContainerTransaction
 import com.android.internal.protolog.ProtoLog
-import com.android.window.flags.Flags
 import com.android.wm.shell.RootTaskDisplayAreaOrganizer
 import com.android.wm.shell.ShellTaskOrganizer
 import com.android.wm.shell.desktopmode.desktopwallpaperactivity.DesktopWallpaperActivityTokenProvider
@@ -47,31 +47,9 @@
 ) {
 
     fun refreshDisplayWindowingMode() {
-        if (!Flags.enableDisplayWindowingModeSwitching()) return
-        // TODO: b/375319538 - Replace the check with a DisplayManager API once it's available.
-        val isExtendedDisplayEnabled =
-            0 !=
-                Settings.Global.getInt(
-                    context.contentResolver,
-                    DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS,
-                    0,
-                )
-        if (!isExtendedDisplayEnabled) {
-            // No action needed in mirror or projected mode.
-            return
-        }
+        if (!DesktopExperienceFlags.ENABLE_DISPLAY_WINDOWING_MODE_SWITCHING.isTrue) return
 
-        val hasNonDefaultDisplay =
-            rootTaskDisplayAreaOrganizer.getDisplayIds().any { displayId ->
-                displayId != DEFAULT_DISPLAY
-            }
-        val targetDisplayWindowingMode =
-            if (hasNonDefaultDisplay) {
-                WINDOWING_MODE_FREEFORM
-            } else {
-                // Use the default display windowing mode when no non-default display.
-                windowManager.getWindowingMode(DEFAULT_DISPLAY)
-            }
+        val targetDisplayWindowingMode = getTargetWindowingModeForDefaultDisplay()
         val tdaInfo = rootTaskDisplayAreaOrganizer.getDisplayAreaInfo(DEFAULT_DISPLAY)
         requireNotNull(tdaInfo) { "DisplayAreaInfo of DEFAULT_DISPLAY must be non-null." }
         val currentDisplayWindowingMode = tdaInfo.configuration.windowConfiguration.windowingMode
@@ -111,6 +89,25 @@
         transitions.startTransition(TRANSIT_CHANGE, wct, /* handler= */ null)
     }
 
+    private fun getTargetWindowingModeForDefaultDisplay(): Int {
+        if (isExtendedDisplayEnabled() && hasExternalDisplay()) {
+            return WINDOWING_MODE_FREEFORM
+        }
+        return windowManager.getWindowingMode(DEFAULT_DISPLAY)
+    }
+
+    // TODO: b/375319538 - Replace the check with a DisplayManager API once it's available.
+    private fun isExtendedDisplayEnabled() =
+        0 !=
+            Settings.Global.getInt(
+                context.contentResolver,
+                DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS,
+                0,
+            )
+
+    private fun hasExternalDisplay() =
+        rootTaskDisplayAreaOrganizer.getDisplayIds().any { it != DEFAULT_DISPLAY }
+
     private fun logV(msg: String, vararg arguments: Any?) {
         ProtoLog.v(WM_SHELL_DESKTOP_MODE, "%s: $msg", TAG, *arguments)
     }
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeShellCommandHandler.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeShellCommandHandler.kt
index 0cc8a6a..e3a71a1 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeShellCommandHandler.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeShellCommandHandler.kt
@@ -16,14 +16,19 @@
 
 package com.android.wm.shell.desktopmode
 
+import android.app.ActivityTaskManager.INVALID_TASK_ID
 import android.window.DesktopExperienceFlags
+import com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.UnminimizeReason
 import com.android.wm.shell.shared.desktopmode.DesktopModeTransitionSource.UNKNOWN
 import com.android.wm.shell.sysui.ShellCommandHandler
+import com.android.wm.shell.transition.FocusTransitionObserver
 import java.io.PrintWriter
 
 /** Handles the shell commands for the DesktopTasksController. */
-class DesktopModeShellCommandHandler(private val controller: DesktopTasksController) :
-    ShellCommandHandler.ShellCommandActionHandler {
+class DesktopModeShellCommandHandler(
+    private val controller: DesktopTasksController,
+    private val focusTransitionObserver: FocusTransitionObserver,
+) : ShellCommandHandler.ShellCommandActionHandler {
 
     override fun onShellCommand(args: Array<String>, pw: PrintWriter): Boolean =
         when (args[0]) {
@@ -76,20 +81,21 @@
     }
 
     private fun runMoveToNextDisplay(args: Array<String>, pw: PrintWriter): Boolean {
+        var taskId = INVALID_TASK_ID
         if (args.size < 2) {
-            // First argument is the action name.
-            pw.println("Error: task id should be provided as arguments")
-            return false
-        }
-
-        val taskId =
+            taskId = focusTransitionObserver.globallyFocusedTaskId
+        } else {
             try {
-                args[1].toInt()
+                taskId = args[1].toInt()
             } catch (e: NumberFormatException) {
                 pw.println("Error: task id should be an integer")
                 return false
             }
-
+        }
+        if (taskId == INVALID_TASK_ID) {
+            pw.println("Error: no appropriate task found")
+            return false
+        }
         controller.moveToNextDisplay(taskId)
         return true
     }
@@ -183,8 +189,12 @@
                 pw.println("Error: task id should be an integer")
                 return false
             }
-        pw.println("Not implemented.")
-        return false
+        controller.moveTaskToFront(
+            /* taskId= */ taskId,
+            /* remoteTransition= */ null,
+            /* unminimizeReason= */ UnminimizeReason.UNKNOWN,
+        )
+        return true
     }
 
     private fun runMoveTaskOutOfDesk(args: Array<String>, pw: PrintWriter): Boolean {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeVisualIndicator.java b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeVisualIndicator.java
index 99f05283..56de48d 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeVisualIndicator.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeVisualIndicator.java
@@ -49,6 +49,7 @@
 import com.android.wm.shell.shared.bubbles.BubbleAnythingFlagHelper;
 import com.android.wm.shell.shared.bubbles.BubbleDropTargetBoundsProvider;
 import com.android.wm.shell.shared.desktopmode.DesktopModeStatus;
+import com.android.wm.shell.windowdecor.tiling.SnapEventHandler;
 
 /**
  * Animated visual indicator for Desktop Mode windowing transitions.
@@ -98,7 +99,9 @@
                 return FROM_SPLIT;
             } else if (taskInfo.isFreeform()) {
                 return FROM_FREEFORM;
-            } else return null;
+            } else {
+                return null;
+            }
         }
     }
 
@@ -110,6 +113,7 @@
 
     private IndicatorType mCurrentType;
     private final DragStartState mDragStartState;
+    private final SnapEventHandler mSnapEventHandler;
 
     public DesktopModeVisualIndicator(@ShellDesktopThread ShellExecutor desktopExecutor,
             @ShellMainThread ShellExecutor mainExecutor,
@@ -118,18 +122,20 @@
             Context context, SurfaceControl taskSurface,
             RootTaskDisplayAreaOrganizer taskDisplayAreaOrganizer,
             DragStartState dragStartState,
-            @Nullable BubbleDropTargetBoundsProvider bubbleBoundsProvider) {
+            @Nullable BubbleDropTargetBoundsProvider bubbleBoundsProvider,
+            SnapEventHandler snapEventHandler) {
         SurfaceControl.Builder builder = new SurfaceControl.Builder();
         taskDisplayAreaOrganizer.attachToDisplayArea(taskInfo.displayId, builder);
         mVisualIndicatorViewContainer = new VisualIndicatorViewContainer(
                 DesktopModeFlags.ENABLE_DESKTOP_INDICATOR_IN_SEPARATE_THREAD_BUGFIX.isTrue()
                         ? desktopExecutor : mainExecutor,
-                mainExecutor, builder, syncQueue, bubbleBoundsProvider);
+                mainExecutor, builder, syncQueue, bubbleBoundsProvider, snapEventHandler);
         mTaskInfo = taskInfo;
         mDisplayController = displayController;
         mContext = context;
         mCurrentType = NO_INDICATOR;
         mDragStartState = dragStartState;
+        mSnapEventHandler = snapEventHandler;
         mVisualIndicatorViewContainer.createView(
                 mContext,
                 mDisplayController.getDisplay(mTaskInfo.displayId),
@@ -143,7 +149,8 @@
     public void fadeOutIndicator(
             @NonNull Runnable callback) {
         mVisualIndicatorViewContainer.fadeOutIndicator(
-                mDisplayController.getDisplayLayout(mTaskInfo.displayId), mCurrentType, callback
+                mDisplayController.getDisplayLayout(mTaskInfo.displayId), mCurrentType, callback,
+                mTaskInfo.displayId, mSnapEventHandler
         );
     }
 
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 926e0f2..73df976 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
@@ -35,6 +35,9 @@
 import java.io.PrintWriter
 import java.util.concurrent.Executor
 import java.util.function.Consumer
+import kotlin.collections.component1
+import kotlin.collections.component2
+import kotlin.collections.forEach
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.launch
 
@@ -116,6 +119,7 @@
         }
     }
 
+    private val deskChangeListeners = ArrayMap<DeskChangeListener, Executor>()
     private val activeTasksListeners = ArraySet<ActiveTasksListener>()
     private val visibleTasksListeners = ArrayMap<VisibleTasksListener, Executor>()
 
@@ -144,6 +148,11 @@
             SingleDesktopData()
         }
 
+    /** Adds a listener to be notified of updates about desk changes. */
+    fun addDeskChangeListener(listener: DeskChangeListener, executor: Executor) {
+        deskChangeListeners[listener] = executor
+    }
+
     /** Adds [activeTasksListener] to be notified of updates to active tasks. */
     fun addActiveTaskListener(activeTasksListener: ActiveTasksListener) {
         activeTasksListeners.add(activeTasksListener)
@@ -196,6 +205,11 @@
         return desktopExclusionRegion
     }
 
+    /** Removes the previously registered listener. */
+    fun removeDeskChangeListener(listener: DeskChangeListener) {
+        deskChangeListeners.remove(listener)
+    }
+
     /** Remove the previously registered [activeTasksListener] */
     fun removeActiveTasksListener(activeTasksListener: ActiveTasksListener) {
         activeTasksListeners.remove(activeTasksListener)
@@ -210,6 +224,9 @@
     fun addDesk(displayId: Int, deskId: Int) {
         logD("addDesk for displayId=%d and deskId=%d", displayId, deskId)
         desktopData.createDesk(displayId, deskId)
+        deskChangeListeners.forEach { (listener, executor) ->
+            executor.execute { listener.onDeskAdded(displayId = displayId, deskId = deskId) }
+        }
     }
 
     /** Returns the ids of the existing desks in the given display. */
@@ -229,16 +246,40 @@
     /** Sets the given desk as the active one in the given display. */
     fun setActiveDesk(displayId: Int, deskId: Int) {
         logD("setActiveDesk for displayId=%d and deskId=%d", displayId, deskId)
+        val oldActiveDeskId = desktopData.getActiveDesk(displayId)?.deskId ?: INVALID_DESK_ID
         desktopData.setActiveDesk(displayId = displayId, deskId = deskId)
+        deskChangeListeners.forEach { (listener, executor) ->
+            executor.execute {
+                listener.onActiveDeskChanged(
+                    displayId = displayId,
+                    newActiveDeskId = deskId,
+                    oldActiveDeskId = oldActiveDeskId,
+                )
+            }
+        }
     }
 
     /** Sets the given desk as inactive if it was active. */
     fun setDeskInactive(deskId: Int) {
+        val displayId = desktopData.getDisplayForDesk(deskId)
+        val activeDeskId = desktopData.getActiveDesk(displayId)?.deskId ?: INVALID_DESK_ID
+        if (activeDeskId == INVALID_DESK_ID || activeDeskId != deskId) {
+            // Desk wasn't active.
+            return
+        }
         desktopData.setDeskInactive(deskId)
+        deskChangeListeners.forEach { (listener, executor) ->
+            executor.execute {
+                listener.onActiveDeskChanged(
+                    displayId = displayId,
+                    newActiveDeskId = INVALID_DESK_ID,
+                    oldActiveDeskId = deskId,
+                )
+            }
+        }
     }
 
     /** Returns the id of the active desk in the given display, if any. */
-    @VisibleForTesting
     fun getActiveDeskId(displayId: Int): Int? = desktopData.getActiveDesk(displayId)?.deskId
 
     /** Returns the id of the desk to which this task belongs. */
@@ -419,11 +460,15 @@
             .singleOrNull() == taskId
     }
 
-    /**
-     * Returns the active tasks in the given display's active desk.
-     *
-     * TODO: b/389960283 - migrate callers to [getActiveTaskIdsInDesk].
-     */
+    /** Whether the task is the only visible desktop task in the display. */
+    fun isOnlyVisibleTask(taskId: Int, displayId: Int): Boolean {
+        val desk = desktopData.getActiveDesk(displayId) ?: return false
+        return desk.visibleTasks.size == 1 && desk.visibleTasks.single() == taskId
+    }
+
+    /** Whether the display has only one visible desktop task. */
+    fun hasOnlyOneVisibleTask(displayId: Int): Boolean = getVisibleTaskCount(displayId) == 1
+
     @VisibleForTesting
     fun getActiveTasks(displayId: Int): ArraySet<Int> =
         ArraySet(desktopData.getActiveDesk(displayId)?.activeTasks)
@@ -552,7 +597,7 @@
         } else {
             desk.visibleTasks.remove(taskId)
         }
-        val newCount = getVisibleTaskCount(deskId)
+        val newCount = getVisibleTaskCountInDesk(deskId)
         if (prevCount != newCount) {
             logD(
                 "Update task visibility taskId=%d visible=%b deskId=%d displayId=%d",
@@ -736,18 +781,29 @@
         }
     }
 
-    /**
-     * Gets number of visible freeform tasks on given [displayId]'s active desk.
-     *
-     * TODO: b/389960283 - migrate callers to [getVisibleTaskCountInDesk].
-     */
+    /** Whether the display is currently showing any desk. */
+    fun isAnyDeskActive(displayId: Int): Boolean {
+        if (!DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_BACKEND.isTrue) {
+            val desk = desktopData.getDefaultDesk(displayId)
+            if (desk == null) {
+                logE("Could not find default desk for display: $displayId")
+                return false
+            }
+            return desk.visibleTasks.isNotEmpty()
+        }
+        return desktopData.getActiveDesk(displayId) != null
+    }
+
+    /** Gets number of visible freeform tasks on given [displayId]'s active desk. */
+    @Deprecated("Use isAnyDeskActive() instead.", ReplaceWith("isAnyDeskActive()"))
+    @VisibleForTesting
     fun getVisibleTaskCount(displayId: Int): Int =
         (desktopData.getActiveDesk(displayId)?.visibleTasks?.size ?: 0).also {
             logD("getVisibleTaskCount=$it")
         }
 
     /** Gets the number of visible tasks on the given desk. */
-    fun getVisibleTaskCountInDesk(deskId: Int): Int =
+    private fun getVisibleTaskCountInDesk(deskId: Int): Int =
         desktopData.getDesk(deskId)?.visibleTasks?.size ?: 0
 
     /**
@@ -898,8 +954,21 @@
                 ?: return emptySet<Int>().also {
                     logW("Could not find desk to remove: deskId=%d", deskId)
                 }
+        val wasActive = desktopData.getActiveDesk(desk.displayId)?.deskId == desk.deskId
         val activeTasks = ArraySet(desk.activeTasks)
         desktopData.remove(desk.deskId)
+        deskChangeListeners.forEach { (listener, executor) ->
+            executor.execute {
+                if (wasActive) {
+                    listener.onActiveDeskChanged(
+                        displayId = desk.displayId,
+                        newActiveDeskId = INVALID_DESK_ID,
+                        oldActiveDeskId = desk.deskId,
+                    )
+                }
+                listener.onDeskRemoved(displayId = desk.displayId, deskId = desk.deskId)
+            }
+        }
         return activeTasks
     }
 
@@ -953,6 +1022,21 @@
     fun saveBoundsBeforeFullImmersive(taskId: Int, bounds: Rect) =
         boundsBeforeFullImmersiveByTaskId.set(taskId, Rect(bounds))
 
+    /** Returns the current state of the desktop, formatted for usage by remote clients. */
+    fun getDeskDisplayStateForRemote(): Array<DisplayDeskState> =
+        desktopData
+            .desksSequence()
+            .groupBy { it.displayId }
+            .map { (displayId, desks) ->
+                val activeDeskId = desktopData.getActiveDesk(displayId)?.deskId
+                DisplayDeskState().apply {
+                    this.displayId = displayId
+                    this.activeDeskId = activeDeskId ?: INVALID_DESK_ID
+                    this.deskIds = desks.map { it.deskId }.toIntArray()
+                }
+            }
+            .toTypedArray()
+
     /** TODO: b/389960283 - consider updating only the changing desks. */
     private fun updatePersistentRepository(displayId: Int) {
         val desks = desktopData.desksSequence(displayId).map { desk -> desk.deepCopy() }.toList()
@@ -1022,6 +1106,18 @@
             }
     }
 
+    /** Listens to changes of desks state. */
+    interface DeskChangeListener {
+        /** Called when a new desk is added to a display. */
+        fun onDeskAdded(displayId: Int, deskId: Int)
+
+        /** Called when a desk is removed from a display. */
+        fun onDeskRemoved(displayId: Int, deskId: Int)
+
+        /** Called when the active desk in a display has changed. */
+        fun onActiveDeskChanged(displayId: Int, newActiveDeskId: Int, oldActiveDeskId: Int)
+    }
+
     /** Listens to changes for active tasks in desktop mode. */
     interface ActiveTasksListener {
         fun onActiveTasksChanged(displayId: Int) {}
@@ -1282,6 +1378,8 @@
 
     companion object {
         private const val TAG = "DesktopRepository"
+
+        @VisibleForTesting const val INVALID_DESK_ID = -1
     }
 }
 
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTaskChangeListener.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTaskChangeListener.kt
index 6034299..70a648f 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTaskChangeListener.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTaskChangeListener.kt
@@ -35,7 +35,7 @@
             desktopRepository.removeTask(taskInfo.displayId, taskInfo.taskId)
             return
         }
-        if (isFreeformTask(taskInfo)) {
+        if (isFreeformTask(taskInfo) && !desktopRepository.isActiveTask(taskInfo.taskId)) {
             desktopRepository.addTask(taskInfo.displayId, taskInfo.taskId, taskInfo.isVisible)
         }
     }
@@ -44,23 +44,33 @@
         logD("onTaskChanging for taskId=%d, displayId=%d", taskInfo.taskId, taskInfo.displayId)
         val desktopRepository: DesktopRepository =
             desktopUserRepositories.getProfile(taskInfo.userId)
-        if (!desktopRepository.isActiveTask(taskInfo.taskId)) return
-
         // TODO: b/394281403 - with multiple desks, it's possible to have a non-freeform task
         //  inside a desk, so this should be decoupled from windowing mode.
         //  Also, changes in/out of desks are handled by the [DesksTransitionObserver], which has
         //  more specific information about the desk involved in the transition, which might be
         //  more accurate than assuming it's always the default/active desk in the display, as this
         //  method does.
-        // Case 1: Freeform task is changed in Desktop Mode.
-        if (isFreeformTask(taskInfo)) {
-            if (taskInfo.isVisible) {
-                desktopRepository.addTask(taskInfo.displayId, taskInfo.taskId, taskInfo.isVisible)
+        // Case 1: When the task change is from a task in the desktop repository which is now
+        // fullscreen,
+        // remove the task from the desktop repository since it is no longer a freeform task.
+        if (!isFreeformTask(taskInfo)) {
+            if (desktopRepository.isActiveTask(taskInfo.taskId)) {
+                desktopRepository.removeTask(taskInfo.displayId, taskInfo.taskId)
             }
-            desktopRepository.updateTask(taskInfo.displayId, taskInfo.taskId, taskInfo.isVisible)
-        } else {
-            // Case 2: Freeform task is changed outside Desktop Mode.
-            desktopRepository.removeTask(taskInfo.displayId, taskInfo.taskId)
+        } else { // Task change is a freeform task
+            if (!desktopRepository.isActiveTask(taskInfo.taskId)) {
+                // Case 2: When the task change is a freeform visible task, but the task is not
+                // yet active in the desktop repository, adds task to desktop repository.
+                desktopRepository.addTask(taskInfo.displayId, taskInfo.taskId, taskInfo.isVisible)
+            } else {
+                // Case 3: When the task change is a freeform task which already exists as an active
+                // task in the desktop repository, updates the task state.
+                desktopRepository.updateTask(
+                    taskInfo.displayId,
+                    taskInfo.taskId,
+                    taskInfo.isVisible,
+                )
+            }
         }
     }
 
@@ -82,14 +92,22 @@
         logD("onTaskMovingToFront for taskId=%d, displayId=%d", taskInfo.taskId, taskInfo.displayId)
         val desktopRepository: DesktopRepository =
             desktopUserRepositories.getProfile(taskInfo.userId)
-        if (!desktopRepository.isActiveTask(taskInfo.taskId)) return
-        if (!isFreeformTask(taskInfo)) {
+        // When the task change is from a task in the desktop repository which is now fullscreen,
+        // remove the task from the desktop repository since it is no longer a freeform task.
+        if (!isFreeformTask(taskInfo) && desktopRepository.isActiveTask(taskInfo.taskId)) {
             desktopRepository.removeTask(taskInfo.displayId, taskInfo.taskId)
         }
-        desktopRepository.addTask(taskInfo.displayId, taskInfo.taskId, taskInfo.isVisible)
+        if (isFreeformTask(taskInfo)) {
+            // If the task is already active in the repository, then it only moves the task to the
+            // front.
+            desktopRepository.addTask(taskInfo.displayId, taskInfo.taskId, taskInfo.isVisible)
+        }
     }
 
     override fun onTaskMovingToBack(taskInfo: RunningTaskInfo) {
+        val desktopRepository: DesktopRepository =
+            desktopUserRepositories.getProfile(taskInfo.userId)
+        if (!desktopRepository.isActiveTask(taskInfo.taskId)) return
         logD("onTaskMovingToBack for taskId=%d, displayId=%d", taskInfo.taskId, taskInfo.displayId)
         // TODO: b/367268953 - Connect this with DesktopRepository.
     }
@@ -101,7 +119,7 @@
         if (!desktopRepository.isActiveTask(taskInfo.taskId)) return
         // TODO: b/370038902 - Handle Activity#finishAndRemoveTask.
         if (
-            !DesktopModeFlags.ENABLE_DESKTOP_WINDOWING_BACK_NAVIGATION.isTrue() ||
+            !DesktopModeFlags.ENABLE_DESKTOP_WINDOWING_BACK_NAVIGATION.isTrue ||
                 desktopRepository.isClosingTask(taskInfo.taskId)
         ) {
             // A task that's vanishing should be removed:
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 87d9674..7e63250 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
@@ -97,6 +97,7 @@
 import com.android.wm.shell.desktopmode.DesktopModeUiEventLogger.DesktopUiEventEnum
 import com.android.wm.shell.desktopmode.DesktopModeVisualIndicator.DragStartState
 import com.android.wm.shell.desktopmode.DesktopModeVisualIndicator.IndicatorType
+import com.android.wm.shell.desktopmode.DesktopRepository.DeskChangeListener
 import com.android.wm.shell.desktopmode.DesktopRepository.VisibleTasksListener
 import com.android.wm.shell.desktopmode.DragToDesktopTransitionHandler.Companion.DRAG_TO_DESKTOP_FINISH_ANIM_DURATION_MS
 import com.android.wm.shell.desktopmode.DragToDesktopTransitionHandler.DragToDesktopStateListener
@@ -137,6 +138,7 @@
 import com.android.wm.shell.sysui.ShellController
 import com.android.wm.shell.sysui.ShellInit
 import com.android.wm.shell.sysui.UserChangeListener
+import com.android.wm.shell.transition.FocusTransitionObserver
 import com.android.wm.shell.transition.OneShotRemoteHandler
 import com.android.wm.shell.transition.Transitions
 import com.android.wm.shell.transition.Transitions.TransitionFinishCallback
@@ -195,6 +197,7 @@
     private val recentTasksController: RecentTasksController?,
     private val interactionJankMonitor: InteractionJankMonitor,
     @ShellMainThread private val handler: Handler,
+    private val focusTransitionObserver: FocusTransitionObserver,
     private val desktopModeEventLogger: DesktopModeEventLogger,
     private val desktopModeUiEventLogger: DesktopModeUiEventLogger,
     private val desktopWallpaperActivityTokenProvider: DesktopWallpaperActivityTokenProvider,
@@ -204,6 +207,7 @@
     private val desksTransitionObserver: DesksTransitionObserver,
     private val userProfileContexts: UserProfileContexts,
     private val desktopModeCompatPolicy: DesktopModeCompatPolicy,
+    private val dragToDisplayTransitionHandler: DragToDisplayTransitionHandler,
 ) :
     RemoteCallable<DesktopTasksController>,
     Transitions.TransitionHandler,
@@ -215,7 +219,7 @@
     private var visualIndicator: DesktopModeVisualIndicator? = null
     private var userId: Int
     private val desktopModeShellCommandHandler: DesktopModeShellCommandHandler =
-        DesktopModeShellCommandHandler(this)
+        DesktopModeShellCommandHandler(this, focusTransitionObserver)
 
     private val mOnAnimationFinishedCallback = { releaseVisualIndicator() }
     private lateinit var snapEventHandler: SnapEventHandler
@@ -335,8 +339,8 @@
         activateDefaultDeskInDisplay(displayId, remoteTransition)
     }
 
-    /** Gets number of visible freeform tasks in [displayId]. */
-    fun visibleTaskCount(displayId: Int): Int = taskRepository.getVisibleTaskCount(displayId)
+    /** Returns whether the given display has an active desk. */
+    fun isAnyDeskActive(displayId: Int): Boolean = taskRepository.isAnyDeskActive(displayId)
 
     /**
      * Returns true if any of the following is true:
@@ -344,9 +348,16 @@
      * - A transparent fullscreen task exists on top in Desktop Mode
      * - PiP on Desktop Windowing is enabled, there is an active PiP window and the desktop
      *   wallpaper is visible.
+     *
+     * TODO: b/362720497 - consolidate with [isAnyDeskActive].
+     *     - top-transparent-fullscreen case: should not be needed if we allow it to launch inside
+     *       the desk in fullscreen instead of force-exiting desktop and having to trick this method
+     *       into thinking it is in desktop mode when a task in this state exists.
+     *     - PIP case: a PIP presence should influence desk activation, so
+     *       [DesktopRepository#isAnyDeskActive] should be sufficient.
      */
     fun isDesktopModeShowing(displayId: Int): Boolean {
-        val hasVisibleTasks = visibleTaskCount(displayId) > 0
+        val hasVisibleTasks = taskRepository.isAnyDeskActive(displayId)
         val hasTopTransparentFullscreenTask =
             taskRepository.getTopTransparentFullscreenTaskId(displayId) != null
         val hasMinimizedPip =
@@ -461,15 +472,14 @@
         remoteTransition: RemoteTransition? = null,
         callback: IMoveToDesktopCallback? = null,
     ): Boolean {
-        val runningTask = shellTaskOrganizer.getRunningTaskInfo(taskId)
-        val backgroundTask = recentTasksController?.findTaskInBackground(taskId)
-        if (runningTask == null && backgroundTask == null) {
+        val task =
+            shellTaskOrganizer.getRunningTaskInfo(taskId)
+                ?: recentTasksController?.findTaskInBackground(taskId)
+        if (task == null) {
             logW("moveTaskToDefaultDeskAndActivate taskId=%d not found", taskId)
             return false
         }
-        // TODO(342378842): Instead of using default display, support multiple displays
-        val displayId = runningTask?.displayId ?: DEFAULT_DISPLAY
-        val deskId = getDefaultDeskId(displayId)
+        val deskId = getDefaultDeskId(task.displayId)
         return moveTaskToDesk(
             taskId = taskId,
             deskId = deskId,
@@ -521,14 +531,14 @@
         remoteTransition: RemoteTransition? = null,
         callback: IMoveToDesktopCallback? = null,
     ): Boolean {
-        if (recentTasksController?.findTaskInBackground(taskId) == null) {
+        val task = recentTasksController?.findTaskInBackground(taskId)
+        if (task == null) {
             logW("moveBackgroundTaskToDesktop taskId=%d not found", taskId)
             return false
         }
         logV("moveBackgroundTaskToDesktop with taskId=%d", taskId)
-        // TODO(342378842): Instead of using default display, support multiple displays
         val taskIdToMinimize =
-            bringDesktopAppsToFrontBeforeShowingNewTask(DEFAULT_DISPLAY, wct, taskId)
+            bringDesktopAppsToFrontBeforeShowingNewTask(task.displayId, wct, taskId)
         val exitResult =
             desktopImmersiveController.exitImmersiveIfApplicable(
                 wct = wct,
@@ -810,7 +820,7 @@
             willExitDesktop(
                 triggerTaskId = taskInfo.taskId,
                 displayId = displayId,
-                forceToFullscreen = false,
+                forceExitDesktop = false,
             )
         taskRepository.setPipShouldKeepDesktopActive(displayId, keepActive = true)
         val desktopExitRunnable =
@@ -883,7 +893,7 @@
 
         snapEventHandler.removeTaskIfTiled(displayId, taskId)
         taskRepository.setPipShouldKeepDesktopActive(displayId, keepActive = true)
-        val willExitDesktop = willExitDesktop(taskId, displayId, forceToFullscreen = false)
+        val willExitDesktop = willExitDesktop(taskId, displayId, forceExitDesktop = false)
         val desktopExitRunnable =
             performDesktopExitCleanUp(
                 wct = wct,
@@ -976,7 +986,7 @@
     ) {
         logV("moveToFullscreenWithAnimation taskId=%d", task.taskId)
         val wct = WindowContainerTransaction()
-        val willExitDesktop = willExitDesktop(task.taskId, task.displayId, forceToFullscreen = true)
+        val willExitDesktop = willExitDesktop(task.taskId, task.displayId, forceExitDesktop = true)
         val deactivationRunnable = addMoveToFullscreenChanges(wct, task, willExitDesktop)
 
         // We are moving a freeform task to fullscreen, put the home task under the fullscreen task.
@@ -995,7 +1005,14 @@
         deactivationRunnable?.invoke(transition)
 
         // handles case where we are moving to full screen without closing all DW tasks.
-        if (!taskRepository.isOnlyVisibleNonClosingTask(task.taskId)) {
+        if (
+            !taskRepository.isOnlyVisibleNonClosingTask(task.taskId)
+            // This callback is already invoked by |addMoveToFullscreenChanges| when one of these
+            // flags is enabled.
+            &&
+                !DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_BACKEND.isTrue &&
+                !Flags.enableDesktopWindowingPip()
+        ) {
             desktopModeEnterExitTransitionListener?.onExitDesktopModeTransitionStarted(
                 FULLSCREEN_ANIMATION_DURATION
             )
@@ -1104,12 +1121,13 @@
                 excludeTaskId = launchingTaskId,
                 reason = DesktopImmersiveController.ExitReason.TASK_LAUNCH,
             )
-        var deskIdToActivate: Int? = null
-        if (
-            DesktopExperienceFlags.ENABLE_DISPLAY_WINDOWING_MODE_SWITCHING.isTrue &&
+        var activationRunOnTransitStart: RunOnTransitStart? = null
+        val shouldActivateDesk =
+            (DesktopExperienceFlags.ENABLE_DISPLAY_WINDOWING_MODE_SWITCHING.isTrue ||
+                DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_BACKEND.isTrue) &&
                 !isDesktopModeShowing(displayId)
-        ) {
-            deskIdToActivate =
+        if (shouldActivateDesk) {
+            val deskIdToActivate =
                 checkNotNull(
                     launchingTaskId?.let { taskRepository.getDeskIdForTask(it) }
                         ?: getDefaultDeskId(displayId)
@@ -1119,6 +1137,18 @@
             // Desk activation must be handled before app launch-related transactions.
             activateDeskWct.merge(launchTransaction, /* transfer= */ true)
             launchTransaction = activateDeskWct
+            activationRunOnTransitStart = { transition ->
+                desksTransitionObserver.addPendingTransition(
+                    DeskTransition.ActivateDesk(
+                        token = transition,
+                        displayId = displayId,
+                        deskId = deskIdToActivate,
+                    )
+                )
+            }
+            desktopModeEnterExitTransitionListener?.onEnterDesktopModeTransitionStarted(
+                FREEFORM_ANIMATION_DURATION
+            )
         }
         val t =
             if (remoteTransition == null) {
@@ -1152,24 +1182,7 @@
         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
-            )
-        }
+        activationRunOnTransitStart?.invoke(t)
         exitImmersiveResult.asExit()?.runOnTransitionStart?.invoke(t)
         return t
     }
@@ -1251,36 +1264,75 @@
             return
         }
 
+        val wct = WindowContainerTransaction()
         val displayAreaInfo = rootTaskDisplayAreaOrganizer.getDisplayAreaInfo(displayId)
         if (displayAreaInfo == null) {
             logW("moveToDisplay: display not found")
             return
         }
 
-        val wct = WindowContainerTransaction()
-
         // check if the task is part of splitscreen
         if (
             Flags.enableNonDefaultDisplaySplit() &&
                 Flags.enableMoveToNextDisplayShortcut() &&
                 splitScreenController.isTaskInSplitScreen(task.taskId)
         ) {
+            val activeDeskId = taskRepository.getActiveDeskId(displayId)
+            logV("moveToDisplay: moving split root to displayId=%d", displayId)
             val stageCoordinatorRootTaskToken =
                 splitScreenController.multiDisplayProvider.getDisplayRootForDisplayId(
                     DEFAULT_DISPLAY
                 )
-
             wct.reparent(stageCoordinatorRootTaskToken, displayAreaInfo.token, true /* onTop */)
-            transitions.startTransition(TRANSIT_CHANGE, wct, /* handler= */ null)
+            val deactivationRunnable =
+                if (activeDeskId != null) {
+                    // Split is being placed on top of an existing desk in the target display. Make
+                    // sure it is cleaned up.
+                    performDesktopExitCleanUp(
+                        wct = wct,
+                        deskId = activeDeskId,
+                        displayId = displayId,
+                        willExitDesktop = true,
+                        shouldEndUpAtHome = false,
+                    )
+                } else {
+                    null
+                }
+            val transition = transitions.startTransition(TRANSIT_CHANGE, wct, /* handler= */ null)
+            deactivationRunnable?.invoke(transition)
             return
         }
 
+        val destinationDeskId = taskRepository.getDefaultDeskId(displayId)
+        if (destinationDeskId == null) {
+            logW("moveToDisplay: desk not found for display: $displayId")
+            return
+        }
+
+        // TODO: b/393977830 and b/397437641 - do not assume that freeform==desktop.
         if (!task.isFreeform) {
             addMoveToDesktopChanges(wct, task, displayId)
         } else if (Flags.enableMoveToNextDisplayShortcut()) {
             applyFreeformDisplayChange(wct, task, displayId)
         }
-        wct.reparent(task.token, displayAreaInfo.token, /* onTop= */ true)
+
+        if (DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_BACKEND.isTrue) {
+            desksOrganizer.moveTaskToDesk(wct, destinationDeskId, task)
+        } else {
+            wct.reparent(task.token, displayAreaInfo.token, /* onTop= */ true)
+        }
+        addDeskActivationChanges(destinationDeskId, wct)
+        val activationRunnable: RunOnTransitStart = { transition ->
+            desksTransitionObserver.addPendingTransition(
+                DeskTransition.ActiveDeskWithTask(
+                    token = transition,
+                    displayId = displayId,
+                    deskId = destinationDeskId,
+                    enterTaskId = task.taskId,
+                )
+            )
+        }
+
         if (Flags.enableDisplayFocusInShellTransitions()) {
             // Bring the destination display to top with includingParents=true, so that the
             // destination display gains the display focus, which makes the top task in the display
@@ -1288,22 +1340,31 @@
             wct.reorder(task.token, /* onTop= */ true, /* includingParents= */ true)
         }
 
-        // TODO: b/394268248 - desk needs to be deactivated when moving the last task and going
-        //  home.
-        if (Flags.enablePerDisplayDesktopWallpaperActivity()) {
-            performDesktopExitCleanupIfNeeded(
-                taskId = task.taskId,
-                displayId = task.displayId,
-                wct = wct,
-                forceToFullscreen = false,
-                // TODO: b/371096166 - Temporary turing home relaunch off to prevent home stealing
-                // display focus. Remove shouldEndUpAtHome = false when home focus handling
-                // with connected display is implemented in wm core.
-                shouldEndUpAtHome = false,
-            )
-        }
-
-        transitions.startTransition(TRANSIT_CHANGE, wct, /* handler= */ null)
+        val sourceDisplayId = task.displayId
+        val sourceDeskId = taskRepository.getDeskIdForTask(task.taskId)
+        val shouldExitDesktopIfNeeded =
+            Flags.enablePerDisplayDesktopWallpaperActivity() ||
+                DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_BACKEND.isTrue
+        val deactivationRunnable =
+            if (shouldExitDesktopIfNeeded) {
+                performDesktopExitCleanupIfNeeded(
+                    taskId = task.taskId,
+                    deskId = sourceDeskId,
+                    displayId = sourceDisplayId,
+                    wct = wct,
+                    forceToFullscreen = false,
+                    // TODO: b/371096166 - Temporary turing home relaunch off to prevent home
+                    // stealing
+                    // display focus. Remove shouldEndUpAtHome = false when home focus handling
+                    // with connected display is implemented in wm core.
+                    shouldEndUpAtHome = false,
+                )
+            } else {
+                null
+            }
+        val transition = transitions.startTransition(TRANSIT_CHANGE, wct, /* handler= */ null)
+        deactivationRunnable?.invoke(transition)
+        activationRunnable?.invoke(transition)
     }
 
     /**
@@ -1842,16 +1903,24 @@
     private fun willExitDesktop(
         triggerTaskId: Int,
         displayId: Int,
-        forceToFullscreen: Boolean,
+        forceExitDesktop: Boolean,
     ): Boolean {
+        if (
+            forceExitDesktop &&
+                (Flags.enableDesktopWindowingPip() ||
+                    DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_BACKEND.isTrue)
+        ) {
+            // |forceExitDesktop| is true when the callers knows we'll exit desktop, such as when
+            // explicitly going fullscreen, so there's no point in checking the desktop state.
+            return true
+        }
         if (Flags.enablePerDisplayDesktopWallpaperActivity()) {
             if (!taskRepository.isOnlyVisibleNonClosingTask(triggerTaskId, displayId)) {
                 return false
             }
         } else if (
             Flags.enableDesktopWindowingPip() &&
-                taskRepository.isMinimizedPipPresentInDisplay(displayId) &&
-                !forceToFullscreen
+                taskRepository.isMinimizedPipPresentInDisplay(displayId)
         ) {
             return false
         } else {
@@ -2244,7 +2313,7 @@
                 willExitDesktop(
                     triggerTaskId = task.taskId,
                     displayId = task.displayId,
-                    forceToFullscreen = true,
+                    forceExitDesktop = true,
                 ),
         )
         wct.reorder(task.token, true)
@@ -2277,7 +2346,7 @@
                         willExitDesktop(
                             triggerTaskId = task.taskId,
                             displayId = task.displayId,
-                            forceToFullscreen = true,
+                            forceExitDesktop = true,
                         ),
                 )
                 return wct
@@ -2382,7 +2451,7 @@
                         willExitDesktop(
                             triggerTaskId = task.taskId,
                             displayId = task.displayId,
-                            forceToFullscreen = true,
+                            forceExitDesktop = true,
                         ),
                 )
             }
@@ -2420,7 +2489,7 @@
                     willExitDesktop(
                         triggerTaskId = task.taskId,
                         displayId = task.displayId,
-                        forceToFullscreen = true,
+                        forceExitDesktop = true,
                     ),
             )
         }
@@ -2484,6 +2553,7 @@
         val displayLayout = displayController.getDisplayLayout(displayId) ?: return
         val tdaInfo = rootTaskDisplayAreaOrganizer.getDisplayAreaInfo(displayId)!!
         val tdaWindowingMode = tdaInfo.configuration.windowConfiguration.windowingMode
+        // TODO: b/397437641 - reconsider the windowing mode choice when multiple desks is enabled.
         val targetWindowingMode =
             if (tdaWindowingMode == WINDOWING_MODE_FREEFORM) {
                 // Display windowing is freeform, set to undefined and inherit it
@@ -2649,10 +2719,12 @@
     /**
      * Adds split screen changes to a transaction. Note that bounds are not reset here due to
      * animation; see {@link onDesktopSplitSelectAnimComplete}
-     *
-     * TODO: b/394268248 - desk needs to be deactivated.
      */
-    private fun addMoveToSplitChanges(wct: WindowContainerTransaction, taskInfo: RunningTaskInfo) {
+    private fun addMoveToSplitChanges(
+        wct: WindowContainerTransaction,
+        taskInfo: RunningTaskInfo,
+        deskId: Int?,
+    ): RunOnTransitStart? {
         // This windowing mode is to get the transition animation started; once we complete
         // split select, we will change windowing mode to undefined and inherit from split stage.
         // Going to undefined here causes task to flicker to the top left.
@@ -2662,11 +2734,12 @@
         // want it overridden in multi-window.
         wct.setDensityDpi(taskInfo.token, getDefaultDensityDpi())
 
-        performDesktopExitCleanupIfNeeded(
+        return performDesktopExitCleanupIfNeeded(
             taskId = taskInfo.taskId,
             displayId = taskInfo.displayId,
+            deskId = deskId,
             wct = wct,
-            forceToFullscreen = false,
+            forceToFullscreen = true,
             shouldEndUpAtHome = false,
         )
     }
@@ -2898,14 +2971,21 @@
                     }
                 dragToDesktopTransitionHandler.cancelDragToDesktopTransition(cancelState)
             } else {
+                val deskId = taskRepository.getDeskIdForTask(taskInfo.taskId)
+                logV("Split requested for task=%d in desk=%d", taskInfo.taskId, deskId)
                 val wct = WindowContainerTransaction()
-                addMoveToSplitChanges(wct, taskInfo)
-                splitScreenController.requestEnterSplitSelect(
-                    taskInfo,
-                    wct,
-                    if (leftOrTop) SPLIT_POSITION_TOP_OR_LEFT else SPLIT_POSITION_BOTTOM_OR_RIGHT,
-                    taskInfo.configuration.windowConfiguration.bounds,
-                )
+                val runOnTransitStart = addMoveToSplitChanges(wct, taskInfo, deskId)
+                val transition =
+                    splitScreenController.requestEnterSplitSelect(
+                        taskInfo,
+                        wct,
+                        if (leftOrTop) SPLIT_POSITION_TOP_OR_LEFT
+                        else SPLIT_POSITION_BOTTOM_OR_RIGHT,
+                        taskInfo.configuration.windowConfiguration.bounds,
+                    )
+                if (transition != null) {
+                    runOnTransitStart?.invoke(transition)
+                }
             }
         }
     }
@@ -2999,6 +3079,7 @@
                     rootTaskDisplayAreaOrganizer,
                     dragStartState,
                     bubbleController.getOrNull()?.bubbleDropTargetBoundsProvider,
+                    snapEventHandler,
                 )
         if (visualIndicator == null) visualIndicator = indicator
         return indicator.updateIndicatorType(PointF(inputX, taskTop))
@@ -3110,25 +3191,24 @@
                 val wct = WindowContainerTransaction()
                 wct.setBounds(taskInfo.token, destinationBounds)
 
-                // TODO: b/362720497 - reparent to a specific desk within the target display.
-                // Reparent task if it has been moved to a new display.
-                if (Flags.enableConnectedDisplaysWindowDrag()) {
-                    val newDisplayId = motionEvent.getDisplayId()
-                    if (newDisplayId != taskInfo.getDisplayId()) {
-                        val displayAreaInfo =
-                            rootTaskDisplayAreaOrganizer.getDisplayAreaInfo(newDisplayId)
-                        if (displayAreaInfo == null) {
-                            logW(
-                                "Task reparent cannot find DisplayAreaInfo for displayId=%d",
-                                newDisplayId,
-                            )
-                        } else {
-                            wct.reparent(taskInfo.token, displayAreaInfo.token, /* onTop= */ true)
-                        }
+                val newDisplayId = motionEvent.getDisplayId()
+                val displayAreaInfo = rootTaskDisplayAreaOrganizer.getDisplayAreaInfo(newDisplayId)
+                val isCrossDisplayDrag =
+                    Flags.enableConnectedDisplaysWindowDrag() &&
+                        newDisplayId != taskInfo.getDisplayId() &&
+                        displayAreaInfo != null
+                val handler =
+                    if (isCrossDisplayDrag) {
+                        dragToDisplayTransitionHandler
+                    } else {
+                        null
                     }
+                if (isCrossDisplayDrag) {
+                    // TODO: b/362720497 - reparent to a specific desk within the target display.
+                    wct.reparent(taskInfo.token, displayAreaInfo.token, /* onTop= */ true)
                 }
 
-                transitions.startTransition(TRANSIT_CHANGE, wct, null)
+                transitions.startTransition(TRANSIT_CHANGE, wct, handler)
 
                 releaseVisualIndicator()
             }
@@ -3446,7 +3526,47 @@
         private lateinit var remoteListener:
             SingleInstanceRemoteListener<DesktopTasksController, IDesktopTaskListener>
 
-        private val listener: VisibleTasksListener =
+        private val deskChangeListener: DeskChangeListener =
+            object : DeskChangeListener {
+                override fun onDeskAdded(displayId: Int, deskId: Int) {
+                    ProtoLog.v(
+                        WM_SHELL_DESKTOP_MODE,
+                        "IDesktopModeImpl: onDeskAdded display=%d deskId=%d",
+                        displayId,
+                        deskId,
+                    )
+                    remoteListener.call { l -> l.onDeskAdded(displayId, deskId) }
+                }
+
+                override fun onDeskRemoved(displayId: Int, deskId: Int) {
+                    ProtoLog.v(
+                        WM_SHELL_DESKTOP_MODE,
+                        "IDesktopModeImpl: onDeskRemoved display=%d deskId=%d",
+                        displayId,
+                        deskId,
+                    )
+                    remoteListener.call { l -> l.onDeskRemoved(displayId, deskId) }
+                }
+
+                override fun onActiveDeskChanged(
+                    displayId: Int,
+                    newActiveDeskId: Int,
+                    oldActiveDeskId: Int,
+                ) {
+                    ProtoLog.v(
+                        WM_SHELL_DESKTOP_MODE,
+                        "IDesktopModeImpl: onActiveDeskChanged display=%d new=%d old=%d",
+                        displayId,
+                        newActiveDeskId,
+                        oldActiveDeskId,
+                    )
+                    remoteListener.call { l ->
+                        l.onActiveDeskChanged(displayId, newActiveDeskId, oldActiveDeskId)
+                    }
+                }
+            }
+
+        private val visibleTasksListener: VisibleTasksListener =
             object : VisibleTasksListener {
                 override fun onTasksVisibilityChanged(displayId: Int, visibleTasksCount: Int) {
                     ProtoLog.v(
@@ -3510,19 +3630,11 @@
                     controller,
                     { c ->
                         run {
-                            c.taskRepository.addVisibleTasksListener(listener, c.mainExecutor)
-                            c.taskbarDesktopTaskListener = taskbarDesktopTaskListener
-                            c.desktopModeEnterExitTransitionListener =
-                                desktopModeEntryExitTransitionListener
+                            syncInitialState(c)
+                            registerListeners(c)
                         }
                     },
-                    { c ->
-                        run {
-                            c.taskRepository.removeVisibleTasksListener(listener)
-                            c.taskbarDesktopTaskListener = null
-                            c.desktopModeEnterExitTransitionListener = null
-                        }
-                    },
+                    { c -> run { unregisterListeners(c) } },
                 )
         }
 
@@ -3618,6 +3730,31 @@
                 c.startLaunchIntentTransition(intent, options, displayId)
             }
         }
+
+        private fun syncInitialState(c: DesktopTasksController) {
+            remoteListener.call { l ->
+                // TODO: b/393962589 - implement desks limit.
+                val canCreateDesks = true
+                l.onListenerConnected(
+                    c.taskRepository.getDeskDisplayStateForRemote(),
+                    canCreateDesks,
+                )
+            }
+        }
+
+        private fun registerListeners(c: DesktopTasksController) {
+            c.taskRepository.addDeskChangeListener(deskChangeListener, c.mainExecutor)
+            c.taskRepository.addVisibleTasksListener(visibleTasksListener, c.mainExecutor)
+            c.taskbarDesktopTaskListener = taskbarDesktopTaskListener
+            c.desktopModeEnterExitTransitionListener = desktopModeEntryExitTransitionListener
+        }
+
+        private fun unregisterListeners(c: DesktopTasksController) {
+            c.taskRepository.removeDeskChangeListener(deskChangeListener)
+            c.taskRepository.removeVisibleTasksListener(visibleTasksListener)
+            c.taskbarDesktopTaskListener = null
+            c.desktopModeEnterExitTransitionListener = null
+        }
     }
 
     private fun logV(msg: String, vararg arguments: Any?) {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksTransitionObserver.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksTransitionObserver.kt
index 9a97ae8..df2cf67 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksTransitionObserver.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksTransitionObserver.kt
@@ -26,6 +26,7 @@
 import android.view.WindowManager.TRANSIT_PIP
 import android.view.WindowManager.TRANSIT_TO_BACK
 import android.view.WindowManager.TRANSIT_TO_FRONT
+import android.window.DesktopExperienceFlags
 import android.window.DesktopModeFlags
 import android.window.DesktopModeFlags.ENABLE_DESKTOP_WALLPAPER_ACTIVITY_FOR_SYSTEM_USER
 import android.window.DesktopModeFlags.ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY
@@ -162,18 +163,24 @@
                     continue
                 }
                 val desktopRepository = desktopUserRepositories.getProfile(taskInfo.userId)
-                val visibleTaskCount = desktopRepository.getVisibleTaskCount(taskInfo.displayId)
+                val isInDesktop = desktopRepository.isAnyDeskActive(taskInfo.displayId)
                 if (
-                    visibleTaskCount > 0 &&
+                    isInDesktop &&
                         change.mode == TRANSIT_TO_BACK &&
                         taskInfo.windowingMode == WINDOWING_MODE_FREEFORM
                 ) {
+                    val isLastTask =
+                        if (!DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_BACKEND.isTrue) {
+                            desktopRepository.hasOnlyOneVisibleTask(taskInfo.displayId)
+                        } else {
+                            desktopRepository.isOnlyVisibleTask(taskInfo.taskId, taskInfo.displayId)
+                        }
                     desktopRepository.minimizeTask(taskInfo.displayId, taskInfo.taskId)
                     desktopMixedTransitionHandler.addPendingMixedTransition(
                         DesktopMixedTransitionHandler.PendingMixedTransition.Minimize(
                             transition,
                             taskInfo.taskId,
-                            visibleTaskCount == 1,
+                            isLastTask,
                         )
                     )
                 }
@@ -227,9 +234,9 @@
         taskInfo: ActivityManager.RunningTaskInfo
     ): Int? {
         val desktopRepository = desktopUserRepositories.getProfile(taskInfo.userId)
-        val visibleTaskCount = desktopRepository.getVisibleTaskCount(taskInfo.displayId)
+        val isInDesktop = desktopRepository.isAnyDeskActive(taskInfo.displayId)
         if (
-            visibleTaskCount > 0 &&
+            isInDesktop &&
                 taskInfo.windowingMode == WINDOWING_MODE_FREEFORM &&
                 backAnimationController.latestTriggerBackTask == taskInfo.taskId &&
                 !desktopRepository.isClosingTask(taskInfo.taskId)
@@ -253,7 +260,7 @@
 
             val desktopRepository = desktopUserRepositories.getProfile(taskInfo.userId)
             if (
-                desktopRepository.getVisibleTaskCount(taskInfo.displayId) == 0 &&
+                !desktopRepository.isAnyDeskActive(taskInfo.displayId) &&
                     change.mode == TRANSIT_CLOSE &&
                     taskInfo.windowingMode == WINDOWING_MODE_FREEFORM &&
                     desktopWallpaperActivityTokenProvider.getToken(taskInfo.displayId) != null
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DragToDesktopTransitionHandler.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DragToDesktopTransitionHandler.kt
index cb23180..d396d8b 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DragToDesktopTransitionHandler.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DragToDesktopTransitionHandler.kt
@@ -1138,8 +1138,11 @@
             .spring(FloatProperties.RECT_HEIGHT, endBounds.height().toFloat(), sizeSpringConfig)
             .addUpdateListener { animBounds, _ ->
                 val animFraction =
-                    (animBounds.width() - startBounds.width()).toFloat() /
-                        (endBounds.width() - startBounds.width())
+                    getAnimationFraction(
+                        startBounds = startBounds,
+                        endBounds = endBounds,
+                        animBounds = animBounds,
+                    )
                 val animScale = startScale + animFraction * (1 - startScale)
                 // Freeform animation starts with freeform animation offset relative to the commit
                 // animation and plays until the commit animation ends. For instance:
@@ -1191,16 +1194,38 @@
             .start()
     }
 
-    private fun logV(msg: String, vararg arguments: Any?) {
-        ProtoLog.v(WM_SHELL_DESKTOP_MODE, "%s: $msg", TAG, *arguments)
-    }
-
-    private fun logE(msg: String, vararg arguments: Any?) {
-        ProtoLog.e(WM_SHELL_DESKTOP_MODE, "%s: $msg", TAG, *arguments)
-    }
-
     companion object {
         private const val TAG = "SpringDragToDesktopTransitionHandler"
+
+        @VisibleForTesting
+        fun getAnimationFraction(startBounds: Rect, endBounds: Rect, animBounds: Rect): Float {
+            if (startBounds.width() != endBounds.width()) {
+                return (animBounds.width() - startBounds.width()).toFloat() /
+                    (endBounds.width() - startBounds.width())
+            }
+            if (startBounds.height() != endBounds.height()) {
+                return (animBounds.height() - startBounds.height()).toFloat() /
+                    (endBounds.height() - startBounds.height())
+            }
+            logW(
+                "same start and end sizes, returning 0: " +
+                    "startBounds=$startBounds, endBounds=$endBounds, animBounds=$animBounds"
+            )
+            return 0f
+        }
+
+        private fun logV(msg: String, vararg arguments: Any?) {
+            ProtoLog.v(WM_SHELL_DESKTOP_MODE, "%s: $msg", TAG, *arguments)
+        }
+
+        private fun logW(msg: String, vararg arguments: Any?) {
+            ProtoLog.v(WM_SHELL_DESKTOP_MODE, "%s: $msg", TAG, *arguments)
+        }
+
+        private fun logE(msg: String, vararg arguments: Any?) {
+            ProtoLog.e(WM_SHELL_DESKTOP_MODE, "%s: $msg", TAG, *arguments)
+        }
+
         /** The freeform tasks initial scale when committing the drag-to-desktop gesture. */
         private val FREEFORM_TASKS_INITIAL_SCALE =
             propertyValue("freeform_tasks_initial_scale", scale = 100f, default = 0.9f)
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DragToDisplayTransitionHandler.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DragToDisplayTransitionHandler.kt
new file mode 100644
index 0000000..d51576a
--- /dev/null
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DragToDisplayTransitionHandler.kt
@@ -0,0 +1,57 @@
+/*
+ * 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.desktopmode
+
+import android.os.IBinder
+import android.view.SurfaceControl
+import android.window.TransitionInfo
+import android.window.TransitionRequestInfo
+import android.window.WindowContainerTransaction
+import com.android.wm.shell.transition.Transitions
+
+/** Handles the transition to drag a window to another display by dragging the caption. */
+class DragToDisplayTransitionHandler : Transitions.TransitionHandler {
+    override fun handleRequest(
+        transition: IBinder,
+        request: TransitionRequestInfo,
+    ): WindowContainerTransaction? {
+        return null
+    }
+
+    override fun startAnimation(
+        transition: IBinder,
+        info: TransitionInfo,
+        startTransaction: SurfaceControl.Transaction,
+        finishTransaction: SurfaceControl.Transaction,
+        finishCallback: Transitions.TransitionFinishCallback,
+    ): Boolean {
+        for (change in info.changes) {
+            val sc = change.leash
+            val endBounds = change.endAbsBounds
+            val endPosition = change.endRelOffset
+            startTransaction
+                .setWindowCrop(sc, endBounds.width(), endBounds.height())
+                .setPosition(sc, endPosition.x.toFloat(), endPosition.y.toFloat())
+            finishTransaction
+                .setWindowCrop(sc, endBounds.width(), endBounds.height())
+                .setPosition(sc, endPosition.x.toFloat(), endPosition.y.toFloat())
+        }
+
+        startTransaction.apply()
+        finishCallback.onTransitionFinished(null)
+        return true
+    }
+}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/EnterDesktopTaskTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/EnterDesktopTaskTransitionHandler.java
index 80e106f..4c17030 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/EnterDesktopTaskTransitionHandler.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/EnterDesktopTaskTransitionHandler.java
@@ -41,6 +41,7 @@
 import androidx.annotation.Nullable;
 
 import com.android.internal.jank.InteractionJankMonitor;
+import com.android.internal.util.LatencyTracker;
 import com.android.wm.shell.shared.desktopmode.DesktopModeTransitionSource;
 import com.android.wm.shell.transition.Transitions;
 import com.android.wm.shell.windowdecor.OnTaskResizeAnimationListener;
@@ -63,20 +64,25 @@
 
     private final List<IBinder> mPendingTransitionTokens = new ArrayList<>();
     private final InteractionJankMonitor mInteractionJankMonitor;
+    private final LatencyTracker mLatencyTracker;
 
     private OnTaskResizeAnimationListener mOnTaskResizeAnimationListener;
 
     public EnterDesktopTaskTransitionHandler(
-            Transitions transitions, InteractionJankMonitor interactionJankMonitor) {
-        this(transitions, interactionJankMonitor, SurfaceControl.Transaction::new);
+            Transitions transitions,
+            InteractionJankMonitor interactionJankMonitor,
+            LatencyTracker latencyTracker) {
+        this(transitions, interactionJankMonitor, latencyTracker, SurfaceControl.Transaction::new);
     }
 
     public EnterDesktopTaskTransitionHandler(
             Transitions transitions,
             InteractionJankMonitor interactionJankMonitor,
+            LatencyTracker latencyTracker,
             Supplier<SurfaceControl.Transaction> supplier) {
         mTransitions = transitions;
         mInteractionJankMonitor = interactionJankMonitor;
+        mLatencyTracker = latencyTracker;
         mTransactionSupplier = supplier;
     }
 
@@ -122,6 +128,13 @@
             }
         }
 
+        if (transitionHandled
+                && info.getType()
+                        == DesktopModeTransitionTypes
+                                .TRANSIT_ENTER_DESKTOP_FROM_APP_HANDLE_MENU_BUTTON) {
+            mLatencyTracker.onActionEnd(LatencyTracker.ACTION_DESKTOP_MODE_ENTER_APP_HANDLE_MENU);
+        }
+
         mPendingTransitionTokens.remove(transition);
 
         return transitionHandled;
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/VisualIndicatorViewContainer.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/VisualIndicatorViewContainer.kt
index 2317274..919e816 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/VisualIndicatorViewContainer.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/VisualIndicatorViewContainer.kt
@@ -44,6 +44,7 @@
 import com.android.wm.shell.shared.annotations.ShellMainThread
 import com.android.wm.shell.shared.bubbles.BubbleDropTargetBoundsProvider
 import com.android.wm.shell.windowdecor.WindowDecoration.SurfaceControlViewHostFactory
+import com.android.wm.shell.windowdecor.tiling.SnapEventHandler
 
 /**
  * Container for the view / viewhost of the indicator, ensuring it is created / animated off the
@@ -60,6 +61,7 @@
     private val surfaceControlViewHostFactory: SurfaceControlViewHostFactory =
         object : SurfaceControlViewHostFactory {},
     private val bubbleBoundsProvider: BubbleDropTargetBoundsProvider?,
+    private val snapEventHandler: SnapEventHandler,
 ) {
     @VisibleForTesting var indicatorView: View? = null
     private var indicatorViewHost: SurfaceControlViewHost? = null
@@ -164,9 +166,15 @@
                 displayController.getDisplayLayout(taskInfo.displayId)
                     ?: error("Expected to find DisplayLayout for taskId${taskInfo.taskId}.")
             if (currentType == IndicatorType.NO_INDICATOR) {
-                fadeInIndicator(layout, newType)
+                fadeInIndicator(layout, newType, taskInfo.displayId, snapEventHandler)
             } else if (newType == IndicatorType.NO_INDICATOR) {
-                fadeOutIndicator(layout, currentType, /* finishCallback= */ null)
+                fadeOutIndicator(
+                    layout,
+                    currentType,
+                    /* finishCallback= */ null,
+                    taskInfo.displayId,
+                    snapEventHandler,
+                )
             } else {
                 val animStartType = IndicatorType.valueOf(currentType.name)
                 val animator =
@@ -177,6 +185,8 @@
                             animStartType,
                             newType,
                             bubbleBoundsProvider,
+                            taskInfo.displayId,
+                            snapEventHandler,
                         )
                     } ?: return@execute
                 animator.start()
@@ -188,12 +198,24 @@
      * Fade indicator in as provided type. Animator fades it in while expanding the bounds outwards.
      */
     @VisibleForTesting
-    fun fadeInIndicator(layout: DisplayLayout, type: IndicatorType) {
+    fun fadeInIndicator(
+        layout: DisplayLayout,
+        type: IndicatorType,
+        displayId: Int,
+        snapEventHandler: SnapEventHandler,
+    ) {
         desktopExecutor.assertCurrentThread()
         indicatorView?.let {
             it.setBackgroundResource(R.drawable.desktop_windowing_transition_background)
             val animator =
-                VisualIndicatorAnimator.fadeBoundsIn(it, type, layout, bubbleBoundsProvider)
+                VisualIndicatorAnimator.fadeBoundsIn(
+                    it,
+                    type,
+                    layout,
+                    bubbleBoundsProvider,
+                    displayId,
+                    snapEventHandler,
+                )
             animator.start()
         }
     }
@@ -207,6 +229,8 @@
         layout: DisplayLayout,
         currentType: IndicatorType,
         finishCallback: Runnable?,
+        displayId: Int,
+        snapEventHandler: SnapEventHandler,
     ) {
         if (currentType == IndicatorType.NO_INDICATOR) {
             // In rare cases, fade out can be requested before the indicator has determined its
@@ -223,6 +247,8 @@
                         animStartType,
                         layout,
                         bubbleBoundsProvider,
+                        displayId,
+                        snapEventHandler,
                     )
                 animator.addListener(
                     object : AnimatorListenerAdapter() {
@@ -328,8 +354,17 @@
                 type: IndicatorType,
                 displayLayout: DisplayLayout,
                 bubbleBoundsProvider: BubbleDropTargetBoundsProvider?,
+                displayId: Int,
+                snapEventHandler: SnapEventHandler,
             ): VisualIndicatorAnimator {
-                val endBounds = getIndicatorBounds(displayLayout, type, bubbleBoundsProvider)
+                val endBounds =
+                    getIndicatorBounds(
+                        displayLayout,
+                        type,
+                        bubbleBoundsProvider,
+                        displayId,
+                        snapEventHandler,
+                    )
                 val startBounds = getMinBounds(endBounds)
                 view.background.bounds = startBounds
 
@@ -345,11 +380,19 @@
                 type: IndicatorType,
                 displayLayout: DisplayLayout,
                 bubbleBoundsProvider: BubbleDropTargetBoundsProvider?,
+                displayId: Int,
+                snapEventHandler: SnapEventHandler,
             ): VisualIndicatorAnimator {
-                val startBounds = getIndicatorBounds(displayLayout, type, bubbleBoundsProvider)
+                val startBounds =
+                    getIndicatorBounds(
+                        displayLayout,
+                        type,
+                        bubbleBoundsProvider,
+                        displayId,
+                        snapEventHandler,
+                    )
                 val endBounds = getMinBounds(startBounds)
                 view.background.bounds = startBounds
-
                 val animator = VisualIndicatorAnimator(view, startBounds, endBounds)
                 animator.interpolator = DecelerateInterpolator()
                 setupIndicatorAnimation(animator, AlphaAnimType.ALPHA_FADE_OUT_ANIM)
@@ -375,9 +418,25 @@
                 origType: IndicatorType,
                 newType: IndicatorType,
                 bubbleBoundsProvider: BubbleDropTargetBoundsProvider?,
+                displayId: Int,
+                snapEventHandler: SnapEventHandler,
             ): VisualIndicatorAnimator {
-                val startBounds = getIndicatorBounds(displayLayout, origType, bubbleBoundsProvider)
-                val endBounds = getIndicatorBounds(displayLayout, newType, bubbleBoundsProvider)
+                val startBounds =
+                    getIndicatorBounds(
+                        displayLayout,
+                        origType,
+                        bubbleBoundsProvider,
+                        displayId,
+                        snapEventHandler,
+                    )
+                val endBounds =
+                    getIndicatorBounds(
+                        displayLayout,
+                        newType,
+                        bubbleBoundsProvider,
+                        displayId,
+                        snapEventHandler,
+                    )
                 val animator = VisualIndicatorAnimator(view, startBounds, endBounds)
                 animator.interpolator = DecelerateInterpolator()
                 setupIndicatorAnimation(animator, AlphaAnimType.ALPHA_NO_CHANGE_ANIM)
@@ -389,6 +448,8 @@
                 layout: DisplayLayout,
                 type: IndicatorType,
                 bubbleBoundsProvider: BubbleDropTargetBoundsProvider?,
+                displayId: Int,
+                snapEventHandler: SnapEventHandler,
             ): Rect {
                 val desktopStableBounds = Rect()
                 layout.getStableBounds(desktopStableBounds)
@@ -417,21 +478,25 @@
                         )
                     }
 
-                    IndicatorType.TO_SPLIT_LEFT_INDICATOR ->
+                    IndicatorType.TO_SPLIT_LEFT_INDICATOR -> {
+                        val currentLeftBounds = snapEventHandler.getLeftSnapBoundsIfTiled(displayId)
                         return Rect(
                             padding,
                             padding,
-                            desktopStableBounds.width() / 2 - padding,
+                            currentLeftBounds.right - padding,
                             desktopStableBounds.height(),
                         )
-
-                    IndicatorType.TO_SPLIT_RIGHT_INDICATOR ->
+                    }
+                    IndicatorType.TO_SPLIT_RIGHT_INDICATOR -> {
+                        val currentRightBounds =
+                            snapEventHandler.getRightSnapBoundsIfTiled(displayId)
                         return Rect(
-                            desktopStableBounds.width() / 2 + padding,
+                            currentRightBounds.left + padding,
                             padding,
                             desktopStableBounds.width() - padding,
                             desktopStableBounds.height(),
                         )
+                    }
                     IndicatorType.TO_BUBBLE_LEFT_INDICATOR ->
                         return bubbleBoundsProvider?.getBubbleBarExpandedViewDropTargetBounds(
                             /* onLeft= */ true
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/compatui/SystemModalsTransitionHandler.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/compatui/SystemModalsTransitionHandler.kt
index 224ff37..3576b25 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/compatui/SystemModalsTransitionHandler.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/compatui/SystemModalsTransitionHandler.kt
@@ -162,7 +162,7 @@
         }
 
     private fun isDesktopModeShowing(displayId: Int): Boolean =
-        desktopUserRepositories.current.getVisibleTaskCount(displayId) > 0
+        desktopUserRepositories.current.isAnyDeskActive(displayId)
 
     override fun handleRequest(
         transition: IBinder,
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/multidesks/DesksTransitionObserver.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/multidesks/DesksTransitionObserver.kt
index e57b563..b521b2e 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/multidesks/DesksTransitionObserver.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/multidesks/DesksTransitionObserver.kt
@@ -31,12 +31,14 @@
     private val desktopUserRepositories: DesktopUserRepositories,
     private val desksOrganizer: DesksOrganizer,
 ) {
-    private val deskTransitions = mutableMapOf<IBinder, DeskTransition>()
+    private val deskTransitions = mutableMapOf<IBinder, MutableSet<DeskTransition>>()
 
     /** Adds a pending desk transition to be tracked. */
     fun addPendingTransition(transition: DeskTransition) {
         if (!DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_BACKEND.isTrue) return
-        deskTransitions[transition.token] = transition
+        val transitions = deskTransitions[transition.token] ?: mutableSetOf()
+        transitions += transition
+        deskTransitions[transition.token] = transitions
     }
 
     /**
@@ -45,7 +47,11 @@
      */
     fun onTransitionReady(transition: IBinder, info: TransitionInfo) {
         if (!DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_BACKEND.isTrue) return
-        val deskTransition = deskTransitions.remove(transition) ?: return
+        val deskTransitions = deskTransitions.remove(transition) ?: return
+        deskTransitions.forEach { deskTransition -> handleDeskTransition(info, deskTransition) }
+    }
+
+    private fun handleDeskTransition(info: TransitionInfo, deskTransition: DeskTransition) {
         logD("Desk transition ready: %s", deskTransition)
         val desktopRepository = desktopUserRepositories.current
         when (deskTransition) {
@@ -60,16 +66,21 @@
                 deskTransition.onDeskRemovedListener?.onDeskRemoved(displayId, deskId)
             }
             is DeskTransition.ActivateDesk -> {
-                val activeDeskChange =
+                val activateDeskChange =
                     info.changes.find { change ->
                         desksOrganizer.isDeskActiveAtEnd(change, deskTransition.deskId)
                     }
-                activeDeskChange?.let {
-                    desktopRepository.setActiveDesk(
-                        displayId = deskTransition.displayId,
-                        deskId = deskTransition.deskId,
-                    )
+                if (activateDeskChange == null) {
+                    // Always activate even if there is no change in the transition for the
+                    // activated desk. This is necessary because some activation requests, such as
+                    // those involving empty desks, may not contain visibility changes that are
+                    // reported in the transition change list.
+                    logD("Activating desk without transition change")
                 }
+                desktopRepository.setActiveDesk(
+                    displayId = deskTransition.displayId,
+                    deskId = deskTransition.deskId,
+                )
             }
             is DeskTransition.ActiveDeskWithTask -> {
                 val withTask =
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/freeform/OWNERS b/libs/WindowManager/Shell/src/com/android/wm/shell/freeform/OWNERS
index 44d46ee..7a63ec5 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/freeform/OWNERS
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/freeform/OWNERS
@@ -2,7 +2,6 @@
 atsjenk@google.com
 jorgegil@google.com
 madym@google.com
-nmusgrave@google.com
 pbdr@google.com
 vaniadesmonda@google.com
 pragyabajoria@google.com
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java
index 61a193c..04f0336 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java
@@ -782,7 +782,7 @@
     private boolean isPipExitingToDesktopMode() {
         DesktopRepository currentRepo = getCurrentRepo();
         return Flags.enableDesktopWindowingPip() && currentRepo != null
-                && (currentRepo.getVisibleTaskCount(mTaskInfo.displayId) > 0
+                && (currentRepo.isAnyDeskActive(mTaskInfo.displayId)
                     || isDisplayInFreeform());
     }
 
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/OWNERS b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/OWNERS
index 5aa3c4e..245669b 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/OWNERS
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/OWNERS
@@ -1,3 +1,2 @@
 # WM shell sub-module TV pip owner
-galinap@google.com
 bronger@google.com
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 1ce24f7..d16c578 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
@@ -345,7 +345,6 @@
             return;
         }
 
-        mPipTouchHandler.updateMinMaxSize(mPipBoundsState.getAspectRatio());
         mPipMenuController.hideMenu();
 
         if (mPipTransitionState.isInFixedRotation()) {
@@ -366,6 +365,8 @@
             mPipBoundsState.setBounds(toBounds);
         }
         t.setBounds(mPipTransitionState.getPipTaskToken(), mPipBoundsState.getBounds());
+        // Update the size spec in PipBoundsState afterwards.
+        mPipBoundsState.updateMinMaxSize(mPipBoundsState.getAspectRatio());
     }
 
     private void setDisplayLayout(DisplayLayout layout) {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipResizeGestureHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipResizeGestureHandler.java
index b869bf1..d53365a 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipResizeGestureHandler.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipResizeGestureHandler.java
@@ -81,8 +81,6 @@
     private final PointF mDownSecondPoint = new PointF();
     private final PointF mLastPoint = new PointF();
     private final PointF mLastSecondPoint = new PointF();
-    private final Point mMaxSize = new Point();
-    private final Point mMinSize = new Point();
     private final Rect mLastResizeBounds = new Rect();
     private final Rect mUserResizeBounds = new Rect();
     private final Rect mDownBounds = new Rect();
@@ -95,7 +93,6 @@
     private boolean mIsEnabled;
     private boolean mEnablePinchResize;
     private boolean mEnableDragCornerResize;
-    private boolean mIsSysUiStateValid;
     private boolean mThresholdCrossed;
     private boolean mOngoingPinchToResize = false;
     private boolean mWaitingForBoundsChangeTransition = false;
@@ -152,7 +149,6 @@
     }
 
     void init() {
-        mContext.getDisplay().getRealSize(mMaxSize);
         reloadResources();
 
         final Resources res = mContext.getResources();
@@ -163,15 +159,6 @@
         reloadResources();
     }
 
-    /**
-     * Called when SysUI state changed.
-     *
-     * @param isSysUiStateValid Is SysUI valid or not.
-     */
-    public void onSystemUiStateChanged(boolean isSysUiStateValid) {
-        mIsSysUiStateValid = isSysUiStateValid;
-    }
-
     private void reloadResources() {
         mPipDragToResizeHandler.reloadResources();
         mTouchSlop = ViewConfiguration.get(mContext).getScaledTouchSlop();
@@ -287,13 +274,15 @@
                 }
             }
 
+            final Point minSize = mPipBoundsState.getMinSize();
+            final Point maxSize = mPipBoundsState.getMaxSize();
             if (mOngoingPinchToResize) {
                 mPipPinchToResizeHandler.onPinchResize(mv, mDownPoint, mDownSecondPoint,
                         mDownBounds, mLastPoint, mLastSecondPoint, mLastResizeBounds, mTouchSlop,
-                        mMinSize, mMaxSize);
+                        minSize, maxSize);
             } else if (mEnableDragCornerResize) {
                 mPipDragToResizeHandler.onDragCornerResize(mv, mLastResizeBounds, mDownPoint,
-                        mDownBounds, mMinSize, mMaxSize, mTouchSlop);
+                        mDownBounds, minSize, maxSize, mTouchSlop);
             }
         }
     }
@@ -327,7 +316,7 @@
                 if (mEnablePinchResize && ev.getPointerCount() == 2) {
                     mPipPinchToResizeHandler.onPinchResize(ev, mDownPoint, mDownSecondPoint,
                             mDownBounds, mLastPoint, mLastSecondPoint, mLastResizeBounds,
-                            mTouchSlop, mMinSize, mMaxSize);
+                            mTouchSlop, mPipBoundsState.getMinSize(), mPipBoundsState.getMaxSize());
                     mOngoingPinchToResize = mAllowGesture;
                     return mAllowGesture;
                 }
@@ -395,6 +384,7 @@
     void finishResize() {
         if (mLastResizeBounds.isEmpty()) {
             resetState();
+            return;
         }
 
         // Cache initial bounds after release for animation before mLastResizeBounds are modified.
@@ -406,16 +396,19 @@
             return;
         }
 
+        final Point minSize = mPipBoundsState.getMinSize();
+        final Point maxSize = mPipBoundsState.getMaxSize();
+
         // If user resize is pretty close to max size, just auto resize to max.
-        if (mLastResizeBounds.width() >= PINCH_RESIZE_AUTO_MAX_RATIO * mMaxSize.x
-                || mLastResizeBounds.height() >= PINCH_RESIZE_AUTO_MAX_RATIO * mMaxSize.y) {
-            resizeRectAboutCenter(mLastResizeBounds, mMaxSize.x, mMaxSize.y);
+        if (mLastResizeBounds.width() >= PINCH_RESIZE_AUTO_MAX_RATIO * maxSize.x
+                || mLastResizeBounds.height() >= PINCH_RESIZE_AUTO_MAX_RATIO * maxSize.y) {
+            resizeRectAboutCenter(mLastResizeBounds, maxSize.x, maxSize.y);
         }
 
         // If user resize is smaller than min size, auto resize to min
-        if (mLastResizeBounds.width() < mMinSize.x
-                || mLastResizeBounds.height() < mMinSize.y) {
-            resizeRectAboutCenter(mLastResizeBounds, mMinSize.x, mMinSize.y);
+        if (mLastResizeBounds.width() < minSize.x
+                || mLastResizeBounds.height() < minSize.y) {
+            resizeRectAboutCenter(mLastResizeBounds, minSize.x, minSize.y);
         }
 
         // get the current movement bounds
@@ -471,15 +464,6 @@
         mInputMonitor.pilferPointers();
     }
 
-
-    void updateMaxSize(int maxX, int maxY) {
-        mMaxSize.set(maxX, maxY);
-    }
-
-    void updateMinSize(int minX, int minY) {
-        mMinSize.set(minX, minY);
-    }
-
     void setOhmOffset(int offset) {
         mOhmOffset = offset;
     }
@@ -567,8 +551,6 @@
         pw.println(innerPrefix + "mEnableDragCornerResize=" + mEnableDragCornerResize);
         pw.println(innerPrefix + "mThresholdCrossed=" + mThresholdCrossed);
         pw.println(innerPrefix + "mOhmOffset=" + mOhmOffset);
-        pw.println(innerPrefix + "mMinSize=" + mMinSize);
-        pw.println(innerPrefix + "mMaxSize=" + mMaxSize);
     }
 
     class PipResizeInputEventReceiver extends BatchedInputEventReceiver {
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 7805ec3..383afcf 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
@@ -16,9 +16,11 @@
 
 package com.android.wm.shell.pip2.phone;
 
+import android.app.PictureInPictureParams;
 import android.content.Context;
 import android.graphics.Matrix;
 import android.graphics.Rect;
+import android.os.SystemProperties;
 import android.view.SurfaceControl;
 import android.window.WindowContainerToken;
 import android.window.WindowContainerTransaction;
@@ -28,6 +30,7 @@
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.protolog.ProtoLog;
+import com.android.wm.shell.common.ScreenshotUtils;
 import com.android.wm.shell.common.ShellExecutor;
 import com.android.wm.shell.common.pip.PipBoundsState;
 import com.android.wm.shell.common.pip.PipDesktopState;
@@ -39,6 +42,7 @@
 import com.android.wm.shell.splitscreen.SplitScreenController;
 
 import java.util.Optional;
+import java.util.function.Supplier;
 
 /**
  * Scheduler for Shell initiated PiP transitions and animations.
@@ -46,6 +50,15 @@
 public class PipScheduler {
     private static final String TAG = PipScheduler.class.getSimpleName();
 
+    /**
+     * 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.
+     */
+    public 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;
+
     private final Context mContext;
     private final PipBoundsState mPipBoundsState;
     private final ShellExecutor mMainExecutor;
@@ -60,6 +73,7 @@
     @Nullable private Runnable mUpdateMovementBoundsRunnable;
 
     private PipAlphaAnimatorSupplier mPipAlphaAnimatorSupplier;
+    private Supplier<PictureInPictureParams> mPipParamsSupplier;
 
     public PipScheduler(Context context,
             PipBoundsState pipBoundsState,
@@ -222,6 +236,16 @@
         tx.apply();
     }
 
+    void startOverlayFadeoutAnimation(@NonNull SurfaceControl overlayLeash,
+            boolean withStartDelay, @NonNull Runnable onAnimationEnd) {
+        PipAlphaAnimator animator = mPipAlphaAnimatorSupplier.get(mContext, overlayLeash,
+                null /* startTx */, null /* finishTx */, PipAlphaAnimator.FADE_OUT);
+        animator.setDuration(CONTENT_OVERLAY_FADE_OUT_DURATION_MS);
+        animator.setStartDelay(withStartDelay ? EXTRA_CONTENT_OVERLAY_FADE_OUT_DELAY_MS : 0);
+        animator.setAnimationEndCallback(onAnimationEnd);
+        animator.start();
+    }
+
     void setUpdateMovementBoundsRunnable(@Nullable Runnable updateMovementBoundsRunnable) {
         mUpdateMovementBoundsRunnable = updateMovementBoundsRunnable;
     }
@@ -236,6 +260,25 @@
         if (mPipBoundsState.getBounds().equals(newBounds)) {
             return;
         }
+
+        // Take a screenshot of PiP and fade it out after resize is finished if seamless resize
+        // is off and if the PiP size is changing.
+        boolean animateCrossFadeResize = !getPipParams().isSeamlessResizeEnabled()
+                && !(mPipBoundsState.getBounds().width() == newBounds.width()
+                && mPipBoundsState.getBounds().height() == newBounds.height());
+        if (animateCrossFadeResize) {
+            final Rect crop = new Rect(newBounds);
+            crop.offsetTo(0, 0);
+            // Note: Put this at layer=MAX_VALUE-2 since the input consumer for PIP is placed at
+            //       MAX_VALUE-1
+            final SurfaceControl snapshotSurface = ScreenshotUtils.takeScreenshot(
+                    mSurfaceControlTransactionFactory.getTransaction(),
+                    mPipTransitionState.getPinnedTaskLeash(), crop, Integer.MAX_VALUE - 2);
+            startOverlayFadeoutAnimation(snapshotSurface, false /* withStartDelay */, () -> {
+                mSurfaceControlTransactionFactory.getTransaction().remove(snapshotSurface).apply();
+            });
+        }
+
         mPipBoundsState.setBounds(newBounds);
         maybeUpdateMovementBounds();
     }
@@ -259,4 +302,14 @@
     void setPipAlphaAnimatorSupplier(@NonNull PipAlphaAnimatorSupplier supplier) {
         mPipAlphaAnimatorSupplier = supplier;
     }
+
+    void setPipParamsSupplier(@NonNull Supplier<PictureInPictureParams> pipParamsSupplier) {
+        mPipParamsSupplier = pipParamsSupplier;
+    }
+
+    @NonNull
+    private PictureInPictureParams getPipParams() {
+        if (mPipParamsSupplier == null) return new PictureInPictureParams.Builder().build();
+        return mPipParamsSupplier.get();
+    }
 }
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipTaskListener.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipTaskListener.java
index dbcbf36..d663484 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipTaskListener.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipTaskListener.java
@@ -91,6 +91,7 @@
             });
         }
         mPipResizeAnimatorSupplier = PipResizeAnimator::new;
+        mPipScheduler.setPipParamsSupplier(this::getPictureInPictureParams);
     }
 
     void setPictureInPictureParams(@Nullable PictureInPictureParams params) {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipTouchHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipTouchHandler.java
index 72346b3..6fdfeca 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipTouchHandler.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipTouchHandler.java
@@ -230,10 +230,7 @@
                 pipBoundsState, mTouchState, mPipScheduler, mPipTransitionState, pipUiEventLogger,
                 menuController, this::getMovementBounds, mPipDisplayLayoutState, pipDesktopState,
                 mainExecutor, mPipPerfHintController);
-        mPipBoundsState.addOnAspectRatioChangedCallback(aspectRatio -> {
-            updateMinMaxSize(aspectRatio);
-            onAspectRatioChanged();
-        });
+        mPipBoundsState.addOnAspectRatioChangedCallback(aspectRatio -> onAspectRatioChanged());
 
         mMoveOnShelVisibilityChanged = () -> {
             if (mIsImeShowing && mImeHeight > mShelfHeight) {
@@ -418,15 +415,6 @@
         mMainExecutor.executeDelayed(mMoveOnShelVisibilityChanged, PIP_KEEP_CLEAR_AREAS_DELAY);
     }
 
-    /**
-     * Called when SysUI state changed.
-     *
-     * @param isSysUiStateValid Is SysUI valid or not.
-     */
-    public void onSystemUiStateChanged(boolean isSysUiStateValid) {
-        mPipResizeGestureHandler.onSystemUiStateChanged(isSysUiStateValid);
-    }
-
     void adjustBoundsForRotation(Rect outBounds, Rect curBounds, Rect insetBounds) {
         final Rect toMovementBounds = new Rect();
         mPipBoundsAlgorithm.getMovementBounds(outBounds, insetBounds, toMovementBounds, 0);
@@ -480,8 +468,6 @@
                 mPipBoundsState.getExpandedBounds(), insetBounds, expandedMovementBounds,
                 bottomOffset);
 
-        updatePipSizeConstraints(normalBounds, aspectRatio);
-
         // The extra offset does not really affect the movement bounds, but are applied based on the
         // current state (ime showing, or shelf offset) when we need to actually shift
         int extraOffset = Math.max(
@@ -507,35 +493,6 @@
     }
 
     /**
-     * Update the values for min/max allowed size of picture in picture window based on the aspect
-     * ratio.
-     * @param aspectRatio aspect ratio to use for the calculation of min/max size
-     */
-    public void updateMinMaxSize(float aspectRatio) {
-        updatePipSizeConstraints(mPipBoundsState.getNormalBounds(),
-                aspectRatio);
-    }
-
-    private void updatePipSizeConstraints(Rect normalBounds,
-            float aspectRatio) {
-        if (mPipResizeGestureHandler.isUsingPinchToZoom()) {
-            updatePinchResizeSizeConstraints(aspectRatio);
-        } else {
-            mPipResizeGestureHandler.updateMinSize(normalBounds.width(), normalBounds.height());
-            mPipResizeGestureHandler.updateMaxSize(mPipBoundsState.getExpandedBounds().width(),
-                    mPipBoundsState.getExpandedBounds().height());
-        }
-    }
-
-    private void updatePinchResizeSizeConstraints(float aspectRatio) {
-        mPipBoundsState.updateMinMaxSize(aspectRatio);
-        mPipResizeGestureHandler.updateMinSize(mPipBoundsState.getMinSize().x,
-                mPipBoundsState.getMinSize().y);
-        mPipResizeGestureHandler.updateMaxSize(mPipBoundsState.getMaxSize().x,
-                mPipBoundsState.getMaxSize().y);
-    }
-
-    /**
      * TODO Add appropriate description
      */
     public void onRegistrationChanged(boolean isRegistered) {
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 0cfab11..91fbd45 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,7 +50,6 @@
 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;
@@ -102,15 +101,6 @@
             "animating_bounds_change_duration";
     static final int BOUNDS_CHANGE_JUMPCUT_DURATION = 0;
 
-    /**
-     * 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 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
     //
@@ -481,7 +471,8 @@
 
         if (swipePipToHomeOverlay != null) {
             // fadeout the overlay if needed.
-            startOverlayFadeoutAnimation(swipePipToHomeOverlay, () -> {
+            mPipScheduler.startOverlayFadeoutAnimation(swipePipToHomeOverlay,
+                    true /* withStartDelay */, () -> {
                 SurfaceControl.Transaction tx = new SurfaceControl.Transaction();
                 tx.remove(swipePipToHomeOverlay);
                 tx.apply();
@@ -542,8 +533,8 @@
         animator.setAnimationStartCallback(() -> animator.setEnterStartState(pipChange));
         animator.setAnimationEndCallback(() -> {
             if (animator.getContentOverlayLeash() != null) {
-                startOverlayFadeoutAnimation(animator.getContentOverlayLeash(),
-                        animator::clearAppIconOverlay);
+                mPipScheduler.startOverlayFadeoutAnimation(animator.getContentOverlayLeash(),
+                        true /* withStartDelay */, animator::clearAppIconOverlay);
             }
             finishTransition();
         });
@@ -551,16 +542,6 @@
         return true;
     }
 
-    private void startOverlayFadeoutAnimation(@NonNull SurfaceControl overlayLeash,
-            @NonNull Runnable onAnimationEnd) {
-        PipAlphaAnimator animator = new PipAlphaAnimator(mContext, overlayLeash,
-                null /* startTx */, null /* finishTx */, PipAlphaAnimator.FADE_OUT);
-        animator.setDuration(CONTENT_OVERLAY_FADE_OUT_DURATION_MS);
-        animator.setStartDelay(EXTRA_CONTENT_OVERLAY_FADE_OUT_DELAY_MS);
-        animator.setAnimationEndCallback(onAnimationEnd);
-        animator.start();
-    }
-
     private void handleBoundsEnterFixedRotation(TransitionInfo info,
             TransitionInfo.Change outPipTaskChange,
             TransitionInfo.Change outPipActivityChange) {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java
index ba30d92..10b23fd 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java
@@ -54,6 +54,7 @@
 import android.graphics.Rect;
 import android.os.Bundle;
 import android.os.Handler;
+import android.os.IBinder;
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.util.ArrayMap;
@@ -580,10 +581,13 @@
      * @param wct transaction to apply if this is a valid request
      * @param splitPosition the split position this task should move to
      * @param taskBounds current freeform bounds of the task entering split
+     *
+     * @return the token of the transition that started as a result of entering split select.
      */
-    public void requestEnterSplitSelect(ActivityManager.RunningTaskInfo taskInfo,
+    @Nullable
+    public IBinder requestEnterSplitSelect(ActivityManager.RunningTaskInfo taskInfo,
             WindowContainerTransaction wct, int splitPosition, Rect taskBounds) {
-        mStageCoordinator.requestEnterSplitSelect(taskInfo, wct, splitPosition, taskBounds);
+        return mStageCoordinator.requestEnterSplitSelect(taskInfo, wct, splitPosition, taskBounds);
     }
 
     /**
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java
index 77a7c54..a3a808d 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java
@@ -93,6 +93,7 @@
 import android.app.ActivityOptions;
 import android.app.IActivityTaskManager;
 import android.app.PendingIntent;
+import android.app.PictureInPictureParams;
 import android.app.TaskInfo;
 import android.content.ActivityNotFoundException;
 import android.content.Context;
@@ -122,6 +123,7 @@
 import android.view.SurfaceControl;
 import android.view.WindowManager;
 import android.widget.Toast;
+import android.window.DesktopExperienceFlags;
 import android.window.DisplayAreaInfo;
 import android.window.RemoteTransition;
 import android.window.TransitionInfo;
@@ -219,6 +221,7 @@
     private final Context mContext;
     private final List<SplitScreen.SplitScreenListener> mListeners = new ArrayList<>();
     private final Set<SplitScreen.SplitSelectListener> mSelectListeners = new HashSet<>();
+    private final Transitions mTransitions;
     private final DisplayController mDisplayController;
     private final DisplayImeController mDisplayImeController;
     private final DisplayInsetsController mDisplayInsetsController;
@@ -419,6 +422,7 @@
                     iconProvider,
                     mWindowDecorViewModel, STAGE_TYPE_SIDE);
         }
+        mTransitions = transitions;
         mDisplayController = displayController;
         mDisplayImeController = displayImeController;
         mDisplayInsetsController = displayInsetsController;
@@ -455,6 +459,7 @@
         mTaskOrganizer = taskOrganizer;
         mMainStage = mainStage;
         mSideStage = sideStage;
+        mTransitions = transitions;
         mDisplayController = displayController;
         mDisplayImeController = displayImeController;
         mDisplayInsetsController = displayInsetsController;
@@ -660,16 +665,22 @@
         return mLogger;
     }
 
-    void requestEnterSplitSelect(ActivityManager.RunningTaskInfo taskInfo,
+    @Nullable
+    IBinder requestEnterSplitSelect(ActivityManager.RunningTaskInfo taskInfo,
             WindowContainerTransaction wct, int splitPosition, Rect taskBounds) {
         boolean enteredSplitSelect = false;
         for (SplitScreen.SplitSelectListener listener : mSelectListeners) {
             enteredSplitSelect |= listener.onRequestEnterSplitSelect(taskInfo, splitPosition,
                     taskBounds);
         }
-        if (enteredSplitSelect) {
-            mTaskOrganizer.applyTransaction(wct);
+        if (!enteredSplitSelect) {
+            return null;
         }
+        if (!DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_BACKEND.isTrue()) {
+            mTaskOrganizer.applyTransaction(wct);
+            return null;
+        }
+        return mTransitions.startTransition(TRANSIT_CHANGE, wct, /* handler= */ null);
     }
 
     void startShortcut(String packageName, String shortcutId, @SplitPosition int position,
@@ -2069,8 +2080,8 @@
                             Math.max(topLeftBounds.top, 0);
                     bottomRightBounds.right =
                             Math.min(bottomRightBounds.right, mSplitLayout.getDisplayWidth());
-                    bottomRightBounds.top =
-                            Math.min(bottomRightBounds.top, mSplitLayout.getDisplayHeight());
+                    bottomRightBounds.bottom =
+                            Math.min(bottomRightBounds.bottom, mSplitLayout.getDisplayHeight());
 
                     // TODO (b/349828130): Can change to getState() fully after brief soak time.
                     if (mSplitState.get() != currentSnapPosition) {
@@ -2880,6 +2891,16 @@
                     prepareEnterSplitScreen(out);
                     mSplitTransitions.setEnterTransition(transition, request.getRemoteTransition(),
                             TRANSIT_SPLIT_SCREEN_PAIR_OPEN, !mIsDropEntering);
+                } else if (isSplitScreenVisible() && isOpening) {
+                    // launching into an existing split stage; possibly launchAdjacent
+                    // If we're replacing a pip-able app, we need to let mixed handler take care of
+                    // it. Otherwise we'll just treat it as an enter+resize
+                    if (mSplitLayout.calculateCurrentSnapPosition() != SNAP_TO_2_50_50) {
+                        // updated layout will get applied in startAnimation pendingResize
+                        mSplitTransitions.setEnterTransition(transition,
+                                request.getRemoteTransition(),
+                                TRANSIT_SPLIT_SCREEN_OPEN_TO_SIDE, true /*resizeAnim*/);
+                    }
                 } else if (inFullscreen && isSplitScreenVisible()) {
                     // If the trigger task is in fullscreen and in split, exit split and place
                     // task on top
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/tv/OWNERS b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/tv/OWNERS
index 28be0ef..9dc0ebb 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/tv/OWNERS
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/tv/OWNERS
@@ -1,3 +1,2 @@
 # WM shell sub-module TV splitscreen owner
-galinap@google.com
 bronger@google.com
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 347dcff..a0fb625 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
@@ -377,7 +377,7 @@
                 return this::setRecentsTransitionDuringKeyguard;
             } else if (mDesktopTasksController != null
                     // Check on the default display. Recents/gesture nav is only available there
-                    && mDesktopTasksController.visibleTaskCount(DEFAULT_DISPLAY) > 0) {
+                    && mDesktopTasksController.isAnyDeskActive(DEFAULT_DISPLAY)) {
                 return this::setRecentsTransitionDuringDesktop;
             }
         }
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 e9c6ade..bf58003 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
@@ -67,7 +67,6 @@
 import static com.android.internal.policy.TransitionAnimation.WALLPAPER_TRANSITION_NONE;
 import static com.android.internal.policy.TransitionAnimation.WALLPAPER_TRANSITION_OPEN;
 import static com.android.wm.shell.transition.DefaultSurfaceAnimator.buildSurfaceAnimation;
-import static com.android.wm.shell.transition.TransitionAnimationHelper.edgeExtendWindow;
 import static com.android.wm.shell.transition.TransitionAnimationHelper.getTransitionBackgroundColorIfSet;
 import static com.android.wm.shell.transition.TransitionAnimationHelper.getTransitionTypeFromInfo;
 import static com.android.wm.shell.transition.TransitionAnimationHelper.isCoveredByOpaqueFullscreenChange;
@@ -96,7 +95,6 @@
 import android.util.ArrayMap;
 import android.view.SurfaceControl;
 import android.view.WindowManager;
-import android.view.animation.AlphaAnimation;
 import android.view.animation.Animation;
 import android.window.TransitionInfo;
 import android.window.TransitionMetrics;
@@ -543,21 +541,9 @@
                         backgroundColorForTransition);
 
                 if (!isTask && a.getExtensionEdges() != 0x0) {
-                    if (com.android.graphics.libgui.flags.Flags.edgeExtensionShader()) {
-                        startTransaction.setEdgeExtensionEffect(
-                                change.getLeash(), a.getExtensionEdges());
-                        finishTransaction.setEdgeExtensionEffect(change.getLeash(), /* edge */ 0);
-                    } else {
-                        if (!TransitionUtil.isOpeningType(mode)) {
-                            // Can screenshot now (before startTransaction is applied)
-                            edgeExtendWindow(change, a, startTransaction, finishTransaction);
-                        } else {
-                            // Need to screenshot after startTransaction is applied otherwise
-                            // activity may not be visible or ready yet.
-                            postStartTransactionCallbacks
-                                    .add(t -> edgeExtendWindow(change, a, t, finishTransaction));
-                        }
-                    }
+                    startTransaction.setEdgeExtensionEffect(
+                            change.getLeash(), a.getExtensionEdges());
+                    finishTransaction.setEdgeExtensionEffect(change.getLeash(), /* edge */ 0);
                 }
 
                 final Rect clipRect = TransitionUtil.isClosingType(mode)
@@ -848,9 +834,8 @@
                 a = mTransitionAnimation.loadVoiceActivityExitAnimation(enter, userId);
             }
         } else if (changeMode == TRANSIT_CHANGE) {
-            // In the absence of a specific adapter, we just want to keep everything stationary.
-            a = new AlphaAnimation(1.f, 1.f);
-            a.setDuration(TransitionAnimation.DEFAULT_APP_TRANSITION_DURATION);
+            // Apply end state directly by default.
+            return null;
         } else if (type == TRANSIT_RELAUNCH) {
             a = mTransitionAnimation.createRelaunchAnimation(endBounds, mInsets, endBounds);
         } else if (overrideType == ANIM_CUSTOM
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/FocusTransitionObserver.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/FocusTransitionObserver.java
index e04682a..f0f1ad0 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/FocusTransitionObserver.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/FocusTransitionObserver.java
@@ -16,6 +16,7 @@
 
 package com.android.wm.shell.transition;
 
+import static android.app.ActivityTaskManager.INVALID_TASK_ID;
 import static android.view.Display.DEFAULT_DISPLAY;
 import static android.view.Display.INVALID_DISPLAY;
 import static android.view.WindowManager.TRANSIT_CHANGE;
@@ -216,6 +217,17 @@
     }
 
     /**
+     * Gets the globally focused task ID.
+     */
+    public int getGloballyFocusedTaskId() {
+        if (!enableDisplayFocusInShellTransitions() || mFocusedDisplayId == INVALID_DISPLAY) {
+            return INVALID_TASK_ID;
+        }
+        final RunningTaskInfo globallyFocusedTask = mFocusedTaskOnDisplay.get(mFocusedDisplayId);
+        return globallyFocusedTask != null ? globallyFocusedTask.taskId : INVALID_TASK_ID;
+    }
+
+    /**
      * Checks whether the given task has focused globally on the system.
      * (Note {@link RunningTaskInfo#isFocused} represents per-display focus.)
      */
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 7984bce..edfb560 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
@@ -26,7 +26,6 @@
 import static android.view.WindowManager.TRANSIT_TO_FRONT;
 import static android.window.TransitionInfo.FLAGS_IS_NON_APP_WINDOW;
 import static android.window.TransitionInfo.FLAG_IS_DISPLAY;
-import static android.window.TransitionInfo.FLAG_STARTING_WINDOW_TRANSFER_RECIPIENT;
 import static android.window.TransitionInfo.FLAG_TRANSLUCENT;
 
 import static com.android.internal.policy.TransitionAnimation.WALLPAPER_TRANSITION_CLOSE;
@@ -39,20 +38,10 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.WindowConfiguration;
-import android.graphics.BitmapShader;
-import android.graphics.Canvas;
 import android.graphics.Color;
-import android.graphics.Insets;
-import android.graphics.Paint;
-import android.graphics.PixelFormat;
-import android.graphics.Rect;
-import android.graphics.Shader;
-import android.view.Surface;
 import android.view.SurfaceControl;
 import android.view.WindowManager;
 import android.view.animation.Animation;
-import android.view.animation.Transformation;
-import android.window.ScreenCapture;
 import android.window.TransitionInfo;
 
 import com.android.internal.R;
@@ -317,129 +306,6 @@
     }
 
     /**
-     * Adds edge extension surface to the given {@code change} for edge extension animation.
-     */
-    public static void edgeExtendWindow(@NonNull TransitionInfo.Change change,
-            @NonNull Animation a, @NonNull SurfaceControl.Transaction startTransaction,
-            @NonNull SurfaceControl.Transaction finishTransaction) {
-        // Do not create edge extension surface for transfer starting window change.
-        // The app surface could be empty thus nothing can draw on the hardware renderer, which will
-        // block this thread when calling Surface#unlockCanvasAndPost.
-        if ((change.getFlags() & FLAG_STARTING_WINDOW_TRANSFER_RECIPIENT) != 0) {
-            return;
-        }
-        final Transformation transformationAtStart = new Transformation();
-        a.getTransformationAt(0, transformationAtStart);
-        final Transformation transformationAtEnd = new Transformation();
-        a.getTransformationAt(1, transformationAtEnd);
-
-        // We want to create an extension surface that is the maximal size and the animation will
-        // take care of cropping any part that overflows.
-        final Insets maxExtensionInsets = Insets.min(
-                transformationAtStart.getInsets(), transformationAtEnd.getInsets());
-
-        final int targetSurfaceHeight = Math.max(change.getStartAbsBounds().height(),
-                change.getEndAbsBounds().height());
-        final int targetSurfaceWidth = Math.max(change.getStartAbsBounds().width(),
-                change.getEndAbsBounds().width());
-        if (maxExtensionInsets.left < 0) {
-            final Rect edgeBounds = new Rect(0, 0, 1, targetSurfaceHeight);
-            final Rect extensionRect = new Rect(0, 0,
-                    -maxExtensionInsets.left, targetSurfaceHeight);
-            final int xPos = maxExtensionInsets.left;
-            final int yPos = 0;
-            createExtensionSurface(change.getLeash(), edgeBounds, extensionRect, xPos, yPos,
-                    "Left Edge Extension", startTransaction, finishTransaction);
-        }
-
-        if (maxExtensionInsets.top < 0) {
-            final Rect edgeBounds = new Rect(0, 0, targetSurfaceWidth, 1);
-            final Rect extensionRect = new Rect(0, 0,
-                    targetSurfaceWidth, -maxExtensionInsets.top);
-            final int xPos = 0;
-            final int yPos = maxExtensionInsets.top;
-            createExtensionSurface(change.getLeash(), edgeBounds, extensionRect, xPos, yPos,
-                    "Top Edge Extension", startTransaction, finishTransaction);
-        }
-
-        if (maxExtensionInsets.right < 0) {
-            final Rect edgeBounds = new Rect(targetSurfaceWidth - 1, 0,
-                    targetSurfaceWidth, targetSurfaceHeight);
-            final Rect extensionRect = new Rect(0, 0,
-                    -maxExtensionInsets.right, targetSurfaceHeight);
-            final int xPos = targetSurfaceWidth;
-            final int yPos = 0;
-            createExtensionSurface(change.getLeash(), edgeBounds, extensionRect, xPos, yPos,
-                    "Right Edge Extension", startTransaction, finishTransaction);
-        }
-
-        if (maxExtensionInsets.bottom < 0) {
-            final Rect edgeBounds = new Rect(0, targetSurfaceHeight - 1,
-                    targetSurfaceWidth, targetSurfaceHeight);
-            final Rect extensionRect = new Rect(0, 0,
-                    targetSurfaceWidth, -maxExtensionInsets.bottom);
-            final int xPos = maxExtensionInsets.left;
-            final int yPos = targetSurfaceHeight;
-            createExtensionSurface(change.getLeash(), edgeBounds, extensionRect, xPos, yPos,
-                    "Bottom Edge Extension", startTransaction, finishTransaction);
-        }
-    }
-
-    /**
-     * Takes a screenshot of {@code surfaceToExtend}'s edge and extends it for edge extension
-     * animation.
-     */
-    private static SurfaceControl createExtensionSurface(@NonNull SurfaceControl surfaceToExtend,
-            @NonNull Rect edgeBounds, @NonNull Rect extensionRect, int xPos, int yPos,
-            @NonNull String layerName, @NonNull SurfaceControl.Transaction startTransaction,
-            @NonNull SurfaceControl.Transaction finishTransaction) {
-        final SurfaceControl edgeExtensionLayer = new SurfaceControl.Builder()
-                .setName(layerName)
-                .setParent(surfaceToExtend)
-                .setHidden(true)
-                .setCallsite("TransitionAnimationHelper#createExtensionSurface")
-                .setOpaque(true)
-                .setBufferSize(extensionRect.width(), extensionRect.height())
-                .build();
-
-        final ScreenCapture.LayerCaptureArgs captureArgs =
-                new ScreenCapture.LayerCaptureArgs.Builder(surfaceToExtend)
-                        .setSourceCrop(edgeBounds)
-                        .setFrameScale(1)
-                        .setPixelFormat(PixelFormat.RGBA_8888)
-                        .setChildrenOnly(true)
-                        .setAllowProtected(false)
-                        .setCaptureSecureLayers(true)
-                        .build();
-        final ScreenCapture.ScreenshotHardwareBuffer edgeBuffer =
-                ScreenCapture.captureLayers(captureArgs);
-
-        if (edgeBuffer == null) {
-            ProtoLog.e(ShellProtoLogGroup.WM_SHELL_TRANSITIONS,
-                    "Failed to capture edge of window.");
-            return null;
-        }
-
-        final BitmapShader shader = new BitmapShader(edgeBuffer.asBitmap(),
-                Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
-        final Paint paint = new Paint();
-        paint.setShader(shader);
-
-        final Surface surface = new Surface(edgeExtensionLayer);
-        final Canvas c = surface.lockHardwareCanvas();
-        c.drawRect(extensionRect, paint);
-        surface.unlockCanvasAndPost(c);
-        surface.release();
-
-        startTransaction.setLayer(edgeExtensionLayer, Integer.MIN_VALUE);
-        startTransaction.setPosition(edgeExtensionLayer, xPos, yPos);
-        startTransaction.setVisibility(edgeExtensionLayer, true);
-        finishTransaction.remove(edgeExtensionLayer);
-
-        return edgeExtensionLayer;
-    }
-
-    /**
      * Returns whether there is an opaque fullscreen Change positioned in front of the given Change
      * in the given TransitionInfo.
      */
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecoration.java
index 49510c8..5e8c1fe 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecoration.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecoration.java
@@ -61,6 +61,7 @@
 import com.android.wm.shell.common.SyncTransactionQueue;
 import com.android.wm.shell.shared.annotations.ShellBackgroundThread;
 import com.android.wm.shell.shared.annotations.ShellMainThread;
+import com.android.wm.shell.shared.desktopmode.DesktopModeStatus;
 import com.android.wm.shell.windowdecor.common.viewhost.WindowDecorViewHost;
 import com.android.wm.shell.windowdecor.common.viewhost.WindowDecorViewHostSupplier;
 import com.android.wm.shell.windowdecor.extension.TaskInfoKt;
@@ -247,6 +248,10 @@
         relayoutParams.mOccludingCaptionElements.add(controlsElement);
         relayoutParams.mCaptionTopPadding = getTopPadding(relayoutParams,
                 taskInfo.getConfiguration().windowConfiguration.getBounds(), displayInsetsState);
+        // Set opaque background for all freeform tasks to prevent freeform tasks below
+        // from being visible if freeform task window above is translucent.
+        // Otherwise if fluid resize is enabled, add a background to freeform tasks.
+        relayoutParams.mShouldSetBackground = DesktopModeStatus.shouldSetBackground(taskInfo);
     }
 
     @SuppressLint("MissingPermission")
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java
index cf139a0..7ef1a93 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java
@@ -92,6 +92,7 @@
 import com.android.internal.jank.Cuj;
 import com.android.internal.jank.InteractionJankMonitor;
 import com.android.internal.protolog.ProtoLog;
+import com.android.internal.util.LatencyTracker;
 import com.android.window.flags.Flags;
 import com.android.wm.shell.R;
 import com.android.wm.shell.RootTaskDisplayAreaOrganizer;
@@ -158,6 +159,8 @@
 import kotlin.Unit;
 import kotlin.jvm.functions.Function1;
 
+import org.jetbrains.annotations.NotNull;
+
 import kotlinx.coroutines.CoroutineScope;
 import kotlinx.coroutines.ExperimentalCoroutinesApi;
 import kotlinx.coroutines.MainCoroutineDispatcher;
@@ -260,6 +263,7 @@
     private final DesktopModeCompatPolicy mDesktopModeCompatPolicy;
     private final DesktopTilingDecorViewModel mDesktopTilingDecorViewModel;
     private final MultiDisplayDragMoveIndicatorController mMultiDisplayDragMoveIndicatorController;
+    private final LatencyTracker mLatencyTracker;
 
     public DesktopModeWindowDecorViewModel(
             Context context,
@@ -466,6 +470,7 @@
         mDesktopTilingDecorViewModel = desktopTilingDecorViewModel;
         mDesktopTasksController.setSnapEventHandler(this);
         mMultiDisplayDragMoveIndicatorController = multiDisplayDragMoveIndicatorController;
+        mLatencyTracker = LatencyTracker.getInstance(mContext);
         shellInit.addInitCallback(this::onInit, this);
     }
 
@@ -553,6 +558,7 @@
         } else {
             decoration.relayout(taskInfo, taskInfo.isFocused, decoration.mExclusionRegion);
         }
+        mDesktopTilingDecorViewModel.onTaskInfoChange(taskInfo);
         mActivityOrientationChangeHandler.ifPresent(handler ->
                 handler.handleActivityOrientationChange(oldTaskInfo, taskInfo));
     }
@@ -764,11 +770,19 @@
         final WindowContainerTransaction wct = new WindowContainerTransaction();
         mInteractionJankMonitor.begin(decoration.mTaskSurface, mContext, mMainHandler,
                 CUJ_DESKTOP_MODE_ENTER_MODE_APP_HANDLE_MENU);
+        mLatencyTracker.onActionStart(LatencyTracker.ACTION_DESKTOP_MODE_ENTER_APP_HANDLE_MENU);
         // App sometimes draws before the insets from WindowDecoration#relayout have
         // been added, so they must be added here
         decoration.addCaptionInset(wct);
-        mDesktopTasksController.moveTaskToDefaultDeskAndActivate(taskId, wct, source,
-                /* remoteTransition= */ null, /* moveToDesktopCallback */ null);
+        if (!mDesktopTasksController.moveTaskToDefaultDeskAndActivate(
+                taskId,
+                wct,
+                source,
+                /* remoteTransition= */ null,
+                /* moveToDesktopCallback= */ null)) {
+            mLatencyTracker.onActionCancel(
+                    LatencyTracker.ACTION_DESKTOP_MODE_ENTER_APP_HANDLE_MENU);
+        }
         decoration.closeHandleMenu();
 
         if (source == DesktopModeTransitionSource.APP_HANDLE_MENU_BUTTON) {
@@ -924,6 +938,18 @@
         return mDesktopTilingDecorViewModel.moveTaskToFrontIfTiled(taskInfo);
     }
 
+    @Override
+    @NotNull
+    public Rect getLeftSnapBoundsIfTiled(int displayId) {
+        return mDesktopTilingDecorViewModel.getLeftSnapBoundsIfTiled(displayId);
+    }
+
+    @Override
+    @NotNull
+    public Rect getRightSnapBoundsIfTiled(int displayId) {
+        return mDesktopTilingDecorViewModel.getRightSnapBoundsIfTiled(displayId);
+    }
+
     private class DesktopModeTouchEventListener extends GestureDetector.SimpleOnGestureListener
             implements View.OnClickListener, View.OnTouchListener, View.OnLongClickListener,
             View.OnGenericMotionListener, DragDetector.MotionEventHandler {
@@ -963,7 +989,7 @@
             final int touchSlop = ViewConfiguration.get(mContext).getScaledTouchSlop();
             final long appHandleHoldToDragDuration =
                     DesktopModeFlags.ENABLE_HOLD_TO_DRAG_APP_HANDLE.isTrue()
-                    ? APP_HANDLE_HOLD_TO_DRAG_DURATION_MS : 0;
+                            ? APP_HANDLE_HOLD_TO_DRAG_DURATION_MS : 0;
             mHandleDragDetector = new DragDetector(this, appHandleHoldToDragDuration,
                     touchSlop);
             mHeaderDragDetector = new DragDetector(this, APP_HEADER_HOLD_TO_DRAG_DURATION_MS,
@@ -1016,7 +1042,7 @@
                         decoration.mTaskInfo.userId);
                 if (DesktopModeFlags.ENABLE_FULLY_IMMERSIVE_IN_DESKTOP.isTrue()
                         && desktopRepository.isTaskInFullImmersiveState(
-                                decoration.mTaskInfo.taskId)) {
+                        decoration.mTaskInfo.taskId)) {
                     // Task is in immersive and should exit.
                     onEnterOrExitImmersive(decoration.mTaskInfo);
                 } else {
@@ -1310,6 +1336,7 @@
         /**
          * Perform a task size toggle on release of the double-tap, assuming no drag event
          * was handled during the double-tap.
+         *
          * @param e The motion event that occurred during the double-tap gesture.
          * @return true if the event should be consumed, false if not
          */
@@ -1335,6 +1362,7 @@
     class EventReceiver extends InputEventReceiver {
         private InputMonitor mInputMonitor;
         private int mTasksOnDisplay;
+
         EventReceiver(InputMonitor inputMonitor, InputChannel channel, Looper looper) {
             super(channel, looper);
             mInputMonitor = inputMonitor;
@@ -1386,6 +1414,7 @@
     /**
      * Check if an EventReceiver exists on a particular display.
      * If it does, increment its task count. Otherwise, create one for that display.
+     *
      * @param displayId the display to check against
      */
     private void incrementEventReceiverTasks(int displayId) {
@@ -1891,7 +1920,7 @@
         @Override
         public void onAnimationStart(int taskId, Transaction t, Rect bounds) {
             final DesktopModeWindowDecoration decoration = mWindowDecorByTaskId.get(taskId);
-            if (decoration == null)  {
+            if (decoration == null) {
                 t.apply();
                 return;
             }
@@ -1975,15 +2004,15 @@
             return activityTaskManager.getRecentTasks(Integer.MAX_VALUE,
                     ActivityManager.RECENT_WITH_EXCLUDED,
                     info.userId).getList().stream().filter(
-                            recentTaskInfo -> {
-                                if (recentTaskInfo.taskId == info.taskId) {
-                                    return false;
-                                }
-                                final String recentTaskPackageName =
-                                        ComponentUtils.getPackageName(recentTaskInfo);
-                                return packageName != null
-                                        && packageName.equals(recentTaskPackageName);
-                            }
+                    recentTaskInfo -> {
+                        if (recentTaskInfo.taskId == info.taskId) {
+                            return false;
+                        }
+                        final String recentTaskPackageName =
+                                ComponentUtils.getPackageName(recentTaskInfo);
+                        return packageName != null
+                                && packageName.equals(recentTaskPackageName);
+                    }
             ).toList().size();
         } catch (RemoteException e) {
             throw new RuntimeException(e);
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java
index 6165dbf..30e5c2a 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java
@@ -1064,6 +1064,10 @@
             relayoutParams.mCornerRadius = shouldIgnoreCornerRadius ? INVALID_CORNER_RADIUS :
                     getCornerRadius(context, relayoutParams.mLayoutResId);
         }
+        // Set opaque background for all freeform tasks to prevent freeform tasks below
+        // from being visible if freeform task window above is translucent.
+        // Otherwise if fluid resize is enabled, add a background to freeform tasks.
+        relayoutParams.mShouldSetBackground = DesktopModeStatus.shouldSetBackground(taskInfo);
     }
 
     private static int getCornerRadius(@NonNull Context context, int layoutResId) {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/HandleMenu.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/HandleMenu.kt
index ff50672..ad2e23c 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/HandleMenu.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/HandleMenu.kt
@@ -50,6 +50,7 @@
 import androidx.core.view.isGone
 import com.android.window.flags.Flags
 import com.android.wm.shell.R
+import com.android.wm.shell.bubbles.ContextUtils.isRtl
 import com.android.wm.shell.shared.annotations.ShellBackgroundThread
 import com.android.wm.shell.shared.annotations.ShellMainThread
 import com.android.wm.shell.shared.bubbles.BubbleAnythingFlagHelper
@@ -60,6 +61,8 @@
 import com.android.wm.shell.windowdecor.common.DecorThemeUtil
 import com.android.wm.shell.windowdecor.common.WindowDecorTaskResourceLoader
 import com.android.wm.shell.windowdecor.common.calculateMenuPosition
+import com.android.wm.shell.windowdecor.common.DrawableInsets
+import com.android.wm.shell.windowdecor.common.createRippleDrawable
 import com.android.wm.shell.windowdecor.extension.isFullscreen
 import com.android.wm.shell.windowdecor.extension.isMultiWindow
 import com.android.wm.shell.windowdecor.extension.isPinned
@@ -71,6 +74,7 @@
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
 
+
 /**
  * Handle menu opened when the appropriate button is clicked on.
  *
@@ -467,6 +471,33 @@
         val rootView = LayoutInflater.from(context)
             .inflate(R.layout.desktop_mode_window_decor_handle_menu, null /* root */) as View
 
+        private val windowingButtonRippleRadius = context.resources
+            .getDimensionPixelSize(R.dimen.desktop_mode_handle_menu_windowing_action_ripple_radius)
+        private val windowingButtonDrawableInsets = DrawableInsets(
+            vertical = context.resources
+                .getDimensionPixelSize(
+                    R.dimen.desktop_mode_handle_menu_windowing_action_ripple_inset_base),
+            horizontal = context.resources
+                .getDimensionPixelSize(
+                    R.dimen.desktop_mode_handle_menu_windowing_action_ripple_inset_base)
+        )
+        private val windowingButtonDrawableInsetsLeft = DrawableInsets(
+            vertical = context.resources
+                .getDimensionPixelSize(
+                    R.dimen.desktop_mode_handle_menu_windowing_action_ripple_inset_base),
+            horizontalLeft = context.resources
+                .getDimensionPixelSize(
+                    R.dimen.desktop_mode_handle_menu_windowing_action_ripple_inset_shift),
+        )
+        private val windowingButtonDrawableInsetsRight = DrawableInsets(
+            vertical = context.resources
+                .getDimensionPixelSize(
+                    R.dimen.desktop_mode_handle_menu_windowing_action_ripple_inset_base),
+            horizontalRight = context.resources
+                .getDimensionPixelSize(
+                    R.dimen.desktop_mode_handle_menu_windowing_action_ripple_inset_shift)
+        )
+
         // App Info Pill.
         private val appInfoPill = rootView.requireViewById<View>(R.id.app_info_pill)
         private val collapseMenuButton = appInfoPill.requireViewById<HandleMenuImageButton>(
@@ -708,6 +739,49 @@
             desktopBtn.isSelected = taskInfo.isFreeform
             desktopBtn.isEnabled = !taskInfo.isFreeform
             desktopBtn.imageTintList = style.windowingButtonColor
+
+            val startInsets = if (context.isRtl) {
+                windowingButtonDrawableInsetsRight
+            } else {
+                windowingButtonDrawableInsetsLeft
+            }
+            val endInsets = if (context.isRtl) {
+                windowingButtonDrawableInsetsLeft
+            } else {
+                windowingButtonDrawableInsetsRight
+            }
+
+            fullscreenBtn.apply {
+                background = createRippleDrawable(
+                    color = style.textColor,
+                    cornerRadius = windowingButtonRippleRadius,
+                    drawableInsets = startInsets
+                )
+            }
+
+            splitscreenBtn.apply {
+                background = createRippleDrawable(
+                    color = style.textColor,
+                    cornerRadius = windowingButtonRippleRadius,
+                    drawableInsets = windowingButtonDrawableInsets
+                )
+            }
+
+            floatingBtn.apply {
+                background = createRippleDrawable(
+                    color = style.textColor,
+                    cornerRadius = windowingButtonRippleRadius,
+                    drawableInsets = windowingButtonDrawableInsets
+                )
+            }
+
+            desktopBtn.apply {
+                background = createRippleDrawable(
+                    color = style.textColor,
+                    cornerRadius = windowingButtonRippleRadius,
+                    drawableInsets = endInsets
+                )
+            }
         }
 
         private fun bindMoreActionsPill(style: MenuStyle) {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MaximizeButtonView.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MaximizeButtonView.kt
index 581d186..bdde096d 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MaximizeButtonView.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MaximizeButtonView.kt
@@ -39,10 +39,7 @@
 private const val OPEN_MAXIMIZE_MENU_DELAY_ON_HOVER_MS = 350
 private const val MAX_DRAWABLE_ALPHA = 255
 
-class MaximizeButtonView(
-        context: Context,
-        attrs: AttributeSet
-) : FrameLayout(context, attrs) {
+class MaximizeButtonView(context: Context, attrs: AttributeSet) : FrameLayout(context, attrs) {
     lateinit var onHoverAnimationFinishedListener: () -> Unit
     private val hoverProgressAnimatorSet = AnimatorSet()
     var hoverDisabled = false
@@ -53,10 +50,6 @@
         (stubProgressBarContainer.inflate() as FrameLayout)
             .requireViewById(R.id.progress_bar)
     }
-    private val maximizeButtonText =
-        context.resources.getString(R.string.desktop_mode_maximize_menu_maximize_button_text)
-    private val restoreButtonText =
-        context.resources.getString(R.string.desktop_mode_maximize_menu_restore_button_text)
 
     init {
         LayoutInflater.from(context).inflate(R.layout.maximize_menu_button, this, true)
@@ -158,12 +151,6 @@
     /** Set the drawable resource to use for the maximize button. */
     fun setIcon(@DrawableRes icon: Int) {
         maximizeWindow.setImageResource(icon)
-        when (icon) {
-            R.drawable.decor_desktop_mode_immersive_or_maximize_exit_button_dark ->
-                maximizeWindow.contentDescription = restoreButtonText
-            R.drawable.decor_desktop_mode_maximize_button_dark ->
-                maximizeWindow.contentDescription = maximizeButtonText
-        }
     }
 
     companion object {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MultiDisplayVeiledResizeTaskPositioner.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MultiDisplayVeiledResizeTaskPositioner.kt
index c6cb62d..1b0e0f70 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MultiDisplayVeiledResizeTaskPositioner.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MultiDisplayVeiledResizeTaskPositioner.kt
@@ -363,10 +363,11 @@
         dragEventListeners.remove(dragEventListener)
     }
 
-    override fun onTopologyChanged(topology: DisplayTopology) {
+    override fun onTopologyChanged(topology: DisplayTopology?) {
         // TODO: b/383069173 - Cancel window drag when topology changes happen during drag.
 
         displayIds.clear()
+        if (topology == null) return
         val displayBounds = topology.getAbsoluteBounds()
         displayIds.addAll(List(displayBounds.size()) { displayBounds.keyAt(it) })
     }
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/ResizeVeil.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/ResizeVeil.kt
index 7af6b8e..5bd4228 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/ResizeVeil.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/ResizeVeil.kt
@@ -225,7 +225,7 @@
             val veilAnimT = surfaceControlTransactionSupplier.get()
             val iconAnimT = surfaceControlTransactionSupplier.get()
             veilAnimator = ValueAnimator.ofFloat(0f, 1f).apply {
-                duration = RESIZE_ALPHA_DURATION
+                duration = VEIL_ENTRY_ALPHA_ANIMATION_DURATION
                 addUpdateListener {
                     veilAnimT.setAlpha(background, animatedValue as Float)
                             .apply()
@@ -243,7 +243,8 @@
                 })
             }
             iconAnimator = ValueAnimator.ofFloat(0f, 1f).apply {
-                duration = RESIZE_ALPHA_DURATION
+                duration = ICON_ALPHA_ANIMATION_DURATION
+                startDelay = ICON_ENTRY_DELAY
                 addUpdateListener {
                     iconAnimT.setAlpha(icon, animatedValue as Float)
                             .apply()
@@ -387,23 +388,38 @@
         if (background == null || icon == null) return
 
         veilAnimator = ValueAnimator.ofFloat(1f, 0f).apply {
-            duration = RESIZE_ALPHA_DURATION
+            duration = VEIL_EXIT_ALPHA_ANIMATION_DURATION
+            startDelay = VEIL_EXIT_DELAY
             addUpdateListener {
                 surfaceControlTransactionSupplier.get()
                         .setAlpha(background, animatedValue as Float)
-                        .setAlpha(icon, animatedValue as Float)
                         .apply()
             }
             addListener(object : AnimatorListenerAdapter() {
                 override fun onAnimationEnd(animation: Animator) {
                     surfaceControlTransactionSupplier.get()
                             .hide(background)
-                            .hide(icon)
                             .apply()
                 }
             })
         }
+        iconAnimator = ValueAnimator.ofFloat(1f, 0f).apply {
+            duration = ICON_ALPHA_ANIMATION_DURATION
+            addUpdateListener {
+                surfaceControlTransactionSupplier.get()
+                    .setAlpha(icon, animatedValue as Float)
+                    .apply()
+            }
+            addListener(object : AnimatorListenerAdapter() {
+                override fun onAnimationEnd(animation: Animator) {
+                    surfaceControlTransactionSupplier.get()
+                        .hide(icon)
+                        .apply()
+                }
+            })
+        }
         veilAnimator?.start()
+        iconAnimator?.start()
         isVisible = false
     }
 
@@ -451,7 +467,11 @@
 
     companion object {
         private const val TAG = "ResizeVeil"
-        private const val RESIZE_ALPHA_DURATION = 100L
+        private const val ICON_ALPHA_ANIMATION_DURATION = 50L
+        private const val VEIL_ENTRY_ALPHA_ANIMATION_DURATION = 50L
+        private const val VEIL_EXIT_ALPHA_ANIMATION_DURATION = 200L
+        private const val ICON_ENTRY_DELAY = 33L
+        private const val VEIL_EXIT_DELAY = 33L
         private const val VEIL_CONTAINER_LAYER = TaskConstants.TASK_CHILD_LAYER_RESIZE_VEIL
 
         /** The background is a child of the veil container layer and goes at the bottom.  */
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/WindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/WindowDecoration.java
index 4002dc5..7baef2b 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/WindowDecoration.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/WindowDecoration.java
@@ -16,7 +16,6 @@
 
 package com.android.wm.shell.windowdecor;
 
-import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
 import static android.content.res.Configuration.DENSITY_DPI_UNDEFINED;
 import static android.view.WindowInsets.Type.captionBar;
 import static android.view.WindowInsets.Type.mandatorySystemGestures;
@@ -57,7 +56,6 @@
 import com.android.wm.shell.ShellTaskOrganizer;
 import com.android.wm.shell.common.DisplayController;
 import com.android.wm.shell.desktopmode.DesktopModeEventLogger;
-import com.android.wm.shell.shared.desktopmode.DesktopModeStatus;
 import com.android.wm.shell.windowdecor.WindowDecoration.RelayoutParams.OccludingCaptionElement;
 import com.android.wm.shell.windowdecor.additionalviewcontainer.AdditionalViewHostViewContainer;
 import com.android.wm.shell.windowdecor.common.viewhost.WindowDecorViewHost;
@@ -504,15 +502,14 @@
             startT.show(mTaskSurface);
         }
 
-        if (mTaskInfo.getWindowingMode() == WINDOWING_MODE_FREEFORM
-                && !DesktopModeStatus.isVeiledResizeEnabled()) {
-            // When fluid resize is enabled, add a background to freeform tasks
-            int backgroundColorInt = mTaskInfo.taskDescription.getBackgroundColor();
+        if (params.mShouldSetBackground) {
+            final int backgroundColorInt = mTaskInfo.taskDescription != null
+                    ? mTaskInfo.taskDescription.getBackgroundColor() : Color.BLACK;
             mTmpColor[0] = (float) Color.red(backgroundColorInt) / 255.f;
             mTmpColor[1] = (float) Color.green(backgroundColorInt) / 255.f;
             mTmpColor[2] = (float) Color.blue(backgroundColorInt) / 255.f;
             startT.setColor(mTaskSurface, mTmpColor);
-        } else if (!DesktopModeStatus.isVeiledResizeEnabled()) {
+        } else {
             startT.unsetColor(mTaskSurface);
         }
 
@@ -833,6 +830,7 @@
         boolean mSetTaskVisibilityPositionAndCrop;
         boolean mHasGlobalFocus;
         boolean mShouldSetAppBounds;
+        boolean mShouldSetBackground;
 
         void reset() {
             mLayoutResId = Resources.ID_NULL;
@@ -857,6 +855,7 @@
             mAsyncViewHost = false;
             mHasGlobalFocus = false;
             mShouldSetAppBounds = false;
+            mShouldSetBackground = false;
         }
 
         boolean hasInputFeatureSpy() {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/common/ButtonBackgroundDrawableUtils.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/common/ButtonBackgroundDrawableUtils.kt
new file mode 100644
index 0000000..e18239d
--- /dev/null
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/common/ButtonBackgroundDrawableUtils.kt
@@ -0,0 +1,88 @@
+/*
+ * 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.windowdecor.common
+
+import android.annotation.ColorInt
+import android.graphics.Color
+import android.graphics.drawable.LayerDrawable
+import android.graphics.drawable.RippleDrawable
+import android.graphics.drawable.ShapeDrawable
+import android.graphics.drawable.shapes.RoundRectShape
+import com.android.wm.shell.windowdecor.common.OPACITY_11
+import com.android.wm.shell.windowdecor.common.OPACITY_15
+import android.content.res.ColorStateList
+
+/**
+ * Represents drawable insets, specifying the number of pixels to inset a drawable from its bounds.
+ */
+data class DrawableInsets(val l: Int, val t: Int, val r: Int, val b: Int) {
+    constructor(vertical: Int = 0, horizontal: Int = 0) :
+            this(horizontal, vertical, horizontal, vertical)
+    constructor(vertical: Int = 0, horizontalLeft: Int = 0, horizontalRight: Int = 0) :
+            this(horizontalLeft, vertical, horizontalRight, vertical)
+}
+
+/**
+ * Replaces the alpha component of a color with the given alpha value.
+ */
+@ColorInt
+fun replaceColorAlpha(@ColorInt color: Int, alpha: Int): Int {
+    return Color.argb(
+        alpha,
+        Color.red(color),
+        Color.green(color),
+        Color.blue(color)
+    )
+}
+
+/**
+ * Creates a RippleDrawable with specified color, corner radius, and insets.
+ */
+fun createRippleDrawable(
+            @ColorInt color: Int,
+            cornerRadius: Int,
+            drawableInsets: DrawableInsets,
+): RippleDrawable {
+    return RippleDrawable(
+        ColorStateList(
+            arrayOf(
+                intArrayOf(android.R.attr.state_hovered),
+                intArrayOf(android.R.attr.state_pressed),
+                intArrayOf(),
+            ),
+            intArrayOf(
+                replaceColorAlpha(color, OPACITY_11),
+                replaceColorAlpha(color, OPACITY_15),
+                Color.TRANSPARENT,
+            )
+        ),
+        null /* content */,
+        LayerDrawable(arrayOf(
+            ShapeDrawable().apply {
+                shape = RoundRectShape(
+                    FloatArray(8) { cornerRadius.toFloat() },
+                    null /* inset */,
+                    null /* innerRadii */
+                )
+                paint.color = Color.WHITE
+            }
+        )).apply {
+            require(numberOfLayers == 1) { "Must only contain one layer" }
+            setLayerInset(0 /* index */,
+                drawableInsets.l, drawableInsets.t, drawableInsets.r, drawableInsets.b)
+        }
+    )
+}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingDecorViewModel.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingDecorViewModel.kt
index 8747f63..e9426d2 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingDecorViewModel.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingDecorViewModel.kt
@@ -25,6 +25,7 @@
 import android.window.WindowContainerTransaction
 import androidx.core.util.valueIterator
 import com.android.internal.annotations.VisibleForTesting
+import com.android.wm.shell.R
 import com.android.wm.shell.RootTaskDisplayAreaOrganizer
 import com.android.wm.shell.ShellTaskOrganizer
 import com.android.wm.shell.common.DisplayChangeController
@@ -136,6 +137,10 @@
         }
     }
 
+    fun onTaskInfoChange(taskInfo: RunningTaskInfo) {
+        tilingTransitionHandlerByDisplayId.get(taskInfo.displayId)?.onTaskInfoChange(taskInfo)
+    }
+
     override fun onDisplayChange(
         displayId: Int,
         fromRotation: Int,
@@ -148,4 +153,45 @@
         if ((fromRotation % 2 == toRotation % 2)) return
         tilingTransitionHandlerByDisplayId.get(displayId)?.resetTilingSession()
     }
+
+    fun getRightSnapBoundsIfTiled(displayId: Int): Rect {
+        val tilingBounds =
+            tilingTransitionHandlerByDisplayId.get(displayId)?.getRightSnapBoundsIfTiled()
+        if (tilingBounds != null) {
+            return tilingBounds
+        }
+        val displayLayout = displayController.getDisplayLayout(displayId)
+        val stableBounds = Rect()
+        displayLayout?.getStableBounds(stableBounds)
+        val snapBounds =
+            Rect(
+                stableBounds.left +
+                    stableBounds.width() / 2 +
+                    context.resources.getDimensionPixelSize(R.dimen.split_divider_bar_width) / 2,
+                stableBounds.top,
+                stableBounds.right,
+                stableBounds.bottom,
+            )
+        return snapBounds
+    }
+
+    fun getLeftSnapBoundsIfTiled(displayId: Int): Rect {
+        val tilingBounds =
+            tilingTransitionHandlerByDisplayId.get(displayId)?.getLeftSnapBoundsIfTiled()
+        if (tilingBounds != null) {
+            return tilingBounds
+        }
+        val displayLayout = displayController.getDisplayLayout(displayId)
+        val stableBounds = Rect()
+        displayLayout?.getStableBounds(stableBounds)
+        val snapBounds =
+            Rect(
+                stableBounds.left,
+                stableBounds.top,
+                stableBounds.left + stableBounds.width() / 2 -
+                    context.resources.getDimensionPixelSize(R.dimen.split_divider_bar_width) / 2,
+                stableBounds.bottom,
+            )
+        return snapBounds
+    }
 }
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingDividerWindowManager.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingDividerWindowManager.kt
index fbbf1a5..cb45c17 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingDividerWindowManager.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingDividerWindowManager.kt
@@ -57,6 +57,7 @@
     private val transactionSupplier: Supplier<SurfaceControl.Transaction>,
     private var dividerBounds: Rect,
     private val displayContext: Context,
+    private val isDarkMode: Boolean,
 ) : WindowlessWindowManager(config, leash, null), DividerMoveCallback, View.OnLayoutChangeListener {
     private lateinit var viewHost: SurfaceControlViewHost
     private var tilingDividerView: TilingDividerView? = null
@@ -153,7 +154,7 @@
         surfaceControlViewHost.setView(dividerView, lp)
         val tmpDividerBounds = Rect()
         getDividerBounds(tmpDividerBounds)
-        dividerView.setup(this, tmpDividerBounds, handleRegionSize)
+        dividerView.setup(this, tmpDividerBounds, handleRegionSize, isDarkMode)
         t.setRelativeLayer(leash, relativeLeash, 1)
             .setPosition(
                 leash,
@@ -172,6 +173,11 @@
         updateTouchRegion()
     }
 
+    /** Changes divider colour if dark/light mode is toggled. */
+    fun onUiModeChange(isDarkMode: Boolean) {
+        tilingDividerView?.onUiModeChange(isDarkMode)
+    }
+
     /** Hides the divider bar. */
     fun hideDividerBar() {
         if (!dividerShown) {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingWindowDecoration.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingWindowDecoration.kt
index 666d4bd..a45df04 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingWindowDecoration.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingWindowDecoration.kt
@@ -36,7 +36,6 @@
 import com.android.internal.annotations.VisibleForTesting
 import com.android.launcher3.icons.BaseIconFactory
 import com.android.window.flags.Flags
-import com.android.wm.shell.shared.FocusTransitionListener
 import com.android.wm.shell.R
 import com.android.wm.shell.RootTaskDisplayAreaOrganizer
 import com.android.wm.shell.ShellTaskOrganizer
@@ -50,6 +49,7 @@
 import com.android.wm.shell.desktopmode.DesktopUserRepositories
 import com.android.wm.shell.desktopmode.ReturnToDragStartAnimator
 import com.android.wm.shell.desktopmode.ToggleResizeDesktopTaskTransitionHandler
+import com.android.wm.shell.shared.FocusTransitionListener
 import com.android.wm.shell.shared.annotations.ShellBackgroundThread
 import com.android.wm.shell.shared.annotations.ShellMainThread
 import com.android.wm.shell.transition.FocusTransitionObserver
@@ -103,6 +103,7 @@
     @VisibleForTesting
     var desktopTilingDividerWindowManager: DesktopTilingDividerWindowManager? = null
     private lateinit var dividerBounds: Rect
+    private var isDarkMode = false
     private var isResizing = false
     private var isTilingFocused = false
 
@@ -112,7 +113,7 @@
         position: SnapPosition,
         currentBounds: Rect,
     ): Boolean {
-        val destinationBounds = getSnapBounds(taskInfo, position)
+        val destinationBounds = getSnapBounds(position)
         val resizeMetadata =
             AppResizingHelper(
                 taskInfo,
@@ -129,6 +130,7 @@
         val isTiled = destinationBounds != taskInfo.configuration.windowConfiguration.bounds
 
         initTilingApps(resizeMetadata, position, taskInfo)
+        isDarkMode = isTaskInDarkMode(taskInfo)
         // Observe drag resizing to break tiling if a task is drag resized.
         desktopModeWindowDecoration.addDragResizeListener(this)
 
@@ -232,6 +234,7 @@
                     transactionSupplier,
                     dividerBounds,
                     displayContext,
+                    isDarkMode,
                 )
             }
         // a leash to present the divider on top of, without re-parenting.
@@ -356,6 +359,17 @@
         transitions.startTransition(TRANSIT_CHANGE, wct, this)
     }
 
+    fun onTaskInfoChange(taskInfo: RunningTaskInfo) {
+        val isCurrentTaskInDarkMode = isTaskInDarkMode(taskInfo)
+        if (isCurrentTaskInDarkMode == isDarkMode || !isTilingManagerInitialised) return
+        isDarkMode = isCurrentTaskInDarkMode
+        desktopTilingDividerWindowManager?.onUiModeChange(isDarkMode)
+    }
+
+    fun isTaskInDarkMode(taskInfo: RunningTaskInfo): Boolean =
+        (taskInfo.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) ==
+            Configuration.UI_MODE_NIGHT_YES
+
     override fun startAnimation(
         transition: IBinder,
         info: TransitionInfo,
@@ -502,9 +516,11 @@
     }
 
     // Overriding FocusTransitionListener
-    override fun onFocusedTaskChanged(taskId: Int,
-            isFocusedOnDisplay: Boolean,
-            isFocusedGlobally: Boolean) {
+    override fun onFocusedTaskChanged(
+        taskId: Int,
+        isFocusedOnDisplay: Boolean,
+        isFocusedGlobally: Boolean,
+    ) {
         if (!Flags.enableDisplayFocusInShellTransitions()) return
         moveTiledPairToFront(taskId, isFocusedOnDisplay)
     }
@@ -512,7 +528,7 @@
     // Only called if [taskInfo] relates to a focused task
     private fun isTilingRefocused(taskId: Int): Boolean {
         return taskId == leftTaskResizingHelper?.taskInfo?.taskId ||
-                taskId == rightTaskResizingHelper?.taskInfo?.taskId
+            taskId == rightTaskResizingHelper?.taskInfo?.taskId
     }
 
     private fun buildTiledTasksMoveToFront(leftOnTop: Boolean): WindowContainerTransaction {
@@ -623,26 +639,24 @@
         val t = transactionSupplier.get()
         if (!Flags.enableDisplayFocusInShellTransitions()) isTilingFocused = true
         if (taskId == leftTaskResizingHelper?.taskInfo?.taskId) {
-          desktopTilingDividerWindowManager?.onRelativeLeashChanged(
-              leftTiledTask.getLeash(),
-              t,
-          )
+            desktopTilingDividerWindowManager?.onRelativeLeashChanged(leftTiledTask.getLeash(), t)
         }
         if (taskId == rightTaskResizingHelper?.taskInfo?.taskId) {
-          desktopTilingDividerWindowManager?.onRelativeLeashChanged(
-              rightTiledTask.getLeash(),
-              t,
-          )
+            desktopTilingDividerWindowManager?.onRelativeLeashChanged(rightTiledTask.getLeash(), t)
         }
-        transitions.startTransition(
-            TRANSIT_TO_FRONT,
-            buildTiledTasksMoveToFront(isLeftOnTop),
-            null,
-        )
+        transitions.startTransition(TRANSIT_TO_FRONT, buildTiledTasksMoveToFront(isLeftOnTop), null)
         t.apply()
         return true
     }
 
+    fun getRightSnapBoundsIfTiled(): Rect {
+        return getSnapBounds(SnapPosition.RIGHT)
+    }
+
+    fun getLeftSnapBoundsIfTiled(): Rect {
+        return getSnapBounds(SnapPosition.LEFT)
+    }
+
     private fun allTiledTasksVisible(): Boolean {
         val leftTiledTask = leftTaskResizingHelper ?: return false
         val rightTiledTask = rightTaskResizingHelper ?: return false
@@ -674,8 +688,8 @@
             )
     }
 
-    private fun getSnapBounds(taskInfo: RunningTaskInfo, position: SnapPosition): Rect {
-        val displayLayout = displayController.getDisplayLayout(taskInfo.displayId) ?: return Rect()
+    private fun getSnapBounds(position: SnapPosition): Rect {
+        val displayLayout = displayController.getDisplayLayout(displayId) ?: return Rect()
 
         val stableBounds = Rect()
         displayLayout.getStableBounds(stableBounds)
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/SnapEventHandler.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/SnapEventHandler.kt
index 52e24d6..b9d6741 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/SnapEventHandler.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/SnapEventHandler.kt
@@ -40,4 +40,16 @@
 
     /** If a task is tiled, delegate moving to front to tiling infrastructure. */
     fun moveTaskToFrontIfTiled(taskInfo: RunningTaskInfo): Boolean
+
+    /**
+     * Returns the bounds of a task tiled on the left on the specified display, defaults to default
+     * snapping bounds if no task is tiled.
+     */
+    fun getLeftSnapBoundsIfTiled(displayId: Int): Rect
+
+    /**
+     * Returns the bounds of a task tiled on the right on the specified display, defaults to default
+     * snapping bounds if no task is tiled.
+     */
+    fun getRightSnapBoundsIfTiled(displayId: Int): Rect
 }
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/TilingDividerView.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/TilingDividerView.kt
index b8e3b0f..54dcd2d 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/TilingDividerView.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/tiling/TilingDividerView.kt
@@ -16,6 +16,7 @@
 package com.android.wm.shell.windowdecor.tiling
 
 import android.content.Context
+import android.content.res.Configuration
 import android.graphics.Canvas
 import android.graphics.Paint
 import android.graphics.Rect
@@ -85,11 +86,14 @@
         dividerMoveCallback: DividerMoveCallback,
         dividerBounds: Rect,
         handleRegionSize: Size,
+        isDarkMode: Boolean,
     ) {
         callback = dividerMoveCallback
         this.dividerBounds.set(dividerBounds)
         handle.setIsLeftRightSplit(true)
+        handle.setup(/* isSplitScreen= */ false, isDarkMode)
         corners.setIsLeftRightSplit(true)
+        corners.setup(/* isSplitScreen= */ false, isDarkMode)
         handleRegionHeight = handleRegionSize.height
         handleRegionWidth = handleRegionSize.width
         cornersRadius =
@@ -103,6 +107,18 @@
             )
     }
 
+    fun onUiModeChange(isDarkMode: Boolean) {
+        handle.onUiModeChange(isDarkMode)
+        corners.onUiModeChange(isDarkMode)
+        paint.color =
+            if (isDarkMode) {
+                resources.getColor(R.color.tiling_divider_background_dark, null /* theme */)
+            } else {
+                resources.getColor(R.color.tiling_divider_background_light, null /* theme */)
+            }
+        invalidate()
+    }
+
     override fun onFinishInflate() {
         super.onFinishInflate()
         dividerBar = requireViewById(R.id.divider_bar)
@@ -112,7 +128,15 @@
             resources.getDimensionPixelSize(R.dimen.docked_stack_divider_lift_elevation)
         setOnTouchListener(this)
         setWillNotDraw(false)
-        paint.color = resources.getColor(R.color.split_divider_background, null)
+        paint.color =
+            if (
+                context.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK ==
+                    Configuration.UI_MODE_NIGHT_YES
+            ) {
+                resources.getColor(R.color.tiling_divider_background_dark, /* theme= */null)
+            } else {
+                resources.getColor(R.color.tiling_divider_background_light, /* theme= */ null)
+            }
         paint.isAntiAlias = true
         paint.style = Paint.Style.FILL
     }
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/AppHeaderViewHolder.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/AppHeaderViewHolder.kt
index 90c865e..eb8b617 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/AppHeaderViewHolder.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/AppHeaderViewHolder.kt
@@ -37,10 +37,13 @@
 import android.widget.ImageButton
 import android.widget.ImageView
 import android.widget.TextView
+import android.window.DesktopModeFlags
 import androidx.compose.material3.dynamicDarkColorScheme
 import androidx.compose.material3.dynamicLightColorScheme
 import androidx.compose.ui.graphics.toArgb
 import androidx.core.content.withStyledAttributes
+import androidx.core.view.ViewCompat
+import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat
 import androidx.core.view.isGone
 import androidx.core.view.isVisible
 import com.android.internal.R.color.materialColorOnSecondaryContainer
@@ -50,9 +53,6 @@
 import com.android.internal.R.color.materialColorSurfaceContainerLow
 import com.android.internal.R.color.materialColorSurfaceDim
 import com.android.wm.shell.R
-import android.window.DesktopModeFlags
-import androidx.core.view.ViewCompat
-import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat
 import com.android.wm.shell.windowdecor.MaximizeButtonView
 import com.android.wm.shell.windowdecor.common.DecorThemeUtil
 import com.android.wm.shell.windowdecor.common.OPACITY_100
@@ -61,6 +61,8 @@
 import com.android.wm.shell.windowdecor.common.OPACITY_55
 import com.android.wm.shell.windowdecor.common.OPACITY_65
 import com.android.wm.shell.windowdecor.common.Theme
+import com.android.wm.shell.windowdecor.common.DrawableInsets
+import com.android.wm.shell.windowdecor.common.createRippleDrawable
 import com.android.wm.shell.windowdecor.extension.isLightCaptionBarAppearance
 import com.android.wm.shell.windowdecor.extension.isTransparentCaptionBarAppearance
 
@@ -145,6 +147,15 @@
     val appNameTextWidth: Int
         get() = appNameTextView.width
 
+    private val a11yAnnounceTextMaximize: String =
+        context.getString(R.string.app_header_talkback_action_maximize_button_text)
+    private val a11yAnnounceTextRestore: String =
+        context.getString(R.string.app_header_talkback_action_restore_button_text)
+
+    private lateinit var sizeToggleDirection: SizeToggleDirection
+    private lateinit var a11yTextMaximize: String
+    private lateinit var a11yTextRestore: String
+
     init {
         captionView.setOnTouchListener(onCaptionTouchListener)
         captionHandle.setOnTouchListener(onCaptionTouchListener)
@@ -163,15 +174,15 @@
 
         val a11yActionSnapLeft = AccessibilityAction(
             R.id.action_snap_left,
-            context.resources.getString(R.string.desktop_mode_a11y_action_snap_left)
+            context.getString(R.string.desktop_mode_a11y_action_snap_left)
         )
         val a11yActionSnapRight = AccessibilityAction(
             R.id.action_snap_right,
-            context.resources.getString(R.string.desktop_mode_a11y_action_snap_right)
+            context.getString(R.string.desktop_mode_a11y_action_snap_right)
         )
         val a11yActionMaximizeRestore = AccessibilityAction(
             R.id.action_maximize_restore,
-            context.resources.getString(R.string.desktop_mode_a11y_action_maximize_restore)
+            context.getString(R.string.desktop_mode_a11y_action_maximize_restore)
         )
 
         captionHandle.accessibilityDelegate = object : View.AccessibilityDelegate() {
@@ -236,19 +247,19 @@
             null
         )
 
-        // Update a11y announcement to say "double tap to maximize or restore window size"
-        ViewCompat.replaceAccessibilityAction(
-            maximizeWindowButton,
-            AccessibilityActionCompat.ACTION_CLICK,
-            context.getString(R.string.maximize_button_talkback_action_maximize_restore_text),
-            null
-        )
-
-        // Update a11y announcement out to say "double tap to minimize app window"
+        // Update a11y announcement to say "double tap to minimize app window"
         ViewCompat.replaceAccessibilityAction(
             minimizeWindowButton,
             AccessibilityActionCompat.ACTION_CLICK,
-            context.getString(R.string.minimize_button_talkback_action_maximize_restore_text),
+            context.getString(R.string.app_header_talkback_action_minimize_button_text),
+            null
+        )
+
+        // Update a11y announcement to say "double tap to close app window"
+        ViewCompat.replaceAccessibilityAction(
+            closeWindowButton,
+            AccessibilityActionCompat.ACTION_CLICK,
+            context.getString(R.string.app_header_talkback_action_close_button_text),
             null
         )
     }
@@ -268,6 +279,26 @@
         appNameTextView.text = name
         openMenuButton.contentDescription =
             context.getString(R.string.desktop_mode_app_header_chip_text, name)
+
+        closeWindowButton.contentDescription = context.getString(R.string.close_button_text, name)
+        minimizeWindowButton.contentDescription =
+            context.getString(R.string.minimize_button_text, name)
+
+        a11yTextMaximize = context.getString(R.string.maximize_button_text, name)
+        a11yTextRestore = context.getString(R.string.restore_button_text, name)
+
+        updateMaximizeButtonContentDescription()
+    }
+
+    private fun updateMaximizeButtonContentDescription() {
+        if (this::a11yTextRestore.isInitialized &&
+            this::a11yTextMaximize.isInitialized &&
+            this::sizeToggleDirection.isInitialized) {
+            maximizeWindowButton.contentDescription = when (sizeToggleDirection) {
+                SizeToggleDirection.MAXIMIZE -> a11yTextMaximize
+                SizeToggleDirection.RESTORE -> a11yTextRestore
+            }
+        }
     }
 
     /** Sets the app's icon in the header. */
@@ -388,7 +419,34 @@
                     drawableInsets = maximizeDrawableInsets
                 )
             )
-            setIcon(getMaximizeButtonIcon(isTaskMaximized, inFullImmersiveState))
+            val icon = getMaximizeButtonIcon(isTaskMaximized, inFullImmersiveState)
+            setIcon(icon)
+
+            when (icon) {
+                R.drawable.decor_desktop_mode_immersive_or_maximize_exit_button_dark -> {
+                    sizeToggleDirection = SizeToggleDirection.RESTORE
+
+                    // Update a11y announcement to say "double tap to maximize app window size"
+                    ViewCompat.replaceAccessibilityAction(
+                        maximizeWindowButton,
+                        AccessibilityActionCompat.ACTION_CLICK,
+                        a11yAnnounceTextRestore,
+                        null
+                    )
+                }
+                R.drawable.decor_desktop_mode_maximize_button_dark -> {
+                    sizeToggleDirection = SizeToggleDirection.MAXIMIZE
+
+                    // Update a11y announcement to say "double tap to restore app window size"
+                    ViewCompat.replaceAccessibilityAction(
+                        maximizeWindowButton,
+                        AccessibilityActionCompat.ACTION_CLICK,
+                        a11yAnnounceTextMaximize,
+                        null
+                    )
+                }
+            }
+            updateMaximizeButtonContentDescription()
         }
         // Close button.
         closeWindowButton.apply {
@@ -579,55 +637,8 @@
         )
     }
 
-    @ColorInt
-    private fun replaceColorAlpha(@ColorInt color: Int, alpha: Int): Int {
-        return Color.argb(
-            alpha,
-            Color.red(color),
-            Color.green(color),
-            Color.blue(color)
-        )
-    }
-
-    private fun createRippleDrawable(
-        @ColorInt color: Int,
-        cornerRadius: Int,
-        drawableInsets: DrawableInsets,
-    ): RippleDrawable {
-        return RippleDrawable(
-            ColorStateList(
-                arrayOf(
-                    intArrayOf(android.R.attr.state_hovered),
-                    intArrayOf(android.R.attr.state_pressed),
-                    intArrayOf(),
-                ),
-                intArrayOf(
-                    replaceColorAlpha(color, OPACITY_11),
-                    replaceColorAlpha(color, OPACITY_15),
-                    Color.TRANSPARENT
-                )
-            ),
-            null /* content */,
-            LayerDrawable(arrayOf(
-                ShapeDrawable().apply {
-                    shape = RoundRectShape(
-                        FloatArray(8) { cornerRadius.toFloat() },
-                        null /* inset */,
-                        null /* innerRadii */
-                    )
-                    paint.color = Color.WHITE
-                }
-            )).apply {
-                require(numberOfLayers == 1) { "Must only contain one layer" }
-                setLayerInset(0 /* index */,
-                    drawableInsets.l, drawableInsets.t, drawableInsets.r, drawableInsets.b)
-            }
-        )
-    }
-
-    private data class DrawableInsets(val l: Int, val t: Int, val r: Int, val b: Int) {
-        constructor(vertical: Int = 0, horizontal: Int = 0) :
-                this(horizontal, vertical, horizontal, vertical)
+    private enum class SizeToggleDirection {
+        MAXIMIZE, RESTORE
     }
 
     private data class Header(
diff --git a/libs/WindowManager/Shell/tests/e2e/desktopmode/flicker-service/src/com/android/wm/shell/flicker/DesktopModeFlickerScenarios.kt b/libs/WindowManager/Shell/tests/e2e/desktopmode/flicker-service/src/com/android/wm/shell/flicker/DesktopModeFlickerScenarios.kt
index 4c443d7..d73d08c 100644
--- a/libs/WindowManager/Shell/tests/e2e/desktopmode/flicker-service/src/com/android/wm/shell/flicker/DesktopModeFlickerScenarios.kt
+++ b/libs/WindowManager/Shell/tests/e2e/desktopmode/flicker-service/src/com/android/wm/shell/flicker/DesktopModeFlickerScenarios.kt
@@ -498,9 +498,9 @@
                         it.remove(VisibleLayersShownMoreThanOneConsecutiveEntry())
                     } +
                     listOf(
-                        AppWindowOnTopAtStart(DESKTOP_MODE_APP),
                         AppWindowBecomesInvisible(DESKTOP_MODE_APP),
                         AppWindowOnTopAtEnd(LAUNCHER),
+                        AppWindowIsInvisibleAtEnd(DESKTOP_WALLPAPER),
                     ).associateBy({ it }, { AssertionInvocationGroup.BLOCKING })
             )
         val OPEN_UNLIMITED_APPS =
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/e2e/desktopmode/scenarios/src/com/android/wm/shell/scenarios/ExitDesktopWithDragToTopDragZone.kt b/libs/WindowManager/Shell/tests/e2e/desktopmode/scenarios/src/com/android/wm/shell/scenarios/ExitDesktopWithDragToTopDragZone.kt
index 2800839..d82c066 100644
--- a/libs/WindowManager/Shell/tests/e2e/desktopmode/scenarios/src/com/android/wm/shell/scenarios/ExitDesktopWithDragToTopDragZone.kt
+++ b/libs/WindowManager/Shell/tests/e2e/desktopmode/scenarios/src/com/android/wm/shell/scenarios/ExitDesktopWithDragToTopDragZone.kt
@@ -18,9 +18,9 @@
 
 import android.tools.NavBar
 import android.tools.Rotation
-import com.android.internal.R
 import com.android.window.flags.Flags
 import com.android.wm.shell.Utils
+import com.android.wm.shell.shared.desktopmode.DesktopModeStatus
 import org.junit.After
 import org.junit.Assume
 import org.junit.Before
@@ -42,8 +42,8 @@
     fun setup() {
         Assume.assumeTrue(Flags.enableDesktopWindowingMode() && tapl.isTablet)
         // Skip the test when the drag-to-maximize is enabled on this device.
-        Assume.assumeFalse(Flags.enableDragToMaximize() &&
-            instrumentation.context.resources.getBoolean(R.bool.config_dragToMaximizeInDesktopMode))
+        Assume.assumeFalse(
+            DesktopModeStatus.shouldMaximizeWhenDragToTopEdge(instrumentation.context))
         tapl.setEnableRotation(true)
         tapl.setExpectedRotation(rotation.value)
         testApp.enterDesktopMode(wmHelper, device)
diff --git a/libs/WindowManager/Shell/tests/e2e/desktopmode/scenarios/src/com/android/wm/shell/scenarios/MaximizeAppWindowWithDragToTopDragZone.kt b/libs/WindowManager/Shell/tests/e2e/desktopmode/scenarios/src/com/android/wm/shell/scenarios/MaximizeAppWindowWithDragToTopDragZone.kt
index 60a0fb5..675b63c 100644
--- a/libs/WindowManager/Shell/tests/e2e/desktopmode/scenarios/src/com/android/wm/shell/scenarios/MaximizeAppWindowWithDragToTopDragZone.kt
+++ b/libs/WindowManager/Shell/tests/e2e/desktopmode/scenarios/src/com/android/wm/shell/scenarios/MaximizeAppWindowWithDragToTopDragZone.kt
@@ -23,12 +23,12 @@
 import android.tools.traces.parsers.WindowManagerStateHelper
 import androidx.test.platform.app.InstrumentationRegistry
 import androidx.test.uiautomator.UiDevice
-import com.android.internal.R
 import com.android.launcher3.tapl.LauncherInstrumentation
 import com.android.server.wm.flicker.helpers.DesktopModeAppHelper
 import com.android.server.wm.flicker.helpers.SimpleAppHelper
 import com.android.window.flags.Flags
 import com.android.wm.shell.Utils
+import com.android.wm.shell.shared.desktopmode.DesktopModeStatus
 import org.junit.After
 import org.junit.Assume
 import org.junit.Before
@@ -54,8 +54,8 @@
     fun setup() {
         Assume.assumeTrue(Flags.enableDesktopWindowingMode() && tapl.isTablet)
         // Skip the test when the drag-to-maximize is disabled on this device.
-        Assume.assumeTrue(Flags.enableDragToMaximize() &&
-            instrumentation.context.resources.getBoolean(R.bool.config_dragToMaximizeInDesktopMode))
+        Assume.assumeTrue(
+            DesktopModeStatus.shouldMaximizeWhenDragToTopEdge(instrumentation.context))
         tapl.setEnableRotation(true)
         tapl.setExpectedRotation(rotation.value)
         ChangeDisplayOrientationRule.setRotation(rotation)
diff --git a/libs/WindowManager/Shell/tests/e2e/desktopmode/scenarios/src/com/android/wm/shell/scenarios/OpenAppWithExternalDisplayConnected.kt b/libs/WindowManager/Shell/tests/e2e/desktopmode/scenarios/src/com/android/wm/shell/scenarios/OpenAppWithExternalDisplayConnected.kt
index 81c46f1..b9a5e4a9 100644
--- a/libs/WindowManager/Shell/tests/e2e/desktopmode/scenarios/src/com/android/wm/shell/scenarios/OpenAppWithExternalDisplayConnected.kt
+++ b/libs/WindowManager/Shell/tests/e2e/desktopmode/scenarios/src/com/android/wm/shell/scenarios/OpenAppWithExternalDisplayConnected.kt
@@ -25,6 +25,7 @@
 import android.tools.flicker.rules.ChangeDisplayOrientationRule
 import android.tools.traces.parsers.WindowManagerStateHelper
 import android.util.DisplayMetrics
+import android.window.DesktopExperienceFlags
 import androidx.test.platform.app.InstrumentationRegistry
 import androidx.test.uiautomator.UiDevice
 import com.android.launcher3.tapl.LauncherInstrumentation
@@ -64,7 +65,7 @@
     @Before
     fun setup() {
         Assume.assumeTrue(Flags.enableDesktopWindowingMode() && tapl.isTablet)
-        Assume.assumeTrue(Flags.enableDisplayWindowingModeSwitching())
+        Assume.assumeTrue(DesktopExperienceFlags.ENABLE_DISPLAY_WINDOWING_MODE_SWITCHING.isTrue)
         tapl.setEnableRotation(true)
         tapl.setExpectedRotation(rotation.value)
         ChangeDisplayOrientationRule.setRotation(rotation)
diff --git a/libs/WindowManager/Shell/tests/e2e/splitscreen/flicker-legacy/src/com/android/wm/shell/flicker/splitscreen/CopyContentInSplit.kt b/libs/WindowManager/Shell/tests/e2e/splitscreen/flicker-legacy/src/com/android/wm/shell/flicker/splitscreen/CopyContentInSplit.kt
index 7f48499..e39fa3a 100644
--- a/libs/WindowManager/Shell/tests/e2e/splitscreen/flicker-legacy/src/com/android/wm/shell/flicker/splitscreen/CopyContentInSplit.kt
+++ b/libs/WindowManager/Shell/tests/e2e/splitscreen/flicker-legacy/src/com/android/wm/shell/flicker/splitscreen/CopyContentInSplit.kt
@@ -22,7 +22,6 @@
 import android.tools.flicker.legacy.LegacyFlickerTest
 import android.tools.flicker.legacy.LegacyFlickerTestFactory
 import android.tools.traces.component.ComponentNameMatcher
-import android.tools.traces.component.EdgeExtensionComponentMatcher
 import androidx.test.filters.FlakyTest
 import androidx.test.filters.RequiresDevice
 import com.android.wm.shell.flicker.splitscreen.benchmark.CopyContentInSplitBenchmark
@@ -99,7 +98,6 @@
                         ComponentNameMatcher.SPLASH_SCREEN,
                         ComponentNameMatcher.SNAPSHOT,
                         ComponentNameMatcher.IME_SNAPSHOT,
-                        EdgeExtensionComponentMatcher(),
                         magnifierLayer,
                         popupWindowLayer
                     )
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 d4d8d93..bc965b9 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,14 +39,12 @@
 import android.annotation.NonNull;
 import android.graphics.Point;
 import android.graphics.Rect;
-import android.platform.test.annotations.EnableFlags;
 import android.view.animation.AlphaAnimation;
 import android.view.animation.Animation;
 import android.window.TransitionInfo;
 
 import androidx.test.filters.SmallTest;
 
-import com.android.window.flags.Flags;
 import com.android.wm.shell.transition.TransitionInfoBuilder;
 
 import com.google.testing.junit.testparameterinjector.TestParameter;
@@ -135,8 +133,8 @@
                 .addChange(createChange(FLAG_IN_TASK_WITH_EMBEDDED_ACTIVITY, TRANSIT_OPEN))
                 .build();
         info.getChanges().getFirst().setAnimationOptions(TransitionInfo.AnimationOptions
-                .makeCustomAnimOptions("packageName", 0 /* enterResId */, 0 /* exitResId */,
-                        0 /* backgroundColor */, false /* overrideTaskTransition */));
+                .makeCustomAnimOptions("packageName", 0 /* enterResId */, 0 /* changeResId */,
+                        0 /* exitResId */, false /* overrideTaskTransition */));
         final Animator animator = mAnimRunner.createAnimator(
                 info, mStartTransaction, mFinishTransaction,
                 () -> mFinishCallback.onTransitionFinished(null /* wct */),
@@ -146,12 +144,9 @@
         assertEquals(0, animator.getDuration());
     }
 
-    // TODO(b/243518738): Rewrite with TestParameter
-    @EnableFlags(Flags.FLAG_ACTIVITY_EMBEDDING_OVERLAY_PRESENTATION_FLAG)
     @Test
     public void testCalculateParentBounds_flagEnabled_emptyParentSize() {
         TransitionInfo.Change change;
-        final TransitionInfo.Change stubChange = createChange(0 /* flags */);
         final Rect actualParentBounds = new Rect();
         change = prepareChangeForParentBoundsCalculationTest(
                 new Point(0, 0) /* endRelOffset */,
@@ -159,17 +154,15 @@
                 new Point() /* endParentSize */
         );
 
-        calculateParentBounds(change, stubChange, actualParentBounds);
+        calculateParentBounds(change, actualParentBounds);
 
         assertTrue("Parent bounds must be empty because end parent size is not set.",
                 actualParentBounds.isEmpty());
     }
 
-    @EnableFlags(Flags.FLAG_ACTIVITY_EMBEDDING_OVERLAY_PRESENTATION_FLAG)
     @Test
     public void testCalculateParentBounds_flagEnabled(
             @TestParameter ParentBoundsTestParameters params) {
-        final TransitionInfo.Change stubChange = createChange(0 /*flags*/);
         final Rect parentBounds = params.getParentBounds();
         final Rect endAbsBounds = params.getEndAbsBounds();
         final TransitionInfo.Change change = prepareChangeForParentBoundsCalculationTest(
@@ -178,7 +171,7 @@
                 endAbsBounds, new Point(parentBounds.width(), parentBounds.height()));
         final Rect actualParentBounds = new Rect();
 
-        calculateParentBounds(change, stubChange, actualParentBounds);
+        calculateParentBounds(change, actualParentBounds);
 
         assertEquals(parentBounds, actualParentBounds);
     }
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 53a13d0..da4543b 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
@@ -195,8 +195,8 @@
         final TransitionInfo.Change change = info.getChanges().getFirst();
 
         change.setAnimationOptions(TransitionInfo.AnimationOptions
-                .makeCustomAnimOptions("packageName", 0 /* enterResId */, 0 /* exitResId */,
-                        0 /* backgroundColor */, false /* overrideTaskTransition */));
+                .makeCustomAnimOptions("packageName", 0 /* enterResId */, 0 /* changeResId */,
+                        0 /* exitResId */, false /* overrideTaskTransition */));
         assertTrue(mController.shouldAnimate(info));
 
         change.setAnimationOptions(TransitionInfo.AnimationOptions
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/pip/PipBoundsAlgorithmTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/pip/PipBoundsAlgorithmTest.java
index 6bda225..7aea8ef 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/pip/PipBoundsAlgorithmTest.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/pip/PipBoundsAlgorithmTest.java
@@ -147,7 +147,9 @@
     public void getDefaultBounds_widerOverrideMinSize_matchesMinSizeWidthAndDefaultAspectRatio() {
         overrideDefaultAspectRatio(1.0f);
         // The min size's aspect ratio is greater than the default aspect ratio.
-        final Size overrideMinSize = new Size(150, 120);
+        final Size widerSize = mSizeSpecSource.getDefaultSize(1.5f);
+        final Size overrideMinSize = new Size(
+                widerSize.getWidth() / 2, widerSize.getHeight() / 2);
 
         mPipBoundsState.setOverrideMinSize(overrideMinSize);
         final Rect defaultBounds = mPipBoundsAlgorithm.getDefaultBounds();
@@ -163,7 +165,9 @@
     public void getDefaultBounds_tallerOverrideMinSize_matchesMinSizeHeightAndDefaultAspectRatio() {
         overrideDefaultAspectRatio(1.0f);
         // The min size's aspect ratio is greater than the default aspect ratio.
-        final Size overrideMinSize = new Size(120, 150);
+        final Size tallerSize = mSizeSpecSource.getDefaultSize(0.5f);
+        final Size overrideMinSize = new Size(
+                tallerSize.getWidth() / 2, tallerSize.getHeight() / 2);
 
         mPipBoundsState.setOverrideMinSize(overrideMinSize);
         final Rect defaultBounds = mPipBoundsAlgorithm.getDefaultBounds();
@@ -306,10 +310,12 @@
                 DEFAULT_ASPECT_RATIO,
                 (MAX_ASPECT_RATIO + DEFAULT_ASPECT_RATIO) / 2
         };
+        final Size defaultSize = mSizeSpecSource.getDefaultSize(1.0f);
+        final int defaultMinHeight = defaultSize.getHeight() / 2;
         final Size[] minimalSizes = new Size[] {
-                new Size((int) (200 * aspectRatios[0]), 200),
-                new Size((int) (200 * aspectRatios[1]), 200),
-                new Size((int) (200 * aspectRatios[2]), 200)
+                new Size((int) (defaultMinHeight * aspectRatios[0]), defaultMinHeight),
+                new Size((int) (defaultMinHeight * aspectRatios[1]), defaultMinHeight),
+                new Size((int) (defaultMinHeight * aspectRatios[2]), defaultMinHeight)
         };
         for (int i = 0; i < aspectRatios.length; i++) {
             final float aspectRatio = aspectRatios[i];
@@ -331,15 +337,17 @@
 
     @Test
     public void getAdjustedDestinationBounds_ignoreMinBounds() {
-        final float aspectRatio = (DEFAULT_ASPECT_RATIO + MAX_ASPECT_RATIO) / 2;
-        final Rect currentBounds = new Rect(0, 0, 0, 100);
-        currentBounds.right = (int) (currentBounds.height() * aspectRatio) + currentBounds.left;
-        final Size minSize = new Size(currentBounds.width() / 2, currentBounds.height() / 2);
+        final float oldAspectRatio = (DEFAULT_ASPECT_RATIO + MAX_ASPECT_RATIO) / 2;
+        final float newAspectRatio = (DEFAULT_ASPECT_RATIO + MIN_ASPECT_RATIO) / 2;
+        final Size defaultSize = mSizeSpecSource.getDefaultSize(oldAspectRatio);
+        final Size minSize = new Size(
+                defaultSize.getWidth() / 2, defaultSize.getHeight() / 2);
+        final Rect currentBounds = new Rect(0, 0, defaultSize.getWidth(), defaultSize.getHeight());
 
-        mPipBoundsState.setAspectRatio(aspectRatio);
+        mPipBoundsState.setAspectRatio(newAspectRatio);
         mPipBoundsState.setOverrideMinSize(minSize);
         final Rect destinationBounds = mPipBoundsAlgorithm.getAdjustedDestinationBounds(
-                currentBounds, aspectRatio);
+                currentBounds, newAspectRatio);
 
         assertTrue("Destination bounds ignores minimal size",
                 destinationBounds.width() > minSize.getWidth()
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/pip/PipBoundsStateTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/pip/PipBoundsStateTest.java
index ad664ac..01b76ed 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/pip/PipBoundsStateTest.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/pip/PipBoundsStateTest.java
@@ -51,7 +51,6 @@
 @SmallTest
 public class PipBoundsStateTest extends ShellTestCase {
 
-    private static final Size DEFAULT_SIZE = new Size(10, 10);
     private static final float DEFAULT_SNAP_FRACTION = 1.0f;
 
     /** The minimum possible size of the override min size's width or height */
@@ -184,10 +183,14 @@
     @Test
     public void testSetOverrideMinSize_changed_callbackInvoked() {
         final Runnable callback = mock(Runnable.class);
-        mPipBoundsState.setOverrideMinSize(new Size(5, 5));
+        mPipBoundsState.setAspectRatio(2f);
+        final Size defaultSize = mSizeSpecSource.getDefaultSize(mPipBoundsState.getAspectRatio());
+        mPipBoundsState.setOverrideMinSize(
+                new Size(defaultSize.getWidth() / 2, defaultSize.getHeight() / 2));
         mPipBoundsState.setOnMinimalSizeChangeCallback(callback);
 
-        mPipBoundsState.setOverrideMinSize(new Size(10, 10));
+        mPipBoundsState.setOverrideMinSize(
+                new Size(defaultSize.getWidth() / 4, defaultSize.getHeight() / 4));
 
         verify(callback).run();
     }
@@ -195,24 +198,47 @@
     @Test
     public void testSetOverrideMinSize_notChanged_callbackNotInvoked() {
         final Runnable callback = mock(Runnable.class);
-        mPipBoundsState.setOverrideMinSize(new Size(100, 150));
+        mPipBoundsState.setAspectRatio(2f);
+        final Size defaultSize = mSizeSpecSource.getDefaultSize(mPipBoundsState.getAspectRatio());
+        mPipBoundsState.setOverrideMinSize(
+                new Size(defaultSize.getWidth() / 2, defaultSize.getHeight() / 2));
         mPipBoundsState.setOnMinimalSizeChangeCallback(callback);
 
-        mPipBoundsState.setOverrideMinSize(new Size(100, 150));
+        mPipBoundsState.setOverrideMinSize(
+                new Size(defaultSize.getWidth() / 2, defaultSize.getHeight() / 2));
 
         verify(callback, never()).run();
     }
 
     @Test
+    public void testSetOverrideMinSize_tooLarge_ignored() {
+        final Runnable callback = mock(Runnable.class);
+        mPipBoundsState.setAspectRatio(2f);
+        final Size defaultSize = mSizeSpecSource.getDefaultSize(mPipBoundsState.getAspectRatio());
+        final Size halfSize = new Size(defaultSize.getWidth() / 2, defaultSize.getHeight() / 2);
+        final Size doubleSize = new Size(defaultSize.getWidth() * 2, defaultSize.getHeight() * 2);
+        mPipBoundsState.setOverrideMinSize(halfSize);
+        mPipBoundsState.setOnMinimalSizeChangeCallback(callback);
+
+        mPipBoundsState.setOverrideMinSize(doubleSize);
+
+        assertEquals("Override min size should be ignored",
+                mPipBoundsState.getOverrideMinSize(), halfSize);
+        verify(callback, never()).run();
+    }
+
+    @Test
     public void testGetOverrideMinEdgeSize() {
         mPipBoundsState.setOverrideMinSize(null);
         assertEquals(0, mPipBoundsState.getOverrideMinEdgeSize());
 
-        mPipBoundsState.setOverrideMinSize(new Size(100, 110));
-        assertEquals(100, mPipBoundsState.getOverrideMinEdgeSize());
+        mPipBoundsState.setAspectRatio(2f);
+        final Size defaultSize = mSizeSpecSource.getDefaultSize(mPipBoundsState.getAspectRatio());
+        final Size halfSize = new Size(defaultSize.getWidth() / 2, defaultSize.getHeight() / 2);
+        mPipBoundsState.setOverrideMinSize(halfSize);
 
-        mPipBoundsState.setOverrideMinSize(new Size(150, 200));
-        assertEquals(150, mPipBoundsState.getOverrideMinEdgeSize());
+        assertEquals(Math.min(halfSize.getWidth(), halfSize.getHeight()),
+                mPipBoundsState.getOverrideMinEdgeSize());
     }
 
     @Test
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/pip/PipDesktopStateTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/pip/PipDesktopStateTest.java
index 75ad621..e85d30f 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/pip/PipDesktopStateTest.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/pip/PipDesktopStateTest.java
@@ -124,7 +124,7 @@
 
     @Test
     public void isPipEnteringInDesktopMode_visibleCountZero_minimizedPipPresent_returnsTrue() {
-        when(mMockDesktopRepository.getVisibleTaskCount(DISPLAY_ID)).thenReturn(0);
+        when(mMockDesktopRepository.isAnyDeskActive(DISPLAY_ID)).thenReturn(false);
         when(mMockDesktopRepository.isMinimizedPipPresentInDisplay(DISPLAY_ID)).thenReturn(true);
 
         assertTrue(mPipDesktopState.isPipEnteringInDesktopMode(mMockTaskInfo));
@@ -132,7 +132,7 @@
 
     @Test
     public void isPipEnteringInDesktopMode_visibleCountNonzero_minimizedPipAbsent_returnsTrue() {
-        when(mMockDesktopRepository.getVisibleTaskCount(DISPLAY_ID)).thenReturn(1);
+        when(mMockDesktopRepository.isAnyDeskActive(DISPLAY_ID)).thenReturn(true);
         when(mMockDesktopRepository.isMinimizedPipPresentInDisplay(DISPLAY_ID)).thenReturn(false);
 
         assertTrue(mPipDesktopState.isPipEnteringInDesktopMode(mMockTaskInfo));
@@ -140,7 +140,7 @@
 
     @Test
     public void isPipEnteringInDesktopMode_visibleCountZero_minimizedPipAbsent_returnsFalse() {
-        when(mMockDesktopRepository.getVisibleTaskCount(DISPLAY_ID)).thenReturn(0);
+        when(mMockDesktopRepository.isAnyDeskActive(DISPLAY_ID)).thenReturn(false);
         when(mMockDesktopRepository.isMinimizedPipPresentInDisplay(DISPLAY_ID)).thenReturn(false);
 
         assertFalse(mPipDesktopState.isPipEnteringInDesktopMode(mMockTaskInfo));
@@ -148,7 +148,7 @@
 
     @Test
     public void shouldExitPipExitDesktopMode_visibleCountZero_wallpaperInvisible_returnsFalse() {
-        when(mMockDesktopRepository.getVisibleTaskCount(DISPLAY_ID)).thenReturn(0);
+        when(mMockDesktopRepository.isAnyDeskActive(DISPLAY_ID)).thenReturn(false);
         when(mMockDesktopWallpaperActivityTokenProvider.isWallpaperActivityVisible(
                 DISPLAY_ID)).thenReturn(false);
 
@@ -157,7 +157,7 @@
 
     @Test
     public void shouldExitPipExitDesktopMode_visibleCountNonzero_wallpaperVisible_returnsFalse() {
-        when(mMockDesktopRepository.getVisibleTaskCount(DISPLAY_ID)).thenReturn(1);
+        when(mMockDesktopRepository.isAnyDeskActive(DISPLAY_ID)).thenReturn(true);
         when(mMockDesktopWallpaperActivityTokenProvider.isWallpaperActivityVisible(
                 DISPLAY_ID)).thenReturn(true);
 
@@ -166,7 +166,7 @@
 
     @Test
     public void shouldExitPipExitDesktopMode_visibleCountZero_wallpaperVisible_returnsTrue() {
-        when(mMockDesktopRepository.getVisibleTaskCount(DISPLAY_ID)).thenReturn(0);
+        when(mMockDesktopRepository.isAnyDeskActive(DISPLAY_ID)).thenReturn(false);
         when(mMockDesktopWallpaperActivityTokenProvider.isWallpaperActivityVisible(
                 DISPLAY_ID)).thenReturn(true);
 
@@ -176,7 +176,7 @@
     @Test
     public void getOutPipWindowingMode_exitToDesktop_displayFreeform_returnsUndefined() {
         // Set visible task count to 1 so isPipExitingToDesktopMode returns true
-        when(mMockDesktopRepository.getVisibleTaskCount(DISPLAY_ID)).thenReturn(1);
+        when(mMockDesktopRepository.isAnyDeskActive(DISPLAY_ID)).thenReturn(true);
         setDisplayWindowingMode(WINDOWING_MODE_FREEFORM);
 
         assertEquals(WINDOWING_MODE_UNDEFINED, mPipDesktopState.getOutPipWindowingMode());
@@ -185,7 +185,7 @@
     @Test
     public void getOutPipWindowingMode_exitToDesktop_displayFullscreen_returnsFreeform() {
         // Set visible task count to 1 so isPipExitingToDesktopMode returns true
-        when(mMockDesktopRepository.getVisibleTaskCount(DISPLAY_ID)).thenReturn(1);
+        when(mMockDesktopRepository.isAnyDeskActive(DISPLAY_ID)).thenReturn(true);
         setDisplayWindowingMode(WINDOWING_MODE_FULLSCREEN);
 
         assertEquals(WINDOWING_MODE_FREEFORM, mPipDesktopState.getOutPipWindowingMode());
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/CompatUIControllerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/CompatUIControllerTest.java
index 2264ade..598a101 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/CompatUIControllerTest.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/CompatUIControllerTest.java
@@ -67,8 +67,6 @@
 
 import dagger.Lazy;
 
-import java.util.Optional;
-
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -78,6 +76,8 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import java.util.Optional;
+
 /**
  * Tests for {@link CompatUIController}.
  *
@@ -707,13 +707,13 @@
     @EnableFlags(Flags.FLAG_SKIP_COMPAT_UI_EDUCATION_IN_DESKTOP_MODE)
     public void testUpdateActiveTaskInfo_removeAllComponentWhenInDesktopModeFlagEnabled() {
         TaskInfo taskInfo = createTaskInfo(DISPLAY_ID, TASK_ID, /* hasSizeCompat= */ true);
-        when(mDesktopUserRepositories.getCurrent().getVisibleTaskCount(DISPLAY_ID)).thenReturn(0);
+        when(mDesktopUserRepositories.getCurrent().isAnyDeskActive(DISPLAY_ID)).thenReturn(false);
 
         mController.onCompatInfoChanged(new CompatUIInfo(taskInfo, mMockTaskListener));
 
         verify(mController, never()).removeLayouts(taskInfo.taskId);
 
-        when(mDesktopUserRepositories.getCurrent().getVisibleTaskCount(DISPLAY_ID)).thenReturn(2);
+        when(mDesktopUserRepositories.getCurrent().isAnyDeskActive(DISPLAY_ID)).thenReturn(true);
 
         mController.onCompatInfoChanged(new CompatUIInfo(taskInfo, mMockTaskListener));
 
@@ -724,14 +724,14 @@
     @RequiresFlagsDisabled(Flags.FLAG_APP_COMPAT_UI_FRAMEWORK)
     @DisableFlags(Flags.FLAG_SKIP_COMPAT_UI_EDUCATION_IN_DESKTOP_MODE)
     public void testUpdateActiveTaskInfo_removeAllComponentWhenInDesktopModeFlagDisabled() {
-        when(mDesktopUserRepositories.getCurrent().getVisibleTaskCount(DISPLAY_ID)).thenReturn(0);
+        when(mDesktopUserRepositories.getCurrent().isAnyDeskActive(DISPLAY_ID)).thenReturn(false);
         TaskInfo taskInfo = createTaskInfo(DISPLAY_ID, TASK_ID, /* hasSizeCompat= */ true);
 
         mController.onCompatInfoChanged(new CompatUIInfo(taskInfo, mMockTaskListener));
 
         verify(mController, never()).removeLayouts(taskInfo.taskId);
 
-        when(mDesktopUserRepositories.getCurrent().getVisibleTaskCount(DISPLAY_ID)).thenReturn(2);
+        when(mDesktopUserRepositories.getCurrent().isAnyDeskActive(DISPLAY_ID)).thenReturn(true);
 
         mController.onCompatInfoChanged(new CompatUIInfo(taskInfo, mMockTaskListener));
 
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopDisplayModeControllerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopDisplayModeControllerTest.kt
index 0ff7230..cc37c44 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopDisplayModeControllerTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopDisplayModeControllerTest.kt
@@ -22,9 +22,10 @@
 import android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED
 import android.content.ContentResolver
 import android.os.Binder
+import android.platform.test.annotations.DisableFlags
+import android.platform.test.annotations.EnableFlags
 import android.provider.Settings
 import android.provider.Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS
-import android.testing.AndroidTestingRunner
 import android.view.Display.DEFAULT_DISPLAY
 import android.view.IWindowManager
 import android.view.WindowManager.TRANSIT_CHANGE
@@ -32,6 +33,7 @@
 import android.window.WindowContainerTransaction
 import androidx.test.filters.SmallTest
 import com.android.dx.mockito.inline.extended.ExtendedMockito.never
+import com.android.window.flags.Flags
 import com.android.wm.shell.MockToken
 import com.android.wm.shell.RootTaskDisplayAreaOrganizer
 import com.android.wm.shell.ShellTaskOrganizer
@@ -40,6 +42,8 @@
 import com.android.wm.shell.desktopmode.desktopwallpaperactivity.DesktopWallpaperActivityTokenProvider
 import com.android.wm.shell.transition.Transitions
 import com.google.common.truth.Truth.assertThat
+import com.google.testing.junit.testparameterinjector.TestParameter
+import com.google.testing.junit.testparameterinjector.TestParameterInjector
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -59,7 +63,7 @@
  * Usage: atest WMShellUnitTests:DesktopDisplayModeControllerTest
  */
 @SmallTest
-@RunWith(AndroidTestingRunner::class)
+@RunWith(TestParameterInjector::class)
 class DesktopDisplayModeControllerTest : ShellTestCase() {
     private val transitions = mock<Transitions>()
     private val rootTaskDisplayAreaOrganizer = mock<RootTaskDisplayAreaOrganizer>()
@@ -101,7 +105,7 @@
     private fun testDisplayWindowingModeSwitch(
         defaultWindowingMode: Int,
         extendedDisplayEnabled: Boolean,
-        expectTransition: Boolean,
+        expectToSwitch: Boolean,
     ) {
         defaultTDA.configuration.windowConfiguration.windowingMode = defaultWindowingMode
         whenever(mockWindowManager.getWindowingMode(anyInt())).thenReturn(defaultWindowingMode)
@@ -113,10 +117,14 @@
 
         settingsSession.use {
             connectExternalDisplay()
-            defaultTDA.configuration.windowConfiguration.windowingMode = WINDOWING_MODE_FREEFORM
+            if (expectToSwitch) {
+                // Assumes [connectExternalDisplay] properly triggered the switching transition.
+                // Will verify the transition later along with [disconnectExternalDisplay].
+                defaultTDA.configuration.windowConfiguration.windowingMode = WINDOWING_MODE_FREEFORM
+            }
             disconnectExternalDisplay()
 
-            if (expectTransition) {
+            if (expectToSwitch) {
                 val arg = argumentCaptor<WindowContainerTransaction>()
                 verify(transitions, times(2))
                     .startTransition(eq(TRANSIT_CHANGE), arg.capture(), isNull())
@@ -135,33 +143,30 @@
     }
 
     @Test
-    fun displayWindowingModeSwitchOnDisplayConnected_extendedDisplayDisabled() {
+    @DisableFlags(Flags.FLAG_ENABLE_DISPLAY_WINDOWING_MODE_SWITCHING)
+    fun displayWindowingModeSwitchOnDisplayConnected_flagDisabled(
+        @TestParameter param: ModeSwitchTestCase
+    ) {
         testDisplayWindowingModeSwitch(
-            defaultWindowingMode = WINDOWING_MODE_FULLSCREEN,
-            extendedDisplayEnabled = false,
-            expectTransition = false,
+            param.defaultWindowingMode,
+            param.extendedDisplayEnabled,
+            // When the flag is disabled, never switch.
+            expectToSwitch = false,
         )
     }
 
     @Test
-    fun displayWindowingModeSwitchOnDisplayConnected_fullscreenDisplay() {
+    @EnableFlags(Flags.FLAG_ENABLE_DISPLAY_WINDOWING_MODE_SWITCHING)
+    fun displayWindowingModeSwitchOnDisplayConnected(@TestParameter param: ModeSwitchTestCase) {
         testDisplayWindowingModeSwitch(
-            defaultWindowingMode = WINDOWING_MODE_FULLSCREEN,
-            extendedDisplayEnabled = true,
-            expectTransition = true,
+            param.defaultWindowingMode,
+            param.extendedDisplayEnabled,
+            param.expectToSwitchByDefault,
         )
     }
 
     @Test
-    fun displayWindowingModeSwitchOnDisplayConnected_freeformDisplay() {
-        testDisplayWindowingModeSwitch(
-            defaultWindowingMode = WINDOWING_MODE_FREEFORM,
-            extendedDisplayEnabled = true,
-            expectTransition = false,
-        )
-    }
-
-    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_DISPLAY_WINDOWING_MODE_SWITCHING)
     fun displayWindowingModeSwitch_existingTasksOnConnected() {
         defaultTDA.configuration.windowConfiguration.windowingMode = WINDOWING_MODE_FULLSCREEN
         whenever(mockWindowManager.getWindowingMode(anyInt())).thenReturn(WINDOWING_MODE_FULLSCREEN)
@@ -180,6 +185,7 @@
     }
 
     @Test
+    @EnableFlags(Flags.FLAG_ENABLE_DISPLAY_WINDOWING_MODE_SWITCHING)
     fun displayWindowingModeSwitch_existingTasksOnDisconnected() {
         defaultTDA.configuration.windowConfiguration.windowingMode = WINDOWING_MODE_FREEFORM
         whenever(mockWindowManager.getWindowingMode(anyInt())).thenAnswer {
@@ -227,7 +233,34 @@
         }
     }
 
-    private companion object {
+    companion object {
         const val EXTERNAL_DISPLAY_ID = 100
+
+        enum class ModeSwitchTestCase(
+            val defaultWindowingMode: Int,
+            val extendedDisplayEnabled: Boolean,
+            val expectToSwitchByDefault: Boolean,
+        ) {
+            FULLSCREEN_DISPLAY(
+                defaultWindowingMode = WINDOWING_MODE_FULLSCREEN,
+                extendedDisplayEnabled = true,
+                expectToSwitchByDefault = true,
+            ),
+            FULLSCREEN_DISPLAY_MIRRORING(
+                defaultWindowingMode = WINDOWING_MODE_FULLSCREEN,
+                extendedDisplayEnabled = false,
+                expectToSwitchByDefault = false,
+            ),
+            FREEFORM_DISPLAY(
+                defaultWindowingMode = WINDOWING_MODE_FREEFORM,
+                extendedDisplayEnabled = true,
+                expectToSwitchByDefault = false,
+            ),
+            FREEFORM_DISPLAY_MIRRORING(
+                defaultWindowingMode = WINDOWING_MODE_FREEFORM,
+                extendedDisplayEnabled = false,
+                expectToSwitchByDefault = false,
+            ),
+        }
     }
 }
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeVisualIndicatorTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeVisualIndicatorTest.kt
index 20d50aa..dcc9e24 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeVisualIndicatorTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeVisualIndicatorTest.kt
@@ -36,6 +36,7 @@
 import com.android.wm.shell.common.DisplayLayout
 import com.android.wm.shell.common.SyncTransactionQueue
 import com.android.wm.shell.shared.bubbles.BubbleDropTargetBoundsProvider
+import com.android.wm.shell.windowdecor.tiling.SnapEventHandler
 import com.google.common.truth.Truth.assertThat
 import org.junit.Before
 import org.junit.Rule
@@ -67,6 +68,7 @@
     @Mock private lateinit var taskDisplayAreaOrganizer: RootTaskDisplayAreaOrganizer
     @Mock private lateinit var displayLayout: DisplayLayout
     @Mock private lateinit var bubbleBoundsProvider: BubbleDropTargetBoundsProvider
+    @Mock private lateinit var snapEventHandler: SnapEventHandler
 
     private lateinit var visualIndicator: DesktopModeVisualIndicator
     private val desktopExecutor = TestShellExecutor()
@@ -356,6 +358,7 @@
                 taskDisplayAreaOrganizer,
                 dragStartState,
                 bubbleBoundsProvider,
+                snapEventHandler,
             )
     }
 
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopRepositoryTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopRepositoryTest.kt
index 9bff287..a43b4dd 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopRepositoryTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopRepositoryTest.kt
@@ -31,12 +31,14 @@
 import com.android.wm.shell.ShellTestCase
 import com.android.wm.shell.TestShellExecutor
 import com.android.wm.shell.common.ShellExecutor
+import com.android.wm.shell.desktopmode.DesktopRepository.Companion.INVALID_DESK_ID
 import com.android.wm.shell.desktopmode.persistence.Desktop
 import com.android.wm.shell.desktopmode.persistence.DesktopPersistentRepository
 import com.android.wm.shell.sysui.ShellInit
 import com.google.common.truth.Truth.assertThat
 import junit.framework.Assert.fail
 import kotlin.test.assertEquals
+import kotlin.test.assertNotNull
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -1430,6 +1432,161 @@
             )
     }
 
+    @Test
+    @EnableFlags(FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    fun addDesk_updatesListener() {
+        val listener = TestDeskChangeListener()
+        val executor = TestShellExecutor()
+        repo.addDeskChangeListener(listener, executor)
+
+        repo.addDesk(displayId = 0, deskId = 1)
+        executor.flushAll()
+
+        val lastAddition = assertNotNull(listener.lastAddition)
+        assertThat(lastAddition.displayId).isEqualTo(0)
+        assertThat(lastAddition.deskId).isEqualTo(1)
+    }
+
+    @Test
+    @EnableFlags(FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    fun removeDesk_updatesListener() {
+        val listener = TestDeskChangeListener()
+        val executor = TestShellExecutor()
+        repo.addDeskChangeListener(listener, executor)
+        repo.addDesk(displayId = 0, deskId = 1)
+
+        repo.removeDesk(deskId = 1)
+        executor.flushAll()
+
+        val lastRemoval = assertNotNull(listener.lastRemoval)
+        assertThat(lastRemoval.displayId).isEqualTo(0)
+        assertThat(lastRemoval.deskId).isEqualTo(1)
+    }
+
+    @Test
+    @EnableFlags(FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    fun removeDesk_didNotExist_doesNotUpdateListener() {
+        val listener = TestDeskChangeListener()
+        val executor = TestShellExecutor()
+        repo.addDeskChangeListener(listener, executor)
+        repo.addDesk(displayId = 0, deskId = 1)
+
+        repo.removeDesk(deskId = 2)
+        executor.flushAll()
+
+        assertThat(listener.lastRemoval).isNull()
+    }
+
+    @Test
+    @EnableFlags(FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    fun removeDesk_wasActive_updatesActiveChangeListener() {
+        val listener = TestDeskChangeListener()
+        val executor = TestShellExecutor()
+        repo.addDeskChangeListener(listener, executor)
+        repo.addDesk(displayId = 0, deskId = 1)
+        repo.setActiveDesk(displayId = 0, deskId = 1)
+
+        repo.removeDesk(deskId = 1)
+        executor.flushAll()
+
+        val lastActivationChange = assertNotNull(listener.lastActivationChange)
+        assertThat(lastActivationChange.displayId).isEqualTo(0)
+        assertThat(lastActivationChange.oldActive).isEqualTo(1)
+        assertThat(lastActivationChange.newActive).isEqualTo(INVALID_DESK_ID)
+    }
+
+    @Test
+    @EnableFlags(FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    fun setDeskActive_fromNoActive_updatesListener() {
+        val listener = TestDeskChangeListener()
+        val executor = TestShellExecutor()
+        repo.addDeskChangeListener(listener, executor)
+        repo.addDesk(displayId = 1, deskId = 1)
+
+        repo.setActiveDesk(displayId = 1, deskId = 1)
+        executor.flushAll()
+
+        val lastActivationChange = assertNotNull(listener.lastActivationChange)
+        assertThat(lastActivationChange.displayId).isEqualTo(1)
+        assertThat(lastActivationChange.oldActive).isEqualTo(INVALID_DESK_ID)
+        assertThat(lastActivationChange.newActive).isEqualTo(1)
+    }
+
+    @Test
+    @EnableFlags(FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    fun setDeskActive_fromOtherActive_updatesListener() {
+        val listener = TestDeskChangeListener()
+        val executor = TestShellExecutor()
+        repo.addDeskChangeListener(listener, executor)
+        repo.addDesk(displayId = 1, deskId = 1)
+        repo.addDesk(displayId = 1, deskId = 2)
+        repo.setActiveDesk(displayId = 1, deskId = 1)
+
+        repo.setActiveDesk(displayId = 1, deskId = 2)
+        executor.flushAll()
+
+        val lastActivationChange = assertNotNull(listener.lastActivationChange)
+        assertThat(lastActivationChange.displayId).isEqualTo(1)
+        assertThat(lastActivationChange.oldActive).isEqualTo(1)
+        assertThat(lastActivationChange.newActive).isEqualTo(2)
+    }
+
+    @Test
+    @EnableFlags(FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    fun setDeskInactive_updatesListener() {
+        val listener = TestDeskChangeListener()
+        val executor = TestShellExecutor()
+        repo.addDeskChangeListener(listener, executor)
+        repo.addDesk(displayId = 0, deskId = 1)
+        repo.setActiveDesk(displayId = 0, deskId = 1)
+
+        repo.setDeskInactive(deskId = 1)
+        executor.flushAll()
+
+        val lastActivationChange = assertNotNull(listener.lastActivationChange)
+        assertThat(lastActivationChange.displayId).isEqualTo(0)
+        assertThat(lastActivationChange.oldActive).isEqualTo(1)
+        assertThat(lastActivationChange.newActive).isEqualTo(INVALID_DESK_ID)
+    }
+
+    private class TestDeskChangeListener : DesktopRepository.DeskChangeListener {
+        var lastAddition: LastAddition? = null
+            private set
+
+        var lastRemoval: LastRemoval? = null
+            private set
+
+        var lastActivationChange: LastActivationChange? = null
+            private set
+
+        override fun onDeskAdded(displayId: Int, deskId: Int) {
+            lastAddition = LastAddition(displayId, deskId)
+        }
+
+        override fun onDeskRemoved(displayId: Int, deskId: Int) {
+            lastRemoval = LastRemoval(displayId, deskId)
+        }
+
+        override fun onActiveDeskChanged(
+            displayId: Int,
+            newActiveDeskId: Int,
+            oldActiveDeskId: Int,
+        ) {
+            lastActivationChange =
+                LastActivationChange(
+                    displayId = displayId,
+                    oldActive = oldActiveDeskId,
+                    newActive = newActiveDeskId,
+                )
+        }
+
+        data class LastAddition(val displayId: Int, val deskId: Int)
+
+        data class LastRemoval(val displayId: Int, val deskId: Int)
+
+        data class LastActivationChange(val displayId: Int, val oldActive: Int, val newActive: Int)
+    }
+
     class TestListener : DesktopRepository.ActiveTasksListener {
         var activeChangesOnDefaultDisplay = 0
         var activeChangesOnSecondaryDisplay = 0
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTaskChangeListenerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTaskChangeListenerTest.kt
index 50590f0..6b0ee5b 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTaskChangeListenerTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTaskChangeListenerTest.kt
@@ -56,7 +56,7 @@
     }
 
     @Test
-    fun onTaskOpening_fullscreenTask_notActiveDesktopTask_noop() {
+    fun onTaskOpening_fullscreenTask_nonActiveDesktopTask_noop() {
         val task = createFullscreenTask().apply { isVisible = true }
         whenever(desktopUserRepositories.current.isActiveTask(task.taskId)).thenReturn(false)
 
@@ -68,7 +68,7 @@
     }
 
     @Test
-    fun onTaskOpening_freeformTask_activeDesktopTask_removesTaskFromRepo() {
+    fun onTaskOpening_fullscreenTask_taskIsActiveInDesktopRepo_removesTaskFromDesktopRepo() {
         val task = createFullscreenTask().apply { isVisible = true }
         whenever(desktopUserRepositories.current.isActiveTask(task.taskId)).thenReturn(true)
 
@@ -78,8 +78,19 @@
     }
 
     @Test
-    fun onTaskOpening_freeformTask_visibleDesktopTask_addsTaskToRepository() {
+    fun onTaskOpening_freeformTask_activeInDesktopRepository_noop() {
         val task = createFreeformTask().apply { isVisible = true }
+        whenever(desktopUserRepositories.current.isActiveTask(task.taskId)).thenReturn(true)
+
+        desktopTaskChangeListener.onTaskOpening(task)
+
+        verify(desktopUserRepositories.current, never())
+            .addTask(task.displayId, task.taskId, task.isVisible)
+    }
+
+    @Test
+    fun onTaskOpening_freeformTask_notActiveInDesktopRepo_addsTaskToRepository() {
+        val task = createFreeformTask().apply { isVisible = false }
         whenever(desktopUserRepositories.current.isActiveTask(task.taskId)).thenReturn(false)
 
         desktopTaskChangeListener.onTaskOpening(task)
@@ -88,17 +99,7 @@
     }
 
     @Test
-    fun onTaskOpening_freeformTask_nonVisibleDesktopTask_addsTaskToRepository() {
-        val task = createFreeformTask().apply { isVisible = false }
-        whenever(desktopUserRepositories.current.isActiveTask(task.taskId)).thenReturn(true)
-
-        desktopTaskChangeListener.onTaskOpening(task)
-
-        verify(desktopUserRepositories.current).addTask(task.displayId, task.taskId, task.isVisible)
-    }
-
-    @Test
-    fun onTaskChanging_freeformTaskOutsideDesktop_removesTaskFromRepo() {
+    fun onTaskChanging_fullscreenTask_activeInDesktopRepository_removesTaskFromRepo() {
         val task = createFullscreenTask().apply { isVisible = true }
         whenever(desktopUserRepositories.current.isActiveTask(task.taskId)).thenReturn(true)
 
@@ -108,7 +109,27 @@
     }
 
     @Test
-    fun onTaskChanging_visibleTaskInDesktop_updatesTaskVisibility() {
+    fun onTaskChanging_fullscreenTask_nonActiveInDesktopRepo_noop() {
+        val task = createFullscreenTask().apply { isVisible = true }
+        whenever(desktopUserRepositories.current.isActiveTask(task.taskId)).thenReturn(false)
+
+        desktopTaskChangeListener.onTaskChanging(task)
+
+        verify(desktopUserRepositories.current, never()).removeTask(task.displayId, task.taskId)
+    }
+
+    @Test
+    fun onTaskChanging_freeformTask_nonActiveTaskInDesktopRepo_addsTaskToDesktopRepo() {
+        val task = createFreeformTask().apply { isVisible = true }
+        whenever(desktopUserRepositories.current.isActiveTask(task.taskId)).thenReturn(false)
+
+        desktopTaskChangeListener.onTaskChanging(task)
+
+        verify(desktopUserRepositories.current).addTask(task.displayId, task.taskId, task.isVisible)
+    }
+
+    @Test
+    fun onTaskChanging_freeformTask_activeVisibleTaskInDesktopRepo_updatesTaskVisibility() {
         val task = createFreeformTask().apply { isVisible = true }
         whenever(desktopUserRepositories.current.isActiveTask(task.taskId)).thenReturn(true)
 
@@ -119,7 +140,7 @@
     }
 
     @Test
-    fun onTaskChanging_nonVisibleTask_updatesTaskVisibility() {
+    fun onTaskChanging_freeformTask_activeNonVisibleTask_updatesTaskVisibility() {
         val task = createFreeformTask().apply { isVisible = false }
         whenever(desktopUserRepositories.current.isActiveTask(task.taskId)).thenReturn(true)
 
@@ -130,7 +151,7 @@
     }
 
     @Test
-    fun onTaskMovingToFront_freeformTaskOutsideDesktop_removesTaskFromRepo() {
+    fun onTaskMovingToFront_fullscreenTask_activeTaskInDesktopRepo_removesTaskFromRepo() {
         val task = createFullscreenTask().apply { isVisible = true }
         whenever(desktopUserRepositories.current.isActiveTask(task.taskId)).thenReturn(true)
 
@@ -140,9 +161,18 @@
     }
 
     @Test
-    fun onTaskMovingToFront_freeformTaskOutsideDesktop_addsTaskToRepo() {
+    fun onTaskMovingToFront_fullscreenTask_nonActiveTaskInDesktopRepo_noop() {
         val task = createFullscreenTask().apply { isVisible = true }
-        whenever(desktopUserRepositories.current.isActiveTask(task.taskId)).thenReturn(true)
+        whenever(desktopUserRepositories.current.isActiveTask(task.taskId)).thenReturn(false)
+
+        desktopTaskChangeListener.onTaskMovingToFront(task)
+
+        verify(desktopUserRepositories.current, never()).removeTask(task.displayId, task.taskId)
+    }
+
+    @Test
+    fun onTaskMovingToFront_freeformTask_addsTaskToRepo() {
+        val task = createFreeformTask().apply { isVisible = true }
 
         desktopTaskChangeListener.onTaskMovingToFront(task)
 
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 9a73b02..b0785df 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
@@ -145,6 +145,7 @@
 import com.android.wm.shell.sysui.ShellCommandHandler
 import com.android.wm.shell.sysui.ShellController
 import com.android.wm.shell.sysui.ShellInit
+import com.android.wm.shell.transition.FocusTransitionObserver
 import com.android.wm.shell.transition.OneShotRemoteHandler
 import com.android.wm.shell.transition.TestRemoteTransition
 import com.android.wm.shell.transition.Transitions
@@ -239,6 +240,7 @@
     @Mock private lateinit var taskbarDesktopTaskListener: TaskbarDesktopTaskListener
     @Mock private lateinit var freeformTaskTransitionStarter: FreeformTaskTransitionStarter
     @Mock private lateinit var mockHandler: Handler
+    @Mock private lateinit var focusTransitionObserver: FocusTransitionObserver
     @Mock private lateinit var desktopModeEventLogger: DesktopModeEventLogger
     @Mock private lateinit var desktopModeUiEventLogger: DesktopModeUiEventLogger
     @Mock lateinit var persistentRepository: DesktopPersistentRepository
@@ -261,6 +263,7 @@
     @Mock private lateinit var desksTransitionsObserver: DesksTransitionObserver
     @Mock private lateinit var packageManager: PackageManager
     @Mock private lateinit var mockDisplayContext: Context
+    @Mock private lateinit var dragToDisplayTransitionHandler: DragToDisplayTransitionHandler
 
     private lateinit var controller: DesktopTasksController
     private lateinit var shellInit: ShellInit
@@ -331,6 +334,16 @@
         whenever(enterDesktopTransitionHandler.moveToDesktop(any(), any())).thenAnswer { Binder() }
         whenever(exitDesktopTransitionHandler.startTransition(any(), any(), any(), any()))
             .thenReturn(Binder())
+        whenever(
+                desktopMixedTransitionHandler.startLaunchTransition(
+                    any(),
+                    any(),
+                    anyOrNull(),
+                    anyOrNull(),
+                    anyOrNull(),
+                )
+            )
+            .thenReturn(Binder())
         whenever(displayController.getDisplayLayout(anyInt())).thenReturn(displayLayout)
         whenever(displayController.getDisplayContext(anyInt())).thenReturn(mockDisplayContext)
         whenever(displayController.getDisplay(anyInt())).thenReturn(display)
@@ -422,6 +435,7 @@
             recentTasksController,
             mockInteractionJankMonitor,
             mockHandler,
+            focusTransitionObserver,
             desktopModeEventLogger,
             desktopModeUiEventLogger,
             desktopWallpaperActivityTokenProvider,
@@ -431,6 +445,7 @@
             desksTransitionsObserver,
             userProfileContexts,
             desktopModeCompatPolicy,
+            dragToDisplayTransitionHandler,
         )
 
     @After
@@ -1062,34 +1077,40 @@
     }
 
     @Test
-    fun visibleTaskCount_noTasks_returnsZero() {
-        assertThat(controller.visibleTaskCount(DEFAULT_DISPLAY)).isEqualTo(0)
+    fun isAnyDeskActive_noTasks_returnsFalse() {
+        assertThat(controller.isAnyDeskActive(DEFAULT_DISPLAY)).isFalse()
     }
 
     @Test
-    fun visibleTaskCount_twoTasks_bothVisible_returnsTwo() {
+    fun isAnyDeskActive_twoTasks_bothVisible_returnsTrue() {
         setUpHomeTask()
+
         setUpFreeformTask().also(::markTaskVisible)
         setUpFreeformTask().also(::markTaskVisible)
-        assertThat(controller.visibleTaskCount(DEFAULT_DISPLAY)).isEqualTo(2)
+
+        assertThat(controller.isAnyDeskActive(DEFAULT_DISPLAY)).isTrue()
     }
 
     @Test
-    fun visibleTaskCount_twoTasks_oneVisible_returnsOne() {
+    fun isInDesktop_twoTasks_oneVisible_returnsTrue() {
         setUpHomeTask()
+
         setUpFreeformTask().also(::markTaskVisible)
         setUpFreeformTask().also(::markTaskHidden)
-        assertThat(controller.visibleTaskCount(DEFAULT_DISPLAY)).isEqualTo(1)
+
+        assertThat(controller.isAnyDeskActive(DEFAULT_DISPLAY)).isTrue()
     }
 
     @Test
-    fun visibleTaskCount_twoTasksVisibleOnDifferentDisplays_returnsOne() {
+    fun isAnyDeskActive_twoTasksVisibleOnDifferentDisplays_returnsTrue() {
         taskRepository.addDesk(displayId = SECOND_DISPLAY, deskId = SECOND_DISPLAY)
         taskRepository.setActiveDesk(displayId = SECOND_DISPLAY, deskId = SECOND_DISPLAY)
         setUpHomeTask()
+
         setUpFreeformTask(DEFAULT_DISPLAY).also(::markTaskVisible)
         setUpFreeformTask(SECOND_DISPLAY).also(::markTaskVisible)
-        assertThat(controller.visibleTaskCount(SECOND_DISPLAY)).isEqualTo(1)
+
+        assertThat(controller.isAnyDeskActive(SECOND_DISPLAY)).isTrue()
     }
 
     @Test
@@ -1605,7 +1626,7 @@
     @Test
     @DisableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY)
     fun moveTaskToDesktop_desktopWallpaperDisabled_nonRunningTask_launchesInFreeform() {
-        val task = createTaskInfo(1)
+        val task = createRecentTaskInfo(1)
         whenever(shellTaskOrganizer.getRunningTaskInfo(anyInt())).thenReturn(null)
         whenever(recentTasksController.findTaskInBackground(anyInt())).thenReturn(task)
 
@@ -1620,7 +1641,7 @@
     @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY)
     fun moveTaskToDesktop_desktopWallpaperEnabled_nonRunningTask_launchesInFreeform() {
         whenever(desktopWallpaperActivityTokenProvider.getToken()).thenReturn(null)
-        val task = createTaskInfo(1)
+        val task = createRecentTaskInfo(1)
         whenever(shellTaskOrganizer.getRunningTaskInfo(anyInt())).thenReturn(null)
         whenever(recentTasksController.findTaskInBackground(anyInt())).thenReturn(task)
 
@@ -1675,6 +1696,7 @@
 
     @Test
     @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODALS_POLICY)
+    @DisableFlags(Flags.FLAG_ENABLE_MODALS_FULLSCREEN_WITH_PERMISSION)
     fun moveRunningTaskToDesktop_topActivityTranslucentWithDisplay_doesNothing() {
         val task =
             setUpFullscreenTask().apply {
@@ -1791,7 +1813,7 @@
         whenever(transitions.startTransition(anyInt(), any(), transitionHandlerArgCaptor.capture()))
             .thenReturn(Binder())
 
-        val task = createTaskInfo(1)
+        val task = createRecentTaskInfo(1)
         whenever(shellTaskOrganizer.getRunningTaskInfo(anyInt())).thenReturn(null)
         whenever(recentTasksController.findTaskInBackground(anyInt())).thenReturn(task)
         controller.moveTaskToDefaultDeskAndActivate(
@@ -1806,6 +1828,34 @@
     }
 
     @Test
+    @EnableFlags(
+        Flags.FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY,
+        Flags.FLAG_ENABLE_PER_DISPLAY_DESKTOP_WALLPAPER_ACTIVITY,
+        Flags.FLAG_ENABLE_DESKTOP_WALLPAPER_ACTIVITY_FOR_SYSTEM_USER,
+    )
+    fun moveBackgroundTaskToDesktop_nonDefaultDisplay_reordersHomeAndWallpaperOfNonDefaultDisplay() {
+        val homeTask = setUpHomeTask(displayId = SECOND_DISPLAY)
+        val wallpaperToken = MockToken().token()
+        whenever(desktopWallpaperActivityTokenProvider.getToken(SECOND_DISPLAY))
+            .thenReturn(wallpaperToken)
+        val task = setUpFreeformTask(displayId = SECOND_DISPLAY, deskId = 2, background = true)
+
+        controller.moveTaskToDefaultDeskAndActivate(
+            taskId = task.taskId,
+            transitionSource = UNKNOWN,
+            remoteTransition = RemoteTransition(spy(TestRemoteTransition())),
+        )
+
+        val wct = getLatestTransition()
+        val homeReorderIndex = wct.indexOfReorder(homeTask, toTop = true)
+        val wallpaperReorderIndex = wct.indexOfReorder(wallpaperToken, toTop = true)
+        assertThat(homeReorderIndex).isNotEqualTo(-1)
+        assertThat(wallpaperReorderIndex).isNotEqualTo(-1)
+        // Wallpaper last, to be in front of Home.
+        assertThat(wallpaperReorderIndex).isGreaterThan(homeReorderIndex)
+    }
+
+    @Test
     fun moveRunningTaskToDesktop_remoteTransition_usesOneShotHandler() {
         val transitionHandlerArgCaptor = argumentCaptor<TransitionHandler>()
         whenever(transitions.startTransition(anyInt(), any(), transitionHandlerArgCaptor.capture()))
@@ -2068,6 +2118,21 @@
     }
 
     @Test
+    @EnableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    fun moveToFullscreen_fromDeskWithMultipleTasks_deactivatesDesk() {
+        val deskId = 1
+        taskRepository.addDesk(displayId = DEFAULT_DISPLAY, deskId = deskId)
+        taskRepository.setActiveDesk(displayId = DEFAULT_DISPLAY, deskId = deskId)
+        val task1 = setUpFreeformTask(displayId = DEFAULT_DISPLAY, deskId = deskId)
+        val task2 = setUpFreeformTask(displayId = DEFAULT_DISPLAY, deskId = deskId)
+
+        controller.moveToFullscreen(task1.taskId, transitionSource = UNKNOWN)
+
+        val wct = getLatestExitDesktopWct()
+        verify(desksOrganizer).deactivateDesk(wct, deskId = deskId)
+    }
+
+    @Test
     fun moveToFullscreen_tdaFullscreen_windowingModeSetToUndefined() {
         val task = setUpFreeformTask()
         val tda = rootTaskDisplayAreaOrganizer.getDisplayAreaInfo(DEFAULT_DISPLAY)!!
@@ -2277,7 +2342,10 @@
     }
 
     @Test
-    @DisableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    @DisableFlags(
+        Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND,
+        Flags.FLAG_ENABLE_DESKTOP_WINDOWING_PIP,
+    )
     fun moveToFullscreen_multipleVisibleNonMinimizedTasks_doesNotRemoveWallpaperActivity() {
         val homeTask = setUpHomeTask()
         val task1 = setUpFreeformTask()
@@ -2304,29 +2372,6 @@
     }
 
     @Test
-    @EnableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
-    fun moveToFullscreen_multipleVisibleNonMinimizedTasks_doesNotRemoveWallpaperActivity_multiDesksEnabled() {
-        val homeTask = setUpHomeTask()
-        val task1 = setUpFreeformTask()
-        // Setup task2
-        setUpFreeformTask()
-
-        val tdaInfo = rootTaskDisplayAreaOrganizer.getDisplayAreaInfo(DEFAULT_DISPLAY)
-        assertNotNull(tdaInfo).configuration.windowConfiguration.windowingMode =
-            WINDOWING_MODE_FULLSCREEN
-
-        controller.moveToFullscreen(task1.taskId, transitionSource = UNKNOWN)
-
-        val wct = getLatestExitDesktopWct()
-        val task1Change = assertNotNull(wct.changes[task1.token.asBinder()])
-        assertThat(task1Change.windowingMode).isEqualTo(WINDOWING_MODE_UNDEFINED)
-        verify(desktopModeEnterExitTransitionListener)
-            .onExitDesktopModeTransitionStarted(FULLSCREEN_ANIMATION_DURATION)
-        // Does not remove wallpaper activity, as desktop still has a visible desktop task
-        wct.assertWithoutHop(ReorderPredicate(wallpaperToken, toTop = false))
-    }
-
-    @Test
     fun moveToFullscreen_nonExistentTask_doesNothing() {
         controller.moveToFullscreen(999, transitionSource = UNKNOWN)
         verifyExitDesktopWCTNotExecuted()
@@ -2461,7 +2506,7 @@
 
     @Test
     fun moveTaskToFront_backgroundTask_launchesTask() {
-        val task = createTaskInfo(1)
+        val task = createRecentTaskInfo(1)
         whenever(shellTaskOrganizer.getRunningTaskInfo(anyInt())).thenReturn(null)
         whenever(
                 desktopMixedTransitionHandler.startLaunchTransition(
@@ -2483,7 +2528,7 @@
     @Test
     fun moveTaskToFront_backgroundTaskBringsTasksOverLimit_minimizesBackTask() {
         val freeformTasks = (1..MAX_TASK_LIMIT).map { _ -> setUpFreeformTask() }
-        val task = createTaskInfo(1001)
+        val task = createRecentTaskInfo(1001)
         whenever(shellTaskOrganizer.getRunningTaskInfo(task.taskId)).thenReturn(null)
         whenever(
                 desktopMixedTransitionHandler.startLaunchTransition(
@@ -2779,6 +2824,175 @@
     }
 
     @Test
+    @DisableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    fun moveToNextDisplay_toDesktopInOtherDisplay_bringsExistingTasksToFront() {
+        val transition = Binder()
+        val sourceDeskId = 0
+        val targetDeskId = 2
+        taskRepository.addDesk(displayId = SECOND_DISPLAY, deskId = targetDeskId)
+        taskRepository.setDeskInactive(deskId = targetDeskId)
+        // Set up two display ids
+        whenever(rootTaskDisplayAreaOrganizer.displayIds)
+            .thenReturn(intArrayOf(DEFAULT_DISPLAY, SECOND_DISPLAY))
+        // Create a mock for the target display area: second display
+        val secondDisplayArea = DisplayAreaInfo(MockToken().token(), SECOND_DISPLAY, 0)
+        whenever(rootTaskDisplayAreaOrganizer.getDisplayAreaInfo(SECOND_DISPLAY))
+            .thenReturn(secondDisplayArea)
+        whenever(transitions.startTransition(eq(TRANSIT_CHANGE), any(), anyOrNull()))
+            .thenReturn(transition)
+        val task1 = setUpFreeformTask(displayId = DEFAULT_DISPLAY, deskId = sourceDeskId)
+        val task2 = setUpFreeformTask(displayId = SECOND_DISPLAY, deskId = targetDeskId)
+
+        controller.moveToNextDisplay(task1.taskId)
+
+        // Existing desktop task in the target display is moved to front.
+        val wct = getLatestTransition()
+        wct.assertReorder(task2.token, /* toTop= */ true)
+    }
+
+    @Test
+    @EnableFlags(
+        Flags.FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY,
+        Flags.FLAG_ENABLE_PER_DISPLAY_DESKTOP_WALLPAPER_ACTIVITY,
+        Flags.FLAG_ENABLE_DESKTOP_WALLPAPER_ACTIVITY_FOR_SYSTEM_USER,
+    )
+    @DisableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    fun moveToNextDisplay_toDesktopInOtherDisplay_movesHomeAndWallpaperToFront() {
+        val homeTask = setUpHomeTask(displayId = SECOND_DISPLAY)
+        whenever(desktopWallpaperActivityTokenProvider.getToken(SECOND_DISPLAY))
+            .thenReturn(wallpaperToken)
+        val transition = Binder()
+        val sourceDeskId = 0
+        val targetDeskId = 2
+        taskRepository.addDesk(displayId = SECOND_DISPLAY, deskId = targetDeskId)
+        taskRepository.setDeskInactive(deskId = targetDeskId)
+        // Set up two display ids
+        whenever(rootTaskDisplayAreaOrganizer.displayIds)
+            .thenReturn(intArrayOf(DEFAULT_DISPLAY, SECOND_DISPLAY))
+        // Create a mock for the target display area: second display
+        val secondDisplayArea = DisplayAreaInfo(MockToken().token(), SECOND_DISPLAY, 0)
+        whenever(rootTaskDisplayAreaOrganizer.getDisplayAreaInfo(SECOND_DISPLAY))
+            .thenReturn(secondDisplayArea)
+        whenever(transitions.startTransition(eq(TRANSIT_CHANGE), any(), anyOrNull()))
+            .thenReturn(transition)
+        val task1 = setUpFreeformTask(displayId = DEFAULT_DISPLAY, deskId = sourceDeskId)
+
+        controller.moveToNextDisplay(task1.taskId)
+
+        // Home / Wallpaper should be moved to front as the background of desktop tasks, otherwise
+        // fullscreen (non-desktop) tasks could remain visible.
+        val wct = getLatestTransition()
+        val homeReorderIndex = wct.indexOfReorder(homeTask, toTop = true)
+        val wallpaperReorderIndex = wct.indexOfReorder(wallpaperToken, toTop = true)
+        assertThat(homeReorderIndex).isNotEqualTo(-1)
+        assertThat(wallpaperReorderIndex).isNotEqualTo(-1)
+        // Wallpaper last, to be in front of Home.
+        assertThat(wallpaperReorderIndex).isGreaterThan(homeReorderIndex)
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    fun moveToNextDisplay_toDeskInOtherDisplay_movesToDeskAndActivates() {
+        val transition = Binder()
+        val targetDeskId = 4
+        taskRepository.addDesk(displayId = SECOND_DISPLAY, deskId = targetDeskId)
+        taskRepository.setDeskInactive(deskId = targetDeskId)
+        // Set up two display ids
+        whenever(rootTaskDisplayAreaOrganizer.displayIds)
+            .thenReturn(intArrayOf(DEFAULT_DISPLAY, SECOND_DISPLAY))
+        // Create a mock for the target display area: second display
+        val secondDisplayArea = DisplayAreaInfo(MockToken().token(), SECOND_DISPLAY, 0)
+        whenever(rootTaskDisplayAreaOrganizer.getDisplayAreaInfo(SECOND_DISPLAY))
+            .thenReturn(secondDisplayArea)
+        whenever(transitions.startTransition(eq(TRANSIT_CHANGE), any(), anyOrNull()))
+            .thenReturn(transition)
+
+        val task = setUpFreeformTask(displayId = DEFAULT_DISPLAY)
+        taskRepository.addTaskToDesk(
+            displayId = DEFAULT_DISPLAY,
+            deskId = 0,
+            taskId = task.taskId,
+            isVisible = true,
+        )
+        controller.moveToNextDisplay(task.taskId)
+
+        verify(desksOrganizer).moveTaskToDesk(any(), eq(targetDeskId), eq(task))
+        verify(desksOrganizer).activateDesk(any(), eq(targetDeskId))
+        verify(desksTransitionsObserver)
+            .addPendingTransition(
+                DeskTransition.ActiveDeskWithTask(
+                    token = transition,
+                    displayId = SECOND_DISPLAY,
+                    deskId = targetDeskId,
+                    enterTaskId = task.taskId,
+                )
+            )
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    fun moveToNextDisplay_wasLastTaskInSourceDesk_deactivates() {
+        val transition = Binder()
+        val sourceDeskId = 0
+        val targetDeskId = 4
+        taskRepository.addDesk(displayId = SECOND_DISPLAY, deskId = targetDeskId)
+        taskRepository.setDeskInactive(deskId = targetDeskId)
+        // Set up two display ids
+        whenever(rootTaskDisplayAreaOrganizer.displayIds)
+            .thenReturn(intArrayOf(DEFAULT_DISPLAY, SECOND_DISPLAY))
+        // Create a mock for the target display area: second display
+        val secondDisplayArea = DisplayAreaInfo(MockToken().token(), SECOND_DISPLAY, 0)
+        whenever(rootTaskDisplayAreaOrganizer.getDisplayAreaInfo(SECOND_DISPLAY))
+            .thenReturn(secondDisplayArea)
+        whenever(transitions.startTransition(eq(TRANSIT_CHANGE), any(), anyOrNull()))
+            .thenReturn(transition)
+
+        val task = setUpFreeformTask(displayId = DEFAULT_DISPLAY)
+        taskRepository.addTaskToDesk(
+            displayId = DEFAULT_DISPLAY,
+            deskId = sourceDeskId,
+            taskId = task.taskId,
+            isVisible = true,
+        )
+        controller.moveToNextDisplay(task.taskId)
+
+        verify(desksOrganizer).deactivateDesk(any(), eq(sourceDeskId))
+        verify(desksTransitionsObserver)
+            .addPendingTransition(
+                DeskTransition.DeactivateDesk(token = transition, deskId = sourceDeskId)
+            )
+    }
+
+    @Test
+    fun moveToNextDisplay_movingToDesktop_sendsTaskbarRoundingUpdate() {
+        val transition = Binder()
+        val sourceDeskId = 1
+        val targetDeskId = 2
+        taskRepository.addDesk(displayId = SECOND_DISPLAY, deskId = targetDeskId)
+        taskRepository.setDeskInactive(deskId = targetDeskId)
+        // Set up two display ids
+        whenever(rootTaskDisplayAreaOrganizer.displayIds)
+            .thenReturn(intArrayOf(DEFAULT_DISPLAY, SECOND_DISPLAY))
+        // Create a mock for the target display area: second display
+        val secondDisplayArea = DisplayAreaInfo(MockToken().token(), SECOND_DISPLAY, 0)
+        whenever(rootTaskDisplayAreaOrganizer.getDisplayAreaInfo(SECOND_DISPLAY))
+            .thenReturn(secondDisplayArea)
+        whenever(transitions.startTransition(eq(TRANSIT_CHANGE), any(), anyOrNull()))
+            .thenReturn(transition)
+
+        val task = setUpFreeformTask(displayId = DEFAULT_DISPLAY, deskId = sourceDeskId)
+        taskRepository.addTaskToDesk(
+            displayId = DEFAULT_DISPLAY,
+            deskId = sourceDeskId,
+            taskId = task.taskId,
+            isVisible = true,
+        )
+        controller.moveToNextDisplay(task.taskId)
+
+        verify(taskbarDesktopTaskListener).onTaskbarCornerRoundingUpdate(anyBoolean())
+    }
+
+    @Test
     fun getTaskWindowingMode() {
         val fullscreenTask = setUpFullscreenTask()
         val freeformTask = setUpFreeformTask()
@@ -3733,6 +3947,7 @@
 
     @Test
     @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODALS_POLICY)
+    @DisableFlags(Flags.FLAG_ENABLE_MODALS_FULLSCREEN_WITH_PERMISSION)
     fun handleRequest_topActivityTransparentWithDisplay_returnSwitchToFullscreenWCT() {
         val freeformTask = setUpFreeformTask()
         markTaskVisible(freeformTask)
@@ -3754,6 +3969,7 @@
         Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODALS_POLICY,
         Flags.FLAG_INCLUDE_TOP_TRANSPARENT_FULLSCREEN_TASK_IN_DESKTOP_HEURISTIC,
     )
+    @DisableFlags(Flags.FLAG_ENABLE_MODALS_FULLSCREEN_WITH_PERMISSION)
     fun handleRequest_topActivityTransparentWithDisplay_savedToDesktopRepository() {
         val freeformTask = setUpFreeformTask(displayId = DEFAULT_DISPLAY)
         markTaskVisible(freeformTask)
@@ -3775,6 +3991,7 @@
         Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODALS_POLICY,
         Flags.FLAG_INCLUDE_TOP_TRANSPARENT_FULLSCREEN_TASK_IN_DESKTOP_HEURISTIC,
     )
+    @DisableFlags(Flags.FLAG_ENABLE_MODALS_FULLSCREEN_WITH_PERMISSION)
     fun handleRequest_desktopNotShowing_topTransparentFullscreenTask_notSavedToDesktopRepository() {
         val task = setUpFullscreenTask(displayId = DEFAULT_DISPLAY)
 
@@ -4378,7 +4595,10 @@
     }
 
     @Test
-    @DisableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    @DisableFlags(
+        Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND,
+        Flags.FLAG_ENABLE_DESKTOP_WINDOWING_PIP,
+    )
     fun moveFocusedTaskToFullscreen_multipleVisibleTasks_doesNotRemoveWallpaperActivity() {
         val homeTask = setUpHomeTask()
         val task1 = setUpFreeformTask()
@@ -4403,27 +4623,6 @@
 
     @Test
     @EnableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
-    fun moveFocusedTaskToFullscreen_multipleVisibleTasks_doesNotRemoveWallpaperActivity_multiDesksEnabled() {
-        val homeTask = setUpHomeTask()
-        val task1 = setUpFreeformTask()
-        val task2 = setUpFreeformTask()
-        val task3 = setUpFreeformTask()
-
-        task1.isFocused = false
-        task2.isFocused = true
-        task3.isFocused = false
-        controller.enterFullscreen(DEFAULT_DISPLAY, transitionSource = UNKNOWN)
-
-        val wct = getLatestExitDesktopWct()
-        val taskChange = assertNotNull(wct.changes[task2.token.asBinder()])
-        assertThat(taskChange.windowingMode)
-            .isEqualTo(WINDOWING_MODE_UNDEFINED) // inherited FULLSCREEN
-        // Does not remove wallpaper activity
-        wct.assertWithoutHop(ReorderPredicate(wallpaperToken, toTop = null))
-    }
-
-    @Test
-    @EnableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
     fun moveFocusedTaskToFullscreen_multipleVisibleTasks_fullscreenOverHome_multiDesksEnabled() {
         val homeTask = setUpHomeTask()
         val task1 = setUpFreeformTask()
@@ -4954,7 +5153,7 @@
                 Mockito.argThat { wct ->
                     return@argThat wct.hierarchyOps[0].isReparent
                 },
-                eq(null),
+                eq(dragToDisplayTransitionHandler),
             )
     }
 
@@ -5148,6 +5347,10 @@
     }
 
     @Test
+    @DisableFlags(
+        Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND,
+        Flags.FLAG_ENABLE_DESKTOP_WINDOWING_PIP,
+    )
     fun enterSplit_multipleVisibleNonMinimizedTasks_removesWallpaperActivity() {
         val task1 = setUpFreeformTask()
         val task2 = setUpFreeformTask()
@@ -5172,6 +5375,24 @@
     }
 
     @Test
+    @EnableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    fun enterSplit_wasInDesk_deactivatesDesk() {
+        val deskId = 5
+        taskRepository.addDesk(displayId = DEFAULT_DISPLAY, deskId = deskId)
+        taskRepository.setActiveDesk(displayId = DEFAULT_DISPLAY, deskId = deskId)
+        val task = setUpFreeformTask(displayId = DEFAULT_DISPLAY, deskId = deskId)
+        val transition = Binder()
+        whenever(splitScreenController.requestEnterSplitSelect(eq(task), any(), any(), any()))
+            .thenReturn(transition)
+
+        controller.requestSplit(task, leftOrTop = false)
+
+        verify(desksOrganizer).deactivateDesk(any(), eq(deskId))
+        verify(desksTransitionsObserver)
+            .addPendingTransition(DeskTransition.DeactivateDesk(transition, deskId))
+    }
+
+    @Test
     @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MULTI_INSTANCE_FEATURES)
     fun newWindow_fromFullscreenOpensInSplit() {
         setUpLandscapeDisplay()
@@ -6365,6 +6586,25 @@
     @EnableFlags(
         Flags.FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY,
         Flags.FLAG_ENABLE_DESKTOP_WALLPAPER_ACTIVITY_FOR_SYSTEM_USER,
+        Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND,
+    )
+    fun startLaunchTransition_desktopNotShowing_updatesDesktopEnterExitListener() {
+        setUpFreeformTask(displayId = DEFAULT_DISPLAY, deskId = 0)
+        taskRepository.setDeskInactive(deskId = 0)
+
+        controller.startLaunchTransition(
+            transitionType = TRANSIT_OPEN,
+            wct = WindowContainerTransaction(),
+            launchingTaskId = null,
+        )
+
+        verify(desktopModeEnterExitTransitionListener).onEnterDesktopModeTransitionStarted(any())
+    }
+
+    @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()
@@ -6524,6 +6764,7 @@
         bounds: Rect? = null,
         active: Boolean = true,
         background: Boolean = false,
+        deskId: Int? = null,
     ): RunningTaskInfo {
         val task = createFreeformTask(displayId, bounds)
         val activityInfo = ActivityInfo()
@@ -6532,11 +6773,15 @@
         if (background) {
             whenever(shellTaskOrganizer.getRunningTaskInfo(task.taskId)).thenReturn(null)
             whenever(recentTasksController.findTaskInBackground(task.taskId))
-                .thenReturn(createTaskInfo(task.taskId))
+                .thenReturn(createRecentTaskInfo(taskId = task.taskId, displayId = displayId))
         } else {
             whenever(shellTaskOrganizer.getRunningTaskInfo(task.taskId)).thenReturn(task)
         }
-        taskRepository.addTask(displayId, task.taskId, isVisible = active)
+        if (deskId != null) {
+            taskRepository.addTaskToDesk(displayId, deskId, task.taskId, isVisible = active)
+        } else {
+            taskRepository.addTask(displayId, task.taskId, isVisible = active)
+        }
         if (!background) {
             runningTasks.add(task)
         }
@@ -6699,6 +6944,12 @@
         return arg.lastValue
     }
 
+    private fun getLatestTransition(): WindowContainerTransaction {
+        val arg = argumentCaptor<WindowContainerTransaction>()
+        verify(transitions).startTransition(any(), arg.capture(), anyOrNull())
+        return arg.lastValue
+    }
+
     private fun getLatestEnterDesktopWct(): WindowContainerTransaction {
         val arg = argumentCaptor<WindowContainerTransaction>()
         verify(enterDesktopTransitionHandler).moveToDesktop(arg.capture(), any())
@@ -6957,8 +7208,9 @@
     } ?: false
 }
 
-private fun createTaskInfo(id: Int) =
+private fun createRecentTaskInfo(taskId: Int, displayId: Int = DEFAULT_DISPLAY) =
     RecentTaskInfo().apply {
-        taskId = id
+        this.taskId = taskId
+        this.displayId = displayId
         token = WindowContainerToken(mock(IWindowContainerToken::class.java))
     }
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksTransitionObserverTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksTransitionObserverTest.kt
index dd577f4..5b0f94f 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksTransitionObserverTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksTransitionObserverTest.kt
@@ -128,7 +128,7 @@
     @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_BACK_NAVIGATION)
     fun backNavigation_taskMinimized() {
         val task = createTaskInfo(1)
-        whenever(taskRepository.getVisibleTaskCount(any())).thenReturn(1)
+        whenever(taskRepository.isAnyDeskActive(any())).thenReturn(true)
 
         transitionObserver.onTransitionReady(
             transition = mock(),
@@ -146,7 +146,9 @@
     fun backNavigation_withCloseTransitionNotLastTask_taskMinimized() {
         val task = createTaskInfo(1)
         val transition = mock<IBinder>()
-        whenever(taskRepository.getVisibleTaskCount(any())).thenReturn(2)
+        whenever(taskRepository.isAnyDeskActive(any())).thenReturn(true)
+        whenever(taskRepository.isOnlyVisibleTask(task.taskId, task.displayId)).thenReturn(false)
+        whenever(taskRepository.hasOnlyOneVisibleTask(task.displayId)).thenReturn(false)
         whenever(taskRepository.isClosingTask(task.taskId)).thenReturn(false)
         whenever(backAnimationController.latestTriggerBackTask).thenReturn(task.taskId)
 
@@ -173,7 +175,7 @@
     fun backNavigation_withCloseTransitionLastTask_wallpaperActivityClosed_taskMinimized() {
         val task = createTaskInfo(1)
         val transition = mock<IBinder>()
-        whenever(taskRepository.getVisibleTaskCount(any())).thenReturn(1)
+        whenever(taskRepository.isAnyDeskActive(any())).thenReturn(true)
         whenever(taskRepository.isClosingTask(task.taskId)).thenReturn(false)
         whenever(backAnimationController.latestTriggerBackTask).thenReturn(task.taskId)
 
@@ -202,7 +204,7 @@
     fun backNavigation_withCloseTransitionLastTask_wallpaperActivityReordered_taskMinimized() {
         val task = createTaskInfo(1)
         val transition = mock<IBinder>()
-        whenever(taskRepository.getVisibleTaskCount(any())).thenReturn(1)
+        whenever(taskRepository.isAnyDeskActive(any())).thenReturn(true)
         whenever(taskRepository.isClosingTask(task.taskId)).thenReturn(false)
         whenever(backAnimationController.latestTriggerBackTask).thenReturn(task.taskId)
 
@@ -227,7 +229,7 @@
     @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_BACK_NAVIGATION)
     fun backNavigation_nullTaskInfo_taskNotMinimized() {
         val task = createTaskInfo(1)
-        whenever(taskRepository.getVisibleTaskCount(any())).thenReturn(1)
+        whenever(taskRepository.isAnyDeskActive(any())).thenReturn(true)
 
         transitionObserver.onTransitionReady(
             transition = mock(),
@@ -243,7 +245,7 @@
     @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_BACK_NAVIGATION)
     fun removeTasks_onTaskFullscreenLaunchWithOpenTransition_taskRemovedFromRepo() {
         val task = createTaskInfo(1, WINDOWING_MODE_FULLSCREEN)
-        whenever(taskRepository.getVisibleTaskCount(any())).thenReturn(1)
+        whenever(taskRepository.isAnyDeskActive(any())).thenReturn(true)
         whenever(taskRepository.isActiveTask(task.taskId)).thenReturn(true)
 
         transitionObserver.onTransitionReady(
@@ -261,7 +263,7 @@
     @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_BACK_NAVIGATION)
     fun removeTasks_onTaskFullscreenLaunchExitDesktopTransition_taskRemovedFromRepo() {
         val task = createTaskInfo(1, WINDOWING_MODE_FULLSCREEN)
-        whenever(taskRepository.getVisibleTaskCount(any())).thenReturn(1)
+        whenever(taskRepository.isAnyDeskActive(any())).thenReturn(true)
         whenever(taskRepository.isActiveTask(task.taskId)).thenReturn(true)
 
         transitionObserver.onTransitionReady(
@@ -280,7 +282,7 @@
     fun closeLastTask_wallpaperTokenExists_wallpaperIsRemoved() {
         val mockTransition = Mockito.mock(IBinder::class.java)
         val task = createTaskInfo(1, WINDOWING_MODE_FREEFORM)
-        whenever(taskRepository.getVisibleTaskCount(task.displayId)).thenReturn(0)
+        whenever(taskRepository.isAnyDeskActive(task.displayId)).thenReturn(false)
 
         transitionObserver.onTransitionReady(
             transition = mockTransition,
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTestHelpers.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTestHelpers.kt
index 8b6cafb..c00083b 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTestHelpers.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTestHelpers.kt
@@ -22,6 +22,7 @@
 import android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM
 import android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN
 import android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW
+import android.content.ComponentName
 import android.graphics.Rect
 import android.view.Display.DEFAULT_DISPLAY
 import com.android.wm.shell.MockToken
@@ -84,4 +85,10 @@
     /** Create a new System Modal task, i.e. a task with only transparent activities. */
     fun createSystemModalTask(displayId: Int = DEFAULT_DISPLAY): RunningTaskInfo =
         createSystemModalTaskBuilder(displayId).build()
+
+    /** Create a new System Modal task with a base Activity. */
+    fun createSystemModalTaskWithBaseActivity() =
+        createSystemModalTask().apply {
+            baseActivity = ComponentName("com.test.dummypackage", "TestClass")
+        }
 }
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DragToDesktopTransitionHandlerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DragToDesktopTransitionHandlerTest.kt
index 85f6cd3..de55db8 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DragToDesktopTransitionHandlerTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DragToDesktopTransitionHandlerTest.kt
@@ -8,6 +8,7 @@
 import android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW
 import android.app.WindowConfiguration.WindowingMode
 import android.graphics.PointF
+import android.graphics.Rect
 import android.os.IBinder
 import android.os.SystemProperties
 import android.testing.AndroidTestingRunner
@@ -36,6 +37,7 @@
 import com.android.wm.shell.splitscreen.SplitScreenController
 import com.android.wm.shell.transition.Transitions
 import com.android.wm.shell.windowdecor.MoveToDesktopAnimator
+import com.google.common.truth.Truth.assertThat
 import java.util.Optional
 import java.util.function.Supplier
 import junit.framework.Assert.assertEquals
@@ -694,6 +696,50 @@
             .cancel(eq(CUJ_DESKTOP_MODE_ENTER_APP_HANDLE_DRAG_HOLD))
     }
 
+    @Test
+    fun getAnimationFraction_returnsFraction() {
+        val fraction =
+            SpringDragToDesktopTransitionHandler.getAnimationFraction(
+                startBounds = Rect(0, 0, 0, 0),
+                endBounds = Rect(0, 0, 10, 10),
+                animBounds = Rect(0, 0, 5, 5),
+            )
+        assertThat(fraction).isWithin(TOLERANCE).of(0.5f)
+    }
+
+    @Test
+    fun getAnimationFraction_animBoundsSameAsEnd_returnsOne() {
+        val fraction =
+            SpringDragToDesktopTransitionHandler.getAnimationFraction(
+                startBounds = Rect(0, 0, 0, 0),
+                endBounds = Rect(0, 0, 10, 10),
+                animBounds = Rect(0, 0, 10, 10),
+            )
+        assertThat(fraction).isWithin(TOLERANCE).of(1f)
+    }
+
+    @Test
+    fun getAnimationFraction_startAndEndBoundsSameWidth_usesHeight() {
+        val fraction =
+            SpringDragToDesktopTransitionHandler.getAnimationFraction(
+                startBounds = Rect(0, 0, 10, 10),
+                endBounds = Rect(0, 0, 10, 30),
+                animBounds = Rect(0, 0, 10, 25),
+            )
+        assertThat(fraction).isWithin(TOLERANCE).of(0.75f)
+    }
+
+    @Test
+    fun getAnimationFraction_startAndEndBoundsSame_returnsZero() {
+        val fraction =
+            SpringDragToDesktopTransitionHandler.getAnimationFraction(
+                startBounds = Rect(0, 0, 10, 10),
+                endBounds = Rect(0, 0, 10, 10),
+                animBounds = Rect(0, 0, 10, 25),
+            )
+        assertThat(fraction).isWithin(TOLERANCE).of(0f)
+    }
+
     private fun startDrag(
         handler: DragToDesktopTransitionHandler,
         task: RunningTaskInfo = createTask(),
@@ -826,4 +872,8 @@
 
     private fun systemPropertiesKey(name: String) =
         "${SpringDragToDesktopTransitionHandler.SYSTEM_PROPERTIES_GROUP}.$name"
+
+    private companion object {
+        private const val TOLERANCE = 1e-5f
+    }
 }
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DragToDisplayTransitionHandlerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DragToDisplayTransitionHandlerTest.kt
new file mode 100644
index 0000000..51c3029
--- /dev/null
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DragToDisplayTransitionHandlerTest.kt
@@ -0,0 +1,101 @@
+/*
+ * 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.desktopmode
+
+import android.graphics.Point
+import android.graphics.Rect
+import android.os.IBinder
+import android.view.SurfaceControl
+import android.window.TransitionInfo
+import android.window.TransitionRequestInfo
+import com.android.wm.shell.transition.Transitions
+import org.junit.Before
+import org.junit.Test
+import org.mockito.Mockito.verify
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.whenever
+
+/**
+ * Test class for {@link DragToDisplayTransitionHandler}
+ *
+ * Usage: atest WMShellUnitTests:DragToDisplayTransitionHandlerTest
+ */
+class DragToDisplayTransitionHandlerTest {
+    private lateinit var handler: DragToDisplayTransitionHandler
+    private val mockTransition: IBinder = mock()
+    private val mockRequestInfo: TransitionRequestInfo = mock()
+    private val mockTransitionInfo: TransitionInfo = mock()
+    private val mockStartTransaction: SurfaceControl.Transaction = mock()
+    private val mockFinishTransaction: SurfaceControl.Transaction = mock()
+    private val mockFinishCallback: Transitions.TransitionFinishCallback = mock()
+
+    @Before
+    fun setUp() {
+        handler = DragToDisplayTransitionHandler()
+        whenever(mockStartTransaction.setWindowCrop(any(), any(), any()))
+            .thenReturn(mockStartTransaction)
+        whenever(mockFinishTransaction.setWindowCrop(any(), any(), any()))
+            .thenReturn(mockFinishTransaction)
+    }
+
+    @Test
+    fun handleRequest_anyRequest_returnsNull() {
+        val result = handler.handleRequest(mockTransition, mockRequestInfo)
+        assert(result == null)
+    }
+
+    @Test
+    fun startAnimation_verifyTransformationsApplied() {
+        val mockChange1 = mock<TransitionInfo.Change>()
+        val leash1 = mock<SurfaceControl>()
+        val endBounds1 = Rect(0, 0, 50, 50)
+        val endPosition1 = Point(5, 5)
+
+        whenever(mockChange1.leash).doReturn(leash1)
+        whenever(mockChange1.endAbsBounds).doReturn(endBounds1)
+        whenever(mockChange1.endRelOffset).doReturn(endPosition1)
+
+        val mockChange2 = mock<TransitionInfo.Change>()
+        val leash2 = mock<SurfaceControl>()
+        val endBounds2 = Rect(100, 100, 200, 150)
+        val endPosition2 = Point(15, 25)
+
+        whenever(mockChange2.leash).doReturn(leash2)
+        whenever(mockChange2.endAbsBounds).doReturn(endBounds2)
+        whenever(mockChange2.endRelOffset).doReturn(endPosition2)
+
+        whenever(mockTransitionInfo.changes).doReturn(listOf(mockChange1, mockChange2))
+
+        handler.startAnimation(
+            mockTransition,
+            mockTransitionInfo,
+            mockStartTransaction,
+            mockFinishTransaction,
+            mockFinishCallback,
+        )
+
+        verify(mockStartTransaction).setWindowCrop(leash1, endBounds1.width(), endBounds1.height())
+        verify(mockStartTransaction)
+            .setPosition(leash1, endPosition1.x.toFloat(), endPosition1.y.toFloat())
+        verify(mockStartTransaction).setWindowCrop(leash2, endBounds2.width(), endBounds2.height())
+        verify(mockStartTransaction)
+            .setPosition(leash2, endPosition2.x.toFloat(), endPosition2.y.toFloat())
+        verify(mockStartTransaction).apply()
+        verify(mockFinishCallback).onTransitionFinished(null)
+    }
+}
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/VisualIndicatorViewContainerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/VisualIndicatorViewContainerTest.kt
index 79b0f1c..4c8cb38 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/VisualIndicatorViewContainerTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/VisualIndicatorViewContainerTest.kt
@@ -38,6 +38,7 @@
 import com.android.wm.shell.common.SyncTransactionQueue
 import com.android.wm.shell.shared.bubbles.BubbleDropTargetBoundsProvider
 import com.android.wm.shell.windowdecor.WindowDecoration.SurfaceControlViewHostFactory
+import com.android.wm.shell.windowdecor.tiling.SnapEventHandler
 import com.google.common.truth.Truth.assertThat
 import kotlin.test.Test
 import org.junit.Before
@@ -71,6 +72,7 @@
     @Mock private lateinit var mockSurfaceControlViewHostFactory: SurfaceControlViewHostFactory
     @Mock private lateinit var mockBackground: LayerDrawable
     @Mock private lateinit var bubbleDropTargetBoundsProvider: BubbleDropTargetBoundsProvider
+    @Mock private lateinit var snapEventHandler: SnapEventHandler
     private val taskInfo: RunningTaskInfo = createTaskInfo()
     private val mainExecutor = TestShellExecutor()
     private val desktopExecutor = TestShellExecutor()
@@ -81,6 +83,8 @@
         whenever(displayLayout.getStableBounds(any())).thenAnswer { i ->
             (i.arguments.first() as Rect).set(DISPLAY_BOUNDS)
         }
+        whenever(snapEventHandler.getRightSnapBoundsIfTiled(any())).thenReturn(Rect(1, 2, 3, 4))
+        whenever(snapEventHandler.getLeftSnapBoundsIfTiled(any())).thenReturn(Rect(5, 6, 7, 8))
         whenever(mockSurfaceControlViewHostFactory.create(any(), any(), any()))
             .thenReturn(mock(SurfaceControlViewHost::class.java))
     }
@@ -117,7 +121,7 @@
             DesktopModeVisualIndicator.IndicatorType.TO_FULLSCREEN_INDICATOR,
         )
         desktopExecutor.flushAll()
-        verify(spyViewContainer).fadeInIndicator(any(), any())
+        verify(spyViewContainer).fadeInIndicator(any(), any(), any(), any())
     }
 
     @Test
@@ -135,6 +139,8 @@
                 any(),
                 eq(DesktopModeVisualIndicator.IndicatorType.TO_FULLSCREEN_INDICATOR),
                 anyOrNull(),
+                eq(taskInfo.displayId),
+                eq(snapEventHandler),
             )
     }
 
@@ -167,6 +173,8 @@
                     DesktopModeVisualIndicator.IndicatorType.TO_FULLSCREEN_INDICATOR,
                     displayLayout,
                     bubbleDropTargetBoundsProvider,
+                    taskInfo.displayId,
+                    snapEventHandler,
                 )
             }
         assertThat(animator?.indicatorStartBounds).isEqualTo(Rect(15, 15, 985, 985))
@@ -174,6 +182,46 @@
     }
 
     @Test
+    fun testFadeInBoundsCalculationForLeftSnap() {
+        val spyIndicator = setupSpyViewContainer()
+        val animator =
+            spyIndicator.indicatorView?.let {
+                VisualIndicatorViewContainer.VisualIndicatorAnimator.fadeBoundsIn(
+                    it,
+                    DesktopModeVisualIndicator.IndicatorType.TO_SPLIT_LEFT_INDICATOR,
+                    displayLayout,
+                    bubbleDropTargetBoundsProvider,
+                    taskInfo.displayId,
+                    snapEventHandler,
+                )
+            }
+
+        // Right bound is the same as whatever right bound snapEventHandler returned minus padding,
+        // in this case, the right bound for the left app is 7.
+        assertThat(animator?.indicatorEndBounds).isEqualTo(Rect(0, 0, 7, 1000))
+    }
+
+    @Test
+    fun testFadeInBoundsCalculationForRightSnap() {
+        val spyIndicator = setupSpyViewContainer()
+        val animator =
+            spyIndicator.indicatorView?.let {
+                VisualIndicatorViewContainer.VisualIndicatorAnimator.fadeBoundsIn(
+                    it,
+                    DesktopModeVisualIndicator.IndicatorType.TO_SPLIT_RIGHT_INDICATOR,
+                    displayLayout,
+                    bubbleDropTargetBoundsProvider,
+                    taskInfo.displayId,
+                    snapEventHandler,
+                )
+            }
+
+        // Left bound is the same as whatever left bound snapEventHandler returned plus padding
+        // in this case, the left bound of the right app is 1.
+        assertThat(animator?.indicatorEndBounds).isEqualTo(Rect(1, 0, 1000, 1000))
+    }
+
+    @Test
     fun testFadeOutBoundsCalculation() {
         val spyIndicator = setupSpyViewContainer()
         val animator =
@@ -183,6 +231,8 @@
                     DesktopModeVisualIndicator.IndicatorType.TO_FULLSCREEN_INDICATOR,
                     displayLayout,
                     bubbleDropTargetBoundsProvider,
+                    taskInfo.displayId,
+                    snapEventHandler,
                 )
             }
         assertThat(animator?.indicatorStartBounds).isEqualTo(Rect(0, 0, 1000, 1000))
@@ -199,6 +249,8 @@
                 DesktopModeVisualIndicator.IndicatorType.TO_FULLSCREEN_INDICATOR,
                 DesktopModeVisualIndicator.IndicatorType.TO_SPLIT_LEFT_INDICATOR,
                 bubbleDropTargetBoundsProvider,
+                taskInfo.displayId,
+                snapEventHandler,
             )
         // Test desktop to split-right bounds.
         animator =
@@ -208,6 +260,8 @@
                 DesktopModeVisualIndicator.IndicatorType.TO_DESKTOP_INDICATOR,
                 DesktopModeVisualIndicator.IndicatorType.TO_SPLIT_RIGHT_INDICATOR,
                 bubbleDropTargetBoundsProvider,
+                taskInfo.displayId,
+                snapEventHandler,
             )
     }
 
@@ -220,6 +274,7 @@
                 syncQueue,
                 mockSurfaceControlViewHostFactory,
                 bubbleDropTargetBoundsProvider,
+                snapEventHandler,
             )
         viewContainer.createView(
             context,
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/compatui/SystemModalsTransitionHandlerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/compatui/SystemModalsTransitionHandlerTest.kt
index 9cb2a05..7560945 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/compatui/SystemModalsTransitionHandlerTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/compatui/SystemModalsTransitionHandlerTest.kt
@@ -16,8 +16,10 @@
 
 package com.android.wm.shell.desktopmode.compatui
 
+import android.Manifest.permission.SYSTEM_ALERT_WINDOW
 import android.content.ComponentName
 import android.content.Intent
+import android.content.pm.PackageInfo
 import android.content.pm.PackageManager
 import android.os.Binder
 import android.testing.AndroidTestingRunner
@@ -34,6 +36,7 @@
 import com.android.wm.shell.desktopmode.DesktopTestHelpers.createFullscreenTaskBuilder
 import com.android.wm.shell.desktopmode.DesktopTestHelpers.createSystemModalTask
 import com.android.wm.shell.desktopmode.DesktopTestHelpers.createSystemModalTaskBuilder
+import com.android.wm.shell.desktopmode.DesktopTestHelpers.createSystemModalTaskWithBaseActivity
 import com.android.wm.shell.desktopmode.DesktopUserRepositories
 import com.android.wm.shell.desktopmode.DesktopWallpaperActivity
 import com.android.wm.shell.shared.desktopmode.DesktopModeCompatPolicy
@@ -46,7 +49,9 @@
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.mockito.ArgumentMatchers.anyInt
+import org.mockito.ArgumentMatchers.anyString
 import org.mockito.kotlin.any
+import org.mockito.kotlin.eq
 import org.mockito.kotlin.mock
 import org.mockito.kotlin.spy
 import org.mockito.kotlin.verify
@@ -79,12 +84,13 @@
         spyContext = spy(mContext)
         // Simulate having one Desktop task so that we see Desktop Mode as active
         whenever(desktopUserRepositories.current).thenReturn(desktopRepository)
-        whenever(desktopRepository.getVisibleTaskCount(anyInt())).thenReturn(1)
+        whenever(desktopRepository.isAnyDeskActive(anyInt())).thenReturn(true)
         whenever(spyContext.packageManager).thenReturn(packageManager)
         whenever(componentName.packageName).thenReturn(HOME_LAUNCHER_PACKAGE_NAME)
         whenever(packageManager.getHomeActivities(ArrayList())).thenReturn(componentName)
         desktopModeCompatPolicy = DesktopModeCompatPolicy(spyContext)
         transitionHandler = createTransitionHandler()
+        allowOverlayPermission(arrayOf(SYSTEM_ALERT_WINDOW))
     }
 
     private fun createTransitionHandler() =
@@ -105,10 +111,10 @@
 
     @Test
     fun startAnimation_desktopNotActive_doesNotAnimate() {
-        whenever(desktopUserRepositories.current.getVisibleTaskCount(anyInt())).thenReturn(1)
+        whenever(desktopUserRepositories.current.isAnyDeskActive(anyInt())).thenReturn(true)
         val info =
             TransitionInfoBuilder(TRANSIT_OPEN)
-                .addChange(TRANSIT_OPEN, createSystemModalTask())
+                .addChange(TRANSIT_OPEN, createSystemModalTaskWithBaseActivity())
                 .build()
 
         assertThat(transitionHandler.startAnimation(Binder(), info, startT, finishT) {}).isTrue()
@@ -118,7 +124,7 @@
     fun startAnimation_launchingSystemModal_animates() {
         val info =
             TransitionInfoBuilder(TRANSIT_OPEN)
-                .addChange(TRANSIT_OPEN, createSystemModalTask())
+                .addChange(TRANSIT_OPEN, createSystemModalTaskWithBaseActivity())
                 .build()
 
         assertThat(transitionHandler.startAnimation(Binder(), info, startT, finishT) {}).isTrue()
@@ -161,7 +167,7 @@
     fun startAnimation_closingSystemModal_animates() {
         val info =
             TransitionInfoBuilder(TRANSIT_CLOSE)
-                .addChange(TRANSIT_CLOSE, createSystemModalTask())
+                .addChange(TRANSIT_CLOSE, createSystemModalTaskWithBaseActivity())
                 .build()
 
         assertThat(transitionHandler.startAnimation(Binder(), info, startT, finishT) {}).isTrue()
@@ -179,7 +185,7 @@
 
     @Test
     fun startAnimation_closingPreviouslyLaunchedSystemModal_animates() {
-        val systemModalTask = createSystemModalTask()
+        val systemModalTask = createSystemModalTaskWithBaseActivity()
         val nonModalSystemModalTask =
             createFullscreenTaskBuilder().setTaskId(systemModalTask.taskId).build()
         val launchInfo =
@@ -193,4 +199,11 @@
         assertThat(transitionHandler.startAnimation(Binder(), closeInfo, startT, finishT) {})
             .isTrue()
     }
+
+    fun allowOverlayPermission(permissions: Array<String>) {
+        val packageInfo = mock<PackageInfo>()
+        packageInfo.requestedPermissions = permissions
+        whenever(packageManager.getPackageInfo(anyString(), eq(PackageManager.GET_PERMISSIONS)))
+            .thenReturn(packageInfo)
+    }
 }
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/multidesks/DesksTransitionObserverTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/multidesks/DesksTransitionObserverTest.kt
index 4dcf669..409ca57 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/multidesks/DesksTransitionObserverTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/multidesks/DesksTransitionObserverTest.kt
@@ -181,6 +181,23 @@
 
     @Test
     @EnableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    fun onTransitionReady_activateDesk_noTransitChange_updatesRepository() {
+        val transition = Binder()
+        val activateTransition =
+            DeskTransition.ActivateDesk(transition, displayId = DEFAULT_DISPLAY, deskId = 5)
+        repository.addDesk(DEFAULT_DISPLAY, deskId = 5)
+
+        observer.addPendingTransition(activateTransition)
+        observer.onTransitionReady(
+            transition = transition,
+            info = TransitionInfo(TRANSIT_TO_FRONT, /* flags= */ 0), // no changes.
+        )
+
+        assertThat(repository.getActiveDeskId(DEFAULT_DISPLAY)).isEqualTo(5)
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
     fun onTransitionReady_deactivateDesk_updatesRepository() {
         val transition = Binder()
         val deskChange = Change(mock(), mock())
@@ -244,4 +261,28 @@
 
         assertThat(repository.getActiveDeskId(DEFAULT_DISPLAY)).isNull()
     }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    fun onTransitionReady_twoPendingTransitions_handlesBoth() {
+        val transition = Binder()
+        // Active one desk and deactivate another in different displays, such as in some
+        // move-to-next-display CUJs.
+        repository.addDesk(displayId = 0, deskId = 1)
+        repository.addDesk(displayId = 1, deskId = 2)
+        repository.setActiveDesk(displayId = 0, deskId = 1)
+        repository.setDeskInactive(2)
+        val activateTransition = DeskTransition.ActivateDesk(transition, displayId = 1, deskId = 2)
+        val deactivateTransition = DeskTransition.DeactivateDesk(transition, deskId = 1)
+
+        observer.addPendingTransition(activateTransition)
+        observer.addPendingTransition(deactivateTransition)
+        observer.onTransitionReady(
+            transition = transition,
+            info = TransitionInfo(TRANSIT_CHANGE, /* flags= */ 0),
+        )
+
+        assertThat(repository.getActiveDeskId(displayId = 0)).isNull()
+        assertThat(repository.getActiveDeskId(displayId = 1)).isEqualTo(2)
+    }
 }
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/PipTaskOrganizerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/PipTaskOrganizerTest.java
index 2668823..c6a0fc3 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/PipTaskOrganizerTest.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/PipTaskOrganizerTest.java
@@ -164,10 +164,12 @@
 
     @Test
     public void startSwipePipToHome_updatesOverrideMinSize() {
-        final Size minSize = new Size(400, 320);
+        final Rational aspectRatio = new Rational(2, 1);
+        final Size defaultSize = mSizeSpecSource.getDefaultSize(aspectRatio.floatValue());
+        final Size minSize = new Size(defaultSize.getWidth() / 2, defaultSize.getHeight() / 2);
 
         mPipTaskOrganizer.startSwipePipToHome(mComponent1, createActivityInfo(minSize),
-                createPipParams(null));
+                createPipParams(aspectRatio));
 
         assertEquals(minSize, mPipBoundsState.getOverrideMinSize());
     }
@@ -192,10 +194,12 @@
 
     @Test
     public void onTaskAppeared_updatesOverrideMinSize() {
-        final Size minSize = new Size(400, 320);
+        final Rational aspectRatio = new Rational(2, 1);
+        final Size defaultSize = mSizeSpecSource.getDefaultSize(aspectRatio.floatValue());
+        final Size minSize = new Size(defaultSize.getWidth() / 2, defaultSize.getHeight() / 2);
 
         mPipTaskOrganizer.onTaskAppeared(
-                createTaskInfo(mComponent1, createPipParams(null), minSize),
+                createTaskInfo(mComponent1, createPipParams(aspectRatio), minSize),
                 mock(SurfaceControl.class));
 
         assertEquals(minSize, mPipBoundsState.getOverrideMinSize());
@@ -248,13 +252,15 @@
 
     @Test
     public void onTaskInfoChanged_inPip_updatesOverrideMinSize() {
+        final Rational aspectRatio = new Rational(2, 1);
+        final Size defaultSize = mSizeSpecSource.getDefaultSize(aspectRatio.floatValue());
+        final Size minSize = new Size(defaultSize.getWidth() / 2, defaultSize.getHeight() / 2);
         mPipTaskOrganizer.onTaskAppeared(createTaskInfo(mComponent1,
-                createPipParams(null)), mock(SurfaceControl.class));
+                createPipParams(aspectRatio)), mock(SurfaceControl.class));
         sendOnPipTransitionFinished(TRANSITION_DIRECTION_TO_PIP);
 
-        final Size minSize = new Size(400, 320);
         mPipTaskOrganizer.onTaskInfoChanged(createTaskInfo(mComponent2,
-                createPipParams(null), minSize));
+                createPipParams(aspectRatio), minSize));
 
         assertEquals(minSize, mPipBoundsState.getOverrideMinSize());
     }
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/tv/OWNERS b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/tv/OWNERS
index 736d4cf..a7d1890 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/tv/OWNERS
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/tv/OWNERS
@@ -1,3 +1,2 @@
 # WM shell sub-module TV pip owners
-galinap@google.com
-bronger@google.com
\ No newline at end of file
+bronger@google.com
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip2/phone/PipSchedulerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip2/phone/PipSchedulerTest.java
index 0c19529..275e488 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip2/phone/PipSchedulerTest.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip2/phone/PipSchedulerTest.java
@@ -28,6 +28,7 @@
 import static org.mockito.kotlin.VerificationKt.verify;
 
 import android.app.ActivityManager;
+import android.app.PictureInPictureParams;
 import android.content.Context;
 import android.content.res.Resources;
 import android.graphics.Matrix;
@@ -47,6 +48,7 @@
 import com.android.wm.shell.pip2.PipSurfaceTransactionHelper;
 import com.android.wm.shell.pip2.animation.PipAlphaAnimator;
 import com.android.wm.shell.splitscreen.SplitScreenController;
+import com.android.wm.shell.util.StubTransaction;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -107,6 +109,8 @@
         mPipScheduler.setSurfaceControlTransactionFactory(mMockFactory);
         mPipScheduler.setPipAlphaAnimatorSupplier((context, leash, startTx, finishTx, direction) ->
                 mMockAlphaAnimator);
+        final PictureInPictureParams params = new PictureInPictureParams.Builder().build();
+        mPipScheduler.setPipParamsSupplier(() -> params);
 
         SurfaceControl testLeash = new SurfaceControl.Builder()
                 .setContainerLayer()
@@ -289,6 +293,28 @@
         verify(mMockUpdateMovementBoundsRunnable, times(1)).run();
     }
 
+    @Test
+    public void finishResize_nonSeamless_alphaAnimatorStarted() {
+        final PictureInPictureParams params =
+                new PictureInPictureParams.Builder().setSeamlessResizeEnabled(false).build();
+        mPipScheduler.setPipParamsSupplier(() -> params);
+        when(mMockFactory.getTransaction()).thenReturn(new StubTransaction());
+
+        mPipScheduler.scheduleFinishResizePip(TEST_BOUNDS);
+
+        verify(mMockAlphaAnimator, times(1)).start();
+    }
+
+    @Test
+    public void finishResize_seamless_animatorNotStarted() {
+        final PictureInPictureParams params =
+                new PictureInPictureParams.Builder().setSeamlessResizeEnabled(true).build();
+        mPipScheduler.setPipParamsSupplier(() -> params);
+
+        mPipScheduler.scheduleFinishResizePip(TEST_BOUNDS);
+        verify(mMockAlphaAnimator, never()).start();
+    }
+
     private void setNullPipTaskToken() {
         when(mMockPipTransitionState.getPipTaskToken()).thenReturn(null);
     }
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip2/phone/PipTaskListenerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip2/phone/PipTaskListenerTest.java
index 1b462c3..333569a 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip2/phone/PipTaskListenerTest.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip2/phone/PipTaskListenerTest.java
@@ -294,6 +294,8 @@
         mPipTaskListener = new PipTaskListener(mMockContext, mMockShellTaskOrganizer,
                 mMockPipTransitionState, mMockPipScheduler, mMockPipBoundsState,
                 mMockPipBoundsAlgorithm, mMockShellExecutor);
+        clearInvocations(mMockPipScheduler);
+
         Bundle extras = new Bundle();
         extras.putBoolean(ANIMATING_ASPECT_RATIO_CHANGE, false);
 
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/desktopmode/DesktopModeCompatPolicyTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/desktopmode/DesktopModeCompatPolicyTest.kt
index 88c6e49..5ac6800 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/desktopmode/DesktopModeCompatPolicyTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/desktopmode/DesktopModeCompatPolicyTest.kt
@@ -46,6 +46,8 @@
 import org.mockito.kotlin.any
 import org.mockito.kotlin.eq
 import org.mockito.kotlin.mock
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
 import org.mockito.kotlin.whenever
 
 /**
@@ -111,6 +113,32 @@
     }
 
     @Test
+    @EnableFlags(Flags.FLAG_ENABLE_MODALS_FULLSCREEN_WITH_PERMISSION)
+    fun testIsTopActivityExemptCachedPermissionCheckIsUsed() {
+        allowOverlayPermission(arrayOf())
+        assertFalse(desktopModeCompatPolicy.isTopActivityExemptFromDesktopWindowing(
+            createFreeformTask(/* displayId */ 0)
+                .apply {
+                    isActivityStackTransparent = true
+                    isTopActivityNoDisplay = false
+                    numActivities = 1
+                    baseActivity = baseActivityTest
+                }))
+        assertFalse(desktopModeCompatPolicy.isTopActivityExemptFromDesktopWindowing(
+            createFreeformTask(/* displayId */ 0)
+                .apply {
+                    isActivityStackTransparent = true
+                    isTopActivityNoDisplay = false
+                    numActivities = 1
+                    baseActivity = baseActivityTest
+                }))
+        verify(packageManager, times(1)).getPackageInfo(
+            eq("com.test.dummypackage"),
+            eq(PackageManager.GET_PERMISSIONS)
+        )
+    }
+
+    @Test
     fun testIsTopActivityExemptFromDesktopWindowing_noActivitiesInStack() {
         assertFalse(desktopModeCompatPolicy.isTopActivityExemptFromDesktopWindowing(
             createFreeformTask(/* displayId */ 0)
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/desktopmode/DesktopModeStatusTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/desktopmode/DesktopModeStatusTest.kt
index 4082ffd..fb62ba7 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/desktopmode/DesktopModeStatusTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/desktopmode/DesktopModeStatusTest.kt
@@ -16,6 +16,7 @@
 
 package com.android.wm.shell.shared.desktopmode
 
+import android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM
 import android.content.Context
 import android.content.res.Resources
 import android.platform.test.annotations.DisableFlags
@@ -27,6 +28,7 @@
 import com.android.internal.R
 import com.android.window.flags.Flags
 import com.android.wm.shell.ShellTestCase
+import com.android.wm.shell.util.createTaskInfo
 import com.google.common.truth.Truth.assertThat
 import org.junit.After
 import org.junit.Before
@@ -152,6 +154,70 @@
         assertThat(DesktopModeStatus.canEnterDesktopMode(mockContext)).isTrue()
     }
 
+    @EnableFlags(
+        Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE,
+        Flags.FLAG_ENABLE_OPAQUE_BACKGROUND_FOR_TRANSPARENT_WINDOWS,
+    )
+    @Test
+    fun shouldSetBackground_BTWFlagEnabled_freeformTask_returnsTrue() {
+        val freeFormTaskInfo = createTaskInfo(deviceWindowingMode = WINDOWING_MODE_FREEFORM)
+        assertThat(DesktopModeStatus.shouldSetBackground(freeFormTaskInfo)).isTrue()
+    }
+
+    @EnableFlags(
+        Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE,
+        Flags.FLAG_ENABLE_OPAQUE_BACKGROUND_FOR_TRANSPARENT_WINDOWS,
+    )
+    @Test
+    fun shouldSetBackground_BTWFlagEnabled_notFreeformTask_returnsFalse() {
+        val notFreeFormTaskInfo = createTaskInfo()
+        assertThat(DesktopModeStatus.shouldSetBackground(notFreeFormTaskInfo)).isFalse()
+    }
+
+    @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE)
+    @DisableFlags(Flags.FLAG_ENABLE_OPAQUE_BACKGROUND_FOR_TRANSPARENT_WINDOWS)
+    @Test
+    fun shouldSetBackground_BTWFlagDisabled_freeformTaskAndFluid_returnsTrue() {
+        val freeFormTaskInfo = createTaskInfo(deviceWindowingMode = WINDOWING_MODE_FREEFORM)
+
+        setIsVeiledResizeEnabled(false)
+        assertThat(DesktopModeStatus.shouldSetBackground(freeFormTaskInfo)).isTrue()
+    }
+
+    @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE)
+    @DisableFlags(Flags.FLAG_ENABLE_OPAQUE_BACKGROUND_FOR_TRANSPARENT_WINDOWS)
+    @Test
+    fun shouldSetBackground_BTWFlagDisabled_freeformTaskAndVeiled_returnsFalse() {
+        val freeFormTaskInfo = createTaskInfo(deviceWindowingMode = WINDOWING_MODE_FREEFORM)
+
+        setIsVeiledResizeEnabled(true)
+        assertThat(DesktopModeStatus.shouldSetBackground(freeFormTaskInfo)).isFalse()
+    }
+
+    @EnableFlags(
+        Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE,
+        Flags.FLAG_ENABLE_OPAQUE_BACKGROUND_FOR_TRANSPARENT_WINDOWS,
+    )
+    @Test
+    fun shouldSetBackground_BTWFlagEnabled_freeformTaskAndFluid_returnsTrue() {
+        val freeFormTaskInfo = createTaskInfo(deviceWindowingMode = WINDOWING_MODE_FREEFORM)
+
+        setIsVeiledResizeEnabled(false)
+        assertThat(DesktopModeStatus.shouldSetBackground(freeFormTaskInfo)).isTrue()
+    }
+
+    @EnableFlags(
+        Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE,
+        Flags.FLAG_ENABLE_OPAQUE_BACKGROUND_FOR_TRANSPARENT_WINDOWS,
+    )
+    @Test
+    fun shouldSetBackground_BTWFlagEnabled_windowModesTask_freeformTaskAndVeiled_returnsTrue() {
+        val freeFormTaskInfo = createTaskInfo(deviceWindowingMode = WINDOWING_MODE_FREEFORM)
+
+        setIsVeiledResizeEnabled(true)
+        assertThat(DesktopModeStatus.shouldSetBackground(freeFormTaskInfo)).isTrue()
+    }
+
     @Test
     fun isDeviceEligibleForDesktopMode_configDEModeOnAndIntDispHostsDesktop_returnsTrue() {
         doReturn(true).whenever(mockResources).getBoolean(eq(R.bool.config_isDesktopModeSupported))
@@ -254,4 +320,11 @@
         deviceRestrictions.isAccessible = true
         deviceRestrictions.setBoolean(/* obj= */ null, /* z= */ !eligible)
     }
+
+    private fun setIsVeiledResizeEnabled(enabled: Boolean) {
+        val deviceRestrictions =
+            DesktopModeStatus::class.java.getDeclaredField("IS_VEILED_RESIZE_ENABLED")
+        deviceRestrictions.isAccessible = true
+        deviceRestrictions.setBoolean(/* obj= */ null, /* z= */ enabled)
+    }
 }
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/SplitTestUtils.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/SplitTestUtils.java
index 414c014..ffef0d1 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/SplitTestUtils.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/SplitTestUtils.java
@@ -16,6 +16,8 @@
 
 package com.android.wm.shell.splitscreen;
 
+import static com.android.wm.shell.shared.split.SplitScreenConstants.SNAP_TO_2_50_50;
+
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 
@@ -58,6 +60,7 @@
         doReturn(leash).when(out).getDividerLeash();
         doReturn(bounds1).when(out).getTopLeftBounds();
         doReturn(bounds2).when(out).getBottomRightBounds();
+        doReturn(SNAP_TO_2_50_50).when(out).calculateCurrentSnapPosition();
         return out;
     }
 
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java
index 10c2862..e9c4c31 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java
@@ -38,6 +38,8 @@
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyInt;
@@ -48,6 +50,7 @@
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
@@ -58,6 +61,7 @@
 import android.app.PendingIntent;
 import android.content.res.Configuration;
 import android.graphics.Rect;
+import android.os.Binder;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.IBinder;
@@ -196,6 +200,7 @@
         when(token.asBinder()).thenReturn(mBinder);
         when(mRunningTaskInfo.getToken()).thenReturn(token);
         when(mTaskOrganizer.getRunningTaskInfo(mTaskId)).thenReturn(mRunningTaskInfo);
+        when(mTaskOrganizer.startNewTransition(anyInt(), any())).thenReturn(new Binder());
         when(mRootTDAOrganizer.getDisplayAreaInfo(DEFAULT_DISPLAY)).thenReturn(mDisplayAreaInfo);
 
         when(mSplitLayout.getTopLeftBounds()).thenReturn(mBounds1);
@@ -557,6 +562,60 @@
         assertFalse(c != null && c.getWindowingMode() == WINDOWING_MODE_FULLSCREEN);
     }
 
+    @Test
+    @DisableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    public void testRequestEnterSplit_didNotEnterSplitSelect_doesNotApplyTransaction() {
+        final WindowContainerTransaction wct = new WindowContainerTransaction();
+        mStageCoordinator.registerSplitSelectListener(
+                new TestSplitSelectListener(/* alwaysEnter = */ false));
+
+        final IBinder transition = mStageCoordinator.requestEnterSplitSelect(mRunningTaskInfo, wct,
+                SPLIT_POSITION_TOP_OR_LEFT, new Rect(0, 0, 100, 100));
+
+        assertNull(transition);
+        verify(mTaskOrganizer, never()).applyTransaction(wct);
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    public void testRequestEnterSplit_enteredSplitSelect_appliesTransaction() {
+        final WindowContainerTransaction wct = new WindowContainerTransaction();
+        mStageCoordinator.registerSplitSelectListener(
+                new TestSplitSelectListener(/* alwaysEnter = */ true));
+
+        final IBinder transition = mStageCoordinator.requestEnterSplitSelect(mRunningTaskInfo, wct,
+                SPLIT_POSITION_TOP_OR_LEFT, new Rect(0, 0, 100, 100));
+
+        assertNull(transition);
+        verify(mTaskOrganizer).applyTransaction(wct);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    public void testRequestEnterSplit_didNotEnterSplitSelect_doesNotStartTransition() {
+        final WindowContainerTransaction wct = new WindowContainerTransaction();
+        mStageCoordinator.registerSplitSelectListener(
+                new TestSplitSelectListener(/* alwaysEnter = */ false));
+
+        final IBinder transition = mStageCoordinator.requestEnterSplitSelect(mRunningTaskInfo, wct,
+                SPLIT_POSITION_TOP_OR_LEFT, new Rect(0, 0, 100, 100));
+
+        assertNull(transition);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+    public void testRequestEnterSplit_enteredSplitSelect_startsTransition() {
+        final WindowContainerTransaction wct = new WindowContainerTransaction();
+        mStageCoordinator.registerSplitSelectListener(
+                new TestSplitSelectListener(/* alwaysEnter = */ true));
+
+        final IBinder transition = mStageCoordinator.requestEnterSplitSelect(mRunningTaskInfo, wct,
+                SPLIT_POSITION_TOP_OR_LEFT, new Rect(0, 0, 100, 100));
+
+        assertNotNull(transition);
+    }
+
     private Transitions createTestTransitions() {
         ShellInit shellInit = new ShellInit(mMainExecutor);
         final Transitions t = new Transitions(mContext, shellInit, mock(ShellController.class),
@@ -566,4 +625,18 @@
         shellInit.init();
         return t;
     }
+
+    private static class TestSplitSelectListener implements SplitScreen.SplitSelectListener {
+        private final boolean mAlwaysEnter;
+
+        TestSplitSelectListener(boolean alwaysEnter) {
+            mAlwaysEnter = alwaysEnter;
+        }
+
+        @Override
+        public boolean onRequestEnterSplitSelect(ActivityManager.RunningTaskInfo taskInfo,
+                int splitPosition, Rect taskBounds) {
+            return mAlwaysEnter;
+        }
+    }
 }
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/ShellTransitionTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/ShellTransitionTests.java
index 6f73db0..6773307 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/ShellTransitionTests.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/ShellTransitionTests.java
@@ -1316,9 +1316,11 @@
                         mTransactionPool, createTestDisplayController(), mMainExecutor,
                         mMainHandler, mAnimExecutor, mock(HomeTransitionObserver.class),
                         mock(FocusTransitionObserver.class));
+        final RecentTasksController mockRecentsTaskController = mock(RecentTasksController.class);
+        doReturn(mContext).when(mockRecentsTaskController).getContext();
         final RecentsTransitionHandler recentsHandler =
                 new RecentsTransitionHandler(shellInit, mock(ShellTaskOrganizer.class), transitions,
-                        mock(RecentTasksController.class), mock(HomeTransitionObserver.class));
+                        mockRecentsTaskController, mock(HomeTransitionObserver.class));
         transitions.replaceDefaultHandlerForTest(mDefaultHandler);
         shellInit.init();
 
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModelTests.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModelTests.kt
index d8d45c0..e89a122 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModelTests.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModelTests.kt
@@ -278,6 +278,7 @@
 
     @Test
     @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODALS_POLICY)
+    @DisableFlags(Flags.FLAG_ENABLE_MODALS_FULLSCREEN_WITH_PERMISSION)
     fun testDecorationIsNotCreatedForTopTranslucentActivities() {
         val task = createTask(windowingMode = WINDOWING_MODE_FULLSCREEN).apply {
             isActivityStackTransparent = true
@@ -320,6 +321,19 @@
     }
 
     @Test
+    fun testOnTaskInfoChanged_tilingNotified() {
+        val task = createTask(
+            windowingMode = WINDOWING_MODE_FREEFORM
+        )
+        setUpMockDecorationsForTasks(task)
+
+        onTaskOpening(task)
+        desktopModeWindowDecorViewModel.onTaskInfoChanged(task)
+
+        verify(mockTilingWindowDecoration).onTaskInfoChange(task)
+    }
+
+    @Test
     @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_IMMERSIVE_HANDLE_HIDING)
     fun testInsetsStateChanged_notifiesAllDecorsInDisplay() {
         val task1 = createTask(windowingMode = WINDOWING_MODE_FREEFORM, displayId = 1)
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/WindowDecorationTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/WindowDecorationTests.java
index af01623..a2927fa 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/WindowDecorationTests.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/WindowDecorationTests.java
@@ -24,7 +24,6 @@
 import static android.view.WindowInsets.Type.mandatorySystemGestures;
 import static android.view.WindowInsets.Type.statusBars;
 
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession;
 import static com.android.wm.shell.MockSurfaceControlHelper.createMockSurfaceControlBuilder;
 import static com.android.wm.shell.MockSurfaceControlHelper.createMockSurfaceControlTransaction;
 
@@ -51,7 +50,6 @@
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
-import static org.mockito.quality.Strictness.LENIENT;
 
 import android.annotation.NonNull;
 import android.app.ActivityManager;
@@ -79,13 +77,11 @@
 
 import androidx.test.filters.SmallTest;
 
-import com.android.dx.mockito.inline.extended.StaticMockitoSession;
 import com.android.wm.shell.ShellTaskOrganizer;
 import com.android.wm.shell.ShellTestCase;
 import com.android.wm.shell.TestRunningTaskInfoBuilder;
 import com.android.wm.shell.common.DisplayController;
 import com.android.wm.shell.desktopmode.DesktopModeEventLogger;
-import com.android.wm.shell.shared.desktopmode.DesktopModeStatus;
 import com.android.wm.shell.tests.R;
 import com.android.wm.shell.windowdecor.additionalviewcontainer.AdditionalViewContainer;
 import com.android.wm.shell.windowdecor.common.viewhost.WindowDecorViewHost;
@@ -564,12 +560,7 @@
     }
 
     @Test
-    public void testRelayout_fluidResizeEnabled_freeformTask_setTaskSurfaceColor() {
-        StaticMockitoSession mockitoSession = mockitoSession().mockStatic(
-                DesktopModeStatus.class).strictness(
-                LENIENT).startMocking();
-        when(DesktopModeStatus.isVeiledResizeEnabled()).thenReturn(false);
-
+    public void testRelayout_shouldSetBackground_freeformTask_setTaskSurfaceColor() {
         final Display defaultDisplay = mock(Display.class);
         doReturn(defaultDisplay).when(mMockDisplayController)
                 .getDisplay(Display.DEFAULT_DISPLAY);
@@ -595,11 +586,10 @@
                 .build();
         final TestWindowDecoration windowDecor = createWindowDecoration(taskInfo);
 
+        mRelayoutParams.mShouldSetBackground = true;
         windowDecor.relayout(taskInfo, true /* hasGlobalFocus */);
 
         verify(mMockSurfaceControlStartT).setColor(mMockTaskSurface, new float[]{1.f, 1.f, 0.f});
-
-        mockitoSession.finishMocking();
     }
 
     @Test
@@ -627,11 +617,7 @@
     }
 
     @Test
-    public void testRelayout_fluidResizeEnabled_fullscreenTask_clearTaskSurfaceColor() {
-        StaticMockitoSession mockitoSession = mockitoSession().mockStatic(
-                DesktopModeStatus.class).strictness(LENIENT).startMocking();
-        when(DesktopModeStatus.isVeiledResizeEnabled()).thenReturn(false);
-
+    public void testRelayout_shouldNotSetBackground_fullscreenTask_clearTaskSurfaceColor() {
         final Display defaultDisplay = mock(Display.class);
         doReturn(defaultDisplay).when(mMockDisplayController)
                 .getDisplay(Display.DEFAULT_DISPLAY);
@@ -655,12 +641,11 @@
                 .setWindowingMode(WINDOWING_MODE_FULLSCREEN)
                 .build();
         final TestWindowDecoration windowDecor = createWindowDecoration(taskInfo);
+        mRelayoutParams.mIsCaptionVisible = false;
 
         windowDecor.relayout(taskInfo, true /* hasGlobalFocus */);
 
         verify(mMockSurfaceControlStartT).unsetColor(mMockTaskSurface);
-
-        mockitoSession.finishMocking();
     }
 
     @Test
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingDecorViewModelTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingDecorViewModelTest.kt
index 2cabb9a..646ec21 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingDecorViewModelTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingDecorViewModelTest.kt
@@ -16,6 +16,7 @@
 package com.android.wm.shell.windowdecor.tiling
 
 import android.content.Context
+import android.content.res.Resources
 import android.graphics.Rect
 import android.testing.AndroidTestingRunner
 import androidx.test.filters.SmallTest
@@ -23,12 +24,13 @@
 import com.android.wm.shell.ShellTaskOrganizer
 import com.android.wm.shell.ShellTestCase
 import com.android.wm.shell.common.DisplayController
+import com.android.wm.shell.common.DisplayLayout
 import com.android.wm.shell.common.ShellExecutor
 import com.android.wm.shell.common.SyncTransactionQueue
 import com.android.wm.shell.desktopmode.DesktopModeEventLogger
-import com.android.wm.shell.desktopmode.DesktopUserRepositories
 import com.android.wm.shell.desktopmode.DesktopTasksController
 import com.android.wm.shell.desktopmode.DesktopTestHelpers.createFreeformTask
+import com.android.wm.shell.desktopmode.DesktopUserRepositories
 import com.android.wm.shell.desktopmode.ReturnToDragStartAnimator
 import com.android.wm.shell.desktopmode.ToggleResizeDesktopTaskTransitionHandler
 import com.android.wm.shell.transition.FocusTransitionObserver
@@ -52,6 +54,7 @@
 @RunWith(AndroidTestingRunner::class)
 class DesktopTilingDecorViewModelTest : ShellTestCase() {
     private val contextMock: Context = mock()
+    private val resourcesMock: Resources = mock()
     private val mainDispatcher: MainCoroutineDispatcher = mock()
     private val bgScope: CoroutineScope = mock()
     private val displayControllerMock: DisplayController = mock()
@@ -70,6 +73,7 @@
     private val desktopTilingDecoration: DesktopTilingWindowDecoration = mock()
     private val taskResourceLoader: WindowDecorTaskResourceLoader = mock()
     private val focusTransitionObserver: FocusTransitionObserver = mock()
+    private val displayLayout: DisplayLayout = mock()
     private val mainExecutor: ShellExecutor = mock()
     private lateinit var desktopTilingDecorViewModel: DesktopTilingDecorViewModel
 
@@ -91,9 +95,16 @@
                 desktopModeEventLogger,
                 taskResourceLoader,
                 focusTransitionObserver,
-                mainExecutor
+                mainExecutor,
             )
         whenever(contextMock.createContextAsUser(any(), any())).thenReturn(contextMock)
+        whenever(displayControllerMock.getDisplayLayout(any())).thenReturn(displayLayout)
+        whenever(displayLayout.getStableBounds(any())).thenAnswer { i ->
+            (i.arguments.first() as Rect).set(STABLE_BOUNDS)
+        }
+        whenever(contextMock.createContextAsUser(any(), any())).thenReturn(context)
+        whenever(contextMock.resources).thenReturn(resourcesMock)
+        whenever(resourcesMock.getDimensionPixelSize(any())).thenReturn(10)
     }
 
     @Test
@@ -202,7 +213,21 @@
         verify(desktopTilingDecoration, times(1)).resetTilingSession()
     }
 
+    @Test
+    fun getTiledAppBounds_NoTilingTransitionHandlerObject() {
+        // Right bound of the left app here represents default 8 / 2 - 2 ( {Right bound} / 2 -
+        // {divider pixel size})
+        assertThat(desktopTilingDecorViewModel.getLeftSnapBoundsIfTiled(1))
+            .isEqualTo(Rect(6, 7, 2, 9))
+
+        // Left bound of the right app here represents default 8 / 2 + 6 + 2 ( {Left bound} +
+        // {width}/ 2 + {divider pixel size})
+        assertThat(desktopTilingDecorViewModel.getRightSnapBoundsIfTiled(1))
+            .isEqualTo(Rect(12, 7, 8, 9))
+    }
+
     companion object {
         private val BOUNDS = Rect(1, 2, 3, 4)
+        private val STABLE_BOUNDS = Rect(6, 7, 8, 9)
     }
 }
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingDividerWindowManagerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingDividerWindowManagerTest.kt
index 121e0e9..8442056 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingDividerWindowManagerTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/tiling/DesktopTilingDividerWindowManagerTest.kt
@@ -81,6 +81,7 @@
                 transactionSupplierMock,
                 BOUNDS,
                 context,
+                /* isDarkMode= */ true
             )
     }
 
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/tiling/TilingDividerViewTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/tiling/TilingDividerViewTest.kt
index 9a9d05a..9a3d5d8 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/tiling/TilingDividerViewTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/tiling/TilingDividerViewTest.kt
@@ -60,7 +60,7 @@
         tilingDividerView =
             LayoutInflater.from(mContext).inflate(R.layout.tiling_split_divider, /* root= */ null)
                 as TilingDividerView
-        tilingDividerView.setup(dividerMoveCallbackMock, DIVIDER_BOUNDS, HANDLE_SIZE)
+        tilingDividerView.setup(dividerMoveCallbackMock, DIVIDER_BOUNDS, HANDLE_SIZE, true)
         tilingDividerView.handleY = 0..1500
     }
 
diff --git a/libs/androidfw/AssetManager2.cpp b/libs/androidfw/AssetManager2.cpp
index 7a51c20..714f6e4 100644
--- a/libs/androidfw/AssetManager2.cpp
+++ b/libs/androidfw/AssetManager2.cpp
@@ -23,6 +23,7 @@
 #include <map>
 #include <set>
 #include <span>
+#include <sstream>
 #include <utility>
 
 #include "android-base/logging.h"
@@ -64,7 +65,7 @@
   return table_entry->value();
 }
 
-}  // namespace
+} // namespace
 
 struct FindEntryResult {
   // The cookie representing the ApkAssets in which the value resides.
@@ -441,6 +442,24 @@
   return false;
 }
 
+static std::string ConfigVecToString(std::span<const ResTable_config> configurations) {
+  std::stringstream ss;
+  ss << "[";
+  bool first = true;
+  for (const auto& config : configurations) {
+    if (!first) {
+      ss << ",";
+    }
+    char out[RESTABLE_MAX_LOCALE_LEN] = {};
+    config.getBcp47Locale(out);
+    ss << out;
+    first = false;
+  }
+  ss << "]";
+  return ss.str();
+}
+
+
 void AssetManager2::SetConfigurations(std::span<const ResTable_config> configurations,
                                       bool force_refresh) {
   int diff = 0;
@@ -455,6 +474,17 @@
       }
     }
   }
+
+  // Log the locale list change to investigate b/392255526
+  if (diff & ConfigDescription::CONFIG_LOCALE) {
+    auto oldstr = ConfigVecToString(configurations_);
+    auto newstr = ConfigVecToString(configurations);
+    if (oldstr != newstr) {
+      LOG(INFO) << "AssetManager2(" << this << ") locale list changing from "
+                << oldstr << " to " << newstr;
+    }
+  }
+
   configurations_.clear();
   for (auto&& config : configurations) {
     configurations_.emplace_back(config);
@@ -465,6 +495,28 @@
   }
 }
 
+void AssetManager2::SetDefaultLocale(std::optional<ResTable_config> default_locale) {
+  int diff = 0;
+  if (default_locale_ && default_locale) {
+    diff = default_locale_->diff(default_locale.value());
+  } else if (default_locale_ || default_locale) {
+    diff = -1;
+  }
+  if (diff & ConfigDescription::CONFIG_LOCALE) {
+    char old_loc[RESTABLE_MAX_LOCALE_LEN] = {};
+    char new_loc[RESTABLE_MAX_LOCALE_LEN] = {};
+    if (default_locale_) {
+      default_locale_->getBcp47Locale(old_loc);
+    }
+    if (default_locale) {
+      default_locale->getBcp47Locale(new_loc);
+    }
+    LOG(INFO) << "AssetManager2(" << this << ") default locale changing from '"
+              << old_loc << "' to '" << new_loc << "'";
+  }
+  default_locale_ = default_locale;
+}
+
 void AssetManager2::SetOverlayConstraints(int32_t display_id, int32_t device_id) {
   bool changed = false;
   if (display_id_ != display_id) {
@@ -735,7 +787,7 @@
             ConfigDescription best_frro_config;
             Res_value best_frro_value;
             bool frro_found = false;
-            for (const auto& [config, value] : overlay_entry.GetInlineValue()) {
+            for(const auto& [config, value] : overlay_entry.GetInlineValue()) {
               if ((!frro_found || config.isBetterThan(best_frro_config, desired_config))
                   && config.match(*desired_config)) {
                 frro_found = true;
@@ -814,11 +866,11 @@
 
     bool has_locale = false;
     if (result->config.locale == 0) {
-      if (default_locale_ != 0) {
-        ResTable_config conf = {.locale = default_locale_};
-        // Since we know conf has a locale and only a locale, match will tell us if that locale
-        // matches
-        has_locale = conf.match(config);
+      // The default_locale_ is the locale used for any resources with no locale in the config
+      if (default_locale_) {
+        // Since we know default_locale_ has a locale and only a locale, match will tell us if that
+        // locale matches
+        has_locale = default_locale_->match(config);
       }
     } else {
       has_locale = true;
@@ -1505,7 +1557,7 @@
       base::expected<uint32_t, NullOrIOError> resid = package->FindEntryByName(type16, entry16);
       if (UNLIKELY(IsIOError(resid))) {
          return base::unexpected(resid.error());
-      }
+       }
 
       if (!resid.has_value() && kAttr16 == type16) {
         // Private attributes in libraries (such as the framework) are sometimes encoded
diff --git a/libs/androidfw/include/androidfw/AssetManager2.h b/libs/androidfw/include/androidfw/AssetManager2.h
index a47fe6a7..b017952 100644
--- a/libs/androidfw/include/androidfw/AssetManager2.h
+++ b/libs/androidfw/include/androidfw/AssetManager2.h
@@ -21,6 +21,7 @@
 
 #include <array>
 #include <limits>
+#include <optional>
 #include <set>
 #include <span>
 #include <unordered_map>
@@ -167,9 +168,7 @@
     return configurations_;
   }
 
-  inline void SetDefaultLocale(uint32_t default_locale) {
-    default_locale_ = default_locale;
-  }
+  void SetDefaultLocale(const std::optional<ResTable_config> default_locale);
 
   void SetOverlayConstraints(int32_t display_id, int32_t device_id);
 
@@ -481,7 +480,7 @@
   // without taking too much memory.
   std::array<uint8_t, std::numeric_limits<uint8_t>::max() + 1> package_ids_ = {};
 
-  uint32_t default_locale_ = 0;
+  std::optional<ResTable_config> default_locale_;
 
   // The current configurations set for this AssetManager. When this changes, cached resources
   // may need to be purged.
diff --git a/libs/hwui/Android.bp b/libs/hwui/Android.bp
index 38ac8ab..a892e88 100644
--- a/libs/hwui/Android.bp
+++ b/libs/hwui/Android.bp
@@ -141,6 +141,7 @@
                 "libsync",
                 "libui",
                 "aconfig_text_flags_c_lib",
+                "aconfig_view_accessibility_flags_c_lib",
                 "server_configurable_flags",
                 "libaconfig_storage_read_api_cc",
                 "libgraphicsenv",
diff --git a/libs/hwui/FeatureFlags.h b/libs/hwui/FeatureFlags.h
index 5f84f47..5ceb97c 100644
--- a/libs/hwui/FeatureFlags.h
+++ b/libs/hwui/FeatureFlags.h
@@ -18,6 +18,7 @@
 #define ANDROID_HWUI_FEATURE_FLAGS_H
 
 #ifdef __ANDROID__
+#include <android_view_accessibility.h>
 #include <com_android_text_flags.h>
 #endif  // __ANDROID__
 
@@ -44,6 +45,19 @@
 
 }  // namespace text_feature
 
+namespace view_accessibility_flags {
+
+inline bool force_invert_color() {
+#ifdef __ANDROID__
+    static bool flag = android::view::accessibility::force_invert_color();
+    return flag;
+#else
+    return true;
+#endif  // __ANDROID__
+}
+
+}  // namespace view_accessibility_flags
+
 }  // namespace android
 
 #endif  // ANDROID_HWUI_FEATURE_FLAGS_H
diff --git a/libs/hwui/OWNERS b/libs/hwui/OWNERS
index 70d13ab..9c06fd5 100644
--- a/libs/hwui/OWNERS
+++ b/libs/hwui/OWNERS
@@ -3,7 +3,7 @@
 alecmouri@google.com
 djsollen@google.com
 jreck@google.com
-njawad@google.com
+nscobie@google.com
 sumir@google.com
 
 # For text, e.g. Typeface, Font, Minikin, etc.
diff --git a/libs/hwui/renderthread/CanvasContext.h b/libs/hwui/renderthread/CanvasContext.h
index f119102..3de8e05 100644
--- a/libs/hwui/renderthread/CanvasContext.h
+++ b/libs/hwui/renderthread/CanvasContext.h
@@ -312,7 +312,7 @@
     };
 
     // Need at least 4 because we do quad buffer. Add a few more for good measure.
-    RingBuffer<SwapHistory, 7> mSwapHistory;
+    RingBuffer<SwapHistory, 8> mSwapHistory;
     // Frame numbers start at 1, 0 means uninitialized
     uint64_t mFrameNumber = 0;
     int64_t mDamageId = 0;
diff --git a/location/java/android/location/GnssAntennaInfo.java b/location/java/android/location/GnssAntennaInfo.java
index 3558dd5..39ce8a3 100644
--- a/location/java/android/location/GnssAntennaInfo.java
+++ b/location/java/android/location/GnssAntennaInfo.java
@@ -33,6 +33,8 @@
  *
  * <p> Antenna info parameters are measured for each specific device model by the device
  * manufacturers and provided to the Android framework.
+ *
+ * <p> {@link GnssAntennaInfo} is returned per frequency band at the center frequency of the band.
  */
 public final class GnssAntennaInfo implements Parcelable {
     private final double mCarrierFrequencyMHz;
@@ -479,6 +481,7 @@
         }
     }
 
+    /** Returns the center frequency of the corresponding carrier frequency band. */
     @FloatRange(from = 0.0f)
     public double getCarrierFrequencyMHz() {
         return mCarrierFrequencyMHz;
diff --git a/location/java/android/location/GnssMeasurement.java b/location/java/android/location/GnssMeasurement.java
index 200d4ef..6ae73a2 100644
--- a/location/java/android/location/GnssMeasurement.java
+++ b/location/java/android/location/GnssMeasurement.java
@@ -1484,6 +1484,10 @@
      * in an open sky test - the important aspect of this output is that changes in this value are
      * indicative of changes on input signal power in the frequency band for this measurement.
      *
+     * <p> This field is part of the GnssMeasurement object so it is only reported when the GNSS
+     * measurement is reported. E.g., when a GNSS signal is too weak to be acquired, the AGC value
+     * is not reported.
+     *
      * <p> The value is only available if {@link #hasAutomaticGainControlLevelDb()} is {@code true}
      *
      * @deprecated Use {@link GnssMeasurementsEvent#getGnssAutomaticGainControls()} instead.
diff --git a/location/java/android/location/GnssMeasurementsEvent.java b/location/java/android/location/GnssMeasurementsEvent.java
index 4fc2ee8..8cdfd01 100644
--- a/location/java/android/location/GnssMeasurementsEvent.java
+++ b/location/java/android/location/GnssMeasurementsEvent.java
@@ -158,6 +158,14 @@
     /**
      * Gets the collection of {@link GnssAutomaticGainControl} associated with the
      * current event.
+     *
+     * <p>This field must be reported when the GNSS measurement engine is running, even when the
+     * GnssMeasurement or GnssClock fields are not reported yet. E.g., when a GNSS signal is too
+     * weak to be acquired, the AGC value must still be reported.
+     *
+     * <p>For devices that do not support this field, an empty collection is returned. In that case,
+     * please use {@link GnssMeasurement#hasAutomaticGainControlLevelDb()}
+     * and {@link GnssMeasuremen#getAutomaticGainControlLevelDb()}.
      */
     @NonNull
     public Collection<GnssAutomaticGainControl> getGnssAutomaticGainControls() {
diff --git a/location/java/com/android/internal/location/GpsNetInitiatedHandler.java b/location/java/com/android/internal/location/GpsNetInitiatedHandler.java
index 8b6194f..66de8c7 100644
--- a/location/java/com/android/internal/location/GpsNetInitiatedHandler.java
+++ b/location/java/com/android/internal/location/GpsNetInitiatedHandler.java
@@ -27,9 +27,6 @@
 import android.telephony.emergency.EmergencyNumber;
 import android.util.Log;
 
-import com.android.internal.annotations.KeepForWeakReference;
-import com.android.internal.telephony.flags.Flags;
-
 import java.util.concurrent.TimeUnit;
 
 /**
@@ -95,7 +92,6 @@
 
     // The internal implementation of TelephonyManager uses WeakReference so we have to keep a
     // reference here.
-    @KeepForWeakReference
     private final EmergencyCallListener mEmergencyCallListener = new EmergencyCallListener();
 
     private final EmergencyCallCallback mEmergencyCallCallback;
@@ -146,17 +142,12 @@
                         < emergencyExtensionMillis);
         boolean isInEmergencyCallback = false;
         boolean isInEmergencySmsMode = false;
-        if (!Flags.enforceTelephonyFeatureMappingForPublicApis()) {
+        PackageManager pm = mContext.getPackageManager();
+        if (pm != null && pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_CALLING)) {
             isInEmergencyCallback = mTelephonyManager.getEmergencyCallbackMode();
+        }
+        if (pm != null && pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_MESSAGING)) {
             isInEmergencySmsMode = mTelephonyManager.isInEmergencySmsMode();
-        } else {
-            PackageManager pm = mContext.getPackageManager();
-            if (pm != null && pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_CALLING)) {
-                isInEmergencyCallback = mTelephonyManager.getEmergencyCallbackMode();
-            }
-            if (pm != null && pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_MESSAGING)) {
-                isInEmergencySmsMode = mTelephonyManager.isInEmergencySmsMode();
-            }
         }
         return mIsInEmergencyCall || isInEmergencyCallback || isInEmergencyExtension
                 || isInEmergencySmsMode;
diff --git a/media/OWNERS b/media/OWNERS
index 5e39195..50995ea 100644
--- a/media/OWNERS
+++ b/media/OWNERS
@@ -18,5 +18,4 @@
 include platform/frameworks/av:/media/janitors/media_solutions_OWNERS
 
 # SEA/KIR/BVE
-jtinker@google.com
 robertshih@google.com
diff --git a/media/java/android/media/AudioSystem.java b/media/java/android/media/AudioSystem.java
index e01cb92..ad6f2e52 100644
--- a/media/java/android/media/AudioSystem.java
+++ b/media/java/android/media/AudioSystem.java
@@ -1134,6 +1134,9 @@
     public static final Set<Integer> DEVICE_ALL_HDMI_SYSTEM_AUDIO_AND_SPEAKER_SET;
     /** @hide */
     public static final Set<Integer> DEVICE_OUT_ALL_BLE_SET;
+    /** @hide */
+    public static final Set<Integer> DEVICE_OUT_PICK_FOR_VOLUME_SET;
+
     static {
         DEVICE_OUT_ALL_SET = new HashSet<>();
         DEVICE_OUT_ALL_SET.add(DEVICE_OUT_EARPIECE);
@@ -1201,6 +1204,22 @@
         DEVICE_OUT_ALL_BLE_SET.add(DEVICE_OUT_BLE_HEADSET);
         DEVICE_OUT_ALL_BLE_SET.add(DEVICE_OUT_BLE_SPEAKER);
         DEVICE_OUT_ALL_BLE_SET.add(DEVICE_OUT_BLE_BROADCAST);
+
+        DEVICE_OUT_PICK_FOR_VOLUME_SET = new HashSet<>();
+        DEVICE_OUT_PICK_FOR_VOLUME_SET.add(DEVICE_OUT_WIRED_HEADSET);
+        DEVICE_OUT_PICK_FOR_VOLUME_SET.add(DEVICE_OUT_WIRED_HEADPHONE);
+        DEVICE_OUT_PICK_FOR_VOLUME_SET.add(DEVICE_OUT_USB_DEVICE);
+        DEVICE_OUT_PICK_FOR_VOLUME_SET.add(DEVICE_OUT_USB_HEADSET);
+        DEVICE_OUT_PICK_FOR_VOLUME_SET.add(DEVICE_OUT_BLUETOOTH_A2DP);
+        DEVICE_OUT_PICK_FOR_VOLUME_SET.add(DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES);
+        DEVICE_OUT_PICK_FOR_VOLUME_SET.add(DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER);
+        DEVICE_OUT_PICK_FOR_VOLUME_SET.add(DEVICE_OUT_BLUETOOTH_SCO);
+        DEVICE_OUT_PICK_FOR_VOLUME_SET.add(DEVICE_OUT_BLUETOOTH_SCO_HEADSET);
+        DEVICE_OUT_PICK_FOR_VOLUME_SET.add(DEVICE_OUT_BLUETOOTH_SCO_CARKIT);
+        DEVICE_OUT_PICK_FOR_VOLUME_SET.add(DEVICE_OUT_HEARING_AID);
+        DEVICE_OUT_PICK_FOR_VOLUME_SET.add(DEVICE_OUT_BLE_HEADSET);
+        DEVICE_OUT_PICK_FOR_VOLUME_SET.add(DEVICE_OUT_BLE_SPEAKER);
+        DEVICE_OUT_PICK_FOR_VOLUME_SET.add(DEVICE_OUT_BLE_BROADCAST);
     }
 
     // input devices
diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java
index 9bb31d0..4e86eac 100644
--- a/media/java/android/media/MediaCodecInfo.java
+++ b/media/java/android/media/MediaCodecInfo.java
@@ -1223,8 +1223,14 @@
         private static final String TAG = "CodecCapabilities";
 
         // NEW-STYLE CAPABILITIES
+        // Capabilities for an audio codec.
+        @Nullable
         private AudioCapabilities mAudioCaps;
+        // Capabilities for a video codec.
+        @Nullable
         private VideoCapabilities mVideoCaps;
+        // Capabilities specific to an encoder (vs. a decoder).
+        @Nullable
         private EncoderCapabilities mEncoderCaps;
         private MediaFormat mDefaultFormat;
 
@@ -1262,6 +1268,7 @@
         /**
          * Returns the audio capabilities or {@code null} if this is not an audio codec.
          */
+        @Nullable
         public AudioCapabilities getAudioCapabilities() {
             return mAudioCaps;
         }
@@ -1273,6 +1280,7 @@
         /**
          * Returns the encoding capabilities or {@code null} if this is not an encoder.
          */
+        @Nullable
         public EncoderCapabilities getEncoderCapabilities() {
             return mEncoderCaps;
         }
@@ -1284,6 +1292,7 @@
         /**
          * Returns the video capabilities or {@code null} if this is not a video codec.
          */
+        @Nullable
         public VideoCapabilities getVideoCapabilities() {
             return mVideoCaps;
         }
diff --git a/media/java/android/media/MediaExtractor.java b/media/java/android/media/MediaExtractor.java
index b11a810..4e1d472 100644
--- a/media/java/android/media/MediaExtractor.java
+++ b/media/java/android/media/MediaExtractor.java
@@ -375,6 +375,9 @@
     /**
      * Extract DRM initialization data if it exists
      *
+     * <p>If the media contains a PSSH box, only PSSH version 0 is supported. The result for media
+     * with other PSSH versions is undefined.
+     *
      * @return DRM initialization data in the content, or {@code null}
      * if no recognizable DRM format is found;
      * @see DrmInitData
@@ -460,6 +463,10 @@
 
     /**
      * Get the PSSH info if present.
+     *
+     * <p>This method only supports version 0 PSSH boxes. The result for other versions is
+     * undefined.
+     *
      * @return a map of uuid-to-bytes, with the uuid specifying
      * the crypto scheme, and the bytes being the data specific to that scheme.
      * This can be {@code null} if the source does not contain PSSH info.
diff --git a/media/java/android/media/Utils.java b/media/java/android/media/Utils.java
index d6e27b0..9db527b 100644
--- a/media/java/android/media/Utils.java
+++ b/media/java/android/media/Utils.java
@@ -18,6 +18,8 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.SuppressLint;
+import android.annotation.TestApi;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.res.Resources;
@@ -61,16 +63,30 @@
  *
  * @hide
  */
+@TestApi
+@SuppressLint({"UnflaggedApi", "StaticUtils"}) // Test API
 public class Utils {
     private static final String TAG = "Utils";
 
+    /** @hide
+     * The vibration uri key parameter
+     */
+    @TestApi
+    @SuppressLint("UnflaggedApi") // Test API
     public static final String VIBRATION_URI_PARAM = "vibration_uri";
 
+    /** @hide
+     * Indicates the synchronized vibration
+     */
+    @TestApi
+    @SuppressLint("UnflaggedApi") // Test API
     public static final String SYNCHRONIZED_VIBRATION = "synchronized";
 
     /**
      * Sorts distinct (non-intersecting) range array in ascending order.
      * @throws java.lang.IllegalArgumentException if ranges are not distinct
+     *
+     * @hide
      */
     public static <T extends Comparable<? super T>> void sortDistinctRanges(Range<T>[] ranges) {
         Arrays.sort(ranges, new Comparator<Range<T>>() {
@@ -92,6 +108,8 @@
      * @param one a sorted set of non-intersecting ranges in ascending order
      * @param another another sorted set of non-intersecting ranges in ascending order
      * @return the intersection of the two sets, sorted in ascending order
+     *
+     * @hide
      */
     public static <T extends Comparable<? super T>>
             Range<T>[] intersectSortedDistinctRanges(Range<T>[] one, Range<T>[] another) {
@@ -124,6 +142,8 @@
      * @return if the value is in one of the ranges, it returns the index of that range.  Otherwise,
      * the return value is {@code (-1-index)} for the {@code index} of the range that is
      * immediately following {@code value}.
+     *
+     * @hide
      */
     public static <T extends Comparable<? super T>>
             int binarySearchDistinctRanges(Range<T>[] ranges, T value) {
@@ -358,6 +378,8 @@
      * @param fileName desired name for the file.
      * @param mimeType MIME type of the file to create.
      * @return the File object in the storage, or null if an error occurs.
+     *
+     * @hide
      */
     public static File getUniqueExternalFile(Context context, String subdirectory, String fileName,
             String mimeType) {
@@ -676,6 +698,8 @@
      * Must match the implementation of BluetoothUtils.toAnonymizedAddress()
      * @param address MAC address to be anonymized
      * @return anonymized MAC address
+     *
+     * @hide
      */
     public static @Nullable String anonymizeBluetoothAddress(@Nullable String address) {
         if (address == null) {
@@ -693,6 +717,8 @@
      * @param deviceType the internal type of the audio device
      * @param address MAC address to be anonymized
      * @return anonymized MAC address
+     *
+     * @hide
      */
     public static @Nullable String anonymizeBluetoothAddress(
             int deviceType, @Nullable String address) {
@@ -707,6 +733,8 @@
      *
      * @param context the {@link Context}
      * @return {@code true} if the device supports ringtone vibration
+     *
+     * @hide
      */
     public static boolean isRingtoneVibrationSettingsSupported(Context context) {
         final Resources res = context.getResources();
@@ -719,6 +747,8 @@
      *
      * @param ringtoneUri the ringtone Uri
      * @return {@code true} if the Uri has vibration parameter
+     *
+     * @hide
      */
     public static boolean hasVibration(Uri ringtoneUri) {
         if (ringtoneUri == null) {
@@ -734,6 +764,8 @@
      * @param ringtoneUri the ringtone Uri
      * @return parsed {@link Uri} of vibration parameter, {@code null} if the vibration parameter
      * is not found.
+     *
+     * @hide
      */
     public static @Nullable Uri getVibrationUri(Uri ringtoneUri) {
         if (ringtoneUri == null) {
@@ -751,6 +783,8 @@
      *
      * @param vibrator the vibrator to resolve the vibration file
      * @param vibrationUri the vibration file Uri to represent a vibration
+     *
+     * @hide
      */
     @SuppressWarnings("FlaggedApi") // VibrationXmlParser is available internally as hidden APIs.
     public static VibrationEffect parseVibrationEffect(Vibrator vibrator, Uri vibrationUri) {
diff --git a/media/java/android/media/flags/projection.aconfig b/media/java/android/media/flags/projection.aconfig
index 6d4f0b4..846448b 100644
--- a/media/java/android/media/flags/projection.aconfig
+++ b/media/java/android/media/flags/projection.aconfig
@@ -39,3 +39,12 @@
     }
     is_exported: true
 }
+
+flag {
+    namespace: "media_projection"
+    name: "app_content_sharing"
+    description: "Enable apps to share some sub-surface"
+    bug: "379989921"
+    is_exported: true
+}
+
diff --git a/media/java/android/media/musicrecognition/OWNERS b/media/java/android/media/musicrecognition/OWNERS
index 037b048..820be00 100644
--- a/media/java/android/media/musicrecognition/OWNERS
+++ b/media/java/android/media/musicrecognition/OWNERS
@@ -1,5 +1,4 @@
 # Bug component: 830636
 
 oni@google.com
-volnov@google.com
 
diff --git a/media/java/android/media/projection/MediaProjectionConfig.java b/media/java/android/media/projection/MediaProjectionConfig.java
index 30f34fe..598b534 100644
--- a/media/java/android/media/projection/MediaProjectionConfig.java
+++ b/media/java/android/media/projection/MediaProjectionConfig.java
@@ -27,7 +27,6 @@
 import android.os.Parcelable;
 
 import com.android.internal.util.AnnotationValidations;
-import com.android.internal.util.DataClass;
 
 import java.lang.annotation.Retention;
 
@@ -35,36 +34,25 @@
  * Configure the {@link MediaProjection} session requested from
  * {@link MediaProjectionManager#createScreenCaptureIntent(MediaProjectionConfig)}.
  */
-@DataClass(
-        genEqualsHashCode = true,
-        genAidl = true,
-        genSetters = false,
-        genConstructor = false,
-        genBuilder = false,
-        genToString = false,
-        genHiddenConstDefs = true,
-        genHiddenGetters = true,
-        genConstDefs = false
-)
 public final class MediaProjectionConfig implements Parcelable {
 
     /**
      * The user, rather than the host app, determines which region of the display to capture.
+     *
      * @hide
      */
     public static final int CAPTURE_REGION_USER_CHOICE = 0;
 
     /**
      * The host app specifies a particular display to capture.
+     *
      * @hide
      */
     public static final int CAPTURE_REGION_FIXED_DISPLAY = 1;
 
     /** @hide */
-    @IntDef(prefix = "CAPTURE_REGION_", value = {
-            CAPTURE_REGION_USER_CHOICE,
-            CAPTURE_REGION_FIXED_DISPLAY
-    })
+    @IntDef(prefix = "CAPTURE_REGION_", value = {CAPTURE_REGION_USER_CHOICE,
+            CAPTURE_REGION_FIXED_DISPLAY})
     @Retention(SOURCE)
     public @interface CaptureRegion {
     }
@@ -72,7 +60,7 @@
     /**
      * The particular display to capture. Only used when {@link #getRegionToCapture()} is
      * {@link #CAPTURE_REGION_FIXED_DISPLAY}; ignored otherwise.
-     *
+     * <p>
      * Only supports values of {@link android.view.Display#DEFAULT_DISPLAY}.
      */
     @IntRange(from = DEFAULT_DISPLAY, to = DEFAULT_DISPLAY)
@@ -82,13 +70,7 @@
      * The region to capture. Defaults to the user's choice.
      */
     @CaptureRegion
-    private int mRegionToCapture = CAPTURE_REGION_USER_CHOICE;
-
-    /**
-     * Default instance, with region set to the user's choice.
-     */
-    private MediaProjectionConfig() {
-    }
+    private int mRegionToCapture;
 
     /**
      * Customized instance, with region set to the provided value.
@@ -129,51 +111,29 @@
      */
     @NonNull
     private static String captureRegionToString(int value) {
-        switch (value) {
-            case CAPTURE_REGION_USER_CHOICE:
-                return "CAPTURE_REGION_USERS_CHOICE";
-            case CAPTURE_REGION_FIXED_DISPLAY:
-                return "CAPTURE_REGION_GIVEN_DISPLAY";
-            default:
-                return Integer.toHexString(value);
-        }
+        return switch (value) {
+            case CAPTURE_REGION_USER_CHOICE -> "CAPTURE_REGION_USERS_CHOICE";
+            case CAPTURE_REGION_FIXED_DISPLAY -> "CAPTURE_REGION_GIVEN_DISPLAY";
+            default -> Integer.toHexString(value);
+        };
     }
 
     @Override
     public String toString() {
-        return "MediaProjectionConfig { "
-                + "displayToCapture = " + mDisplayToCapture + ", "
-                + "regionToCapture = " + captureRegionToString(mRegionToCapture)
-                + " }";
+        return "MediaProjectionConfig { " + "displayToCapture = " + mDisplayToCapture + ", "
+                + "regionToCapture = " + captureRegionToString(mRegionToCapture) + " }";
     }
 
 
-
-
-
-    // Code below generated by codegen v1.0.23.
-    //
-    // DO NOT MODIFY!
-    // CHECKSTYLE:OFF Generated code
-    //
-    // To regenerate run:
-    // $ codegen $ANDROID_BUILD_TOP/frameworks/base/media/java/android/media/projection/MediaProjectionConfig.java
-    //
-    // To exclude the generated code from IntelliJ auto-formatting enable (one-time):
-    //   Settings > Editor > Code Style > Formatter Control
-    //@formatter:off
-
-
     /**
      * The particular display to capture. Only used when {@link #getRegionToCapture()} is
      * {@link #CAPTURE_REGION_FIXED_DISPLAY}; ignored otherwise.
-     *
+     * <p>
      * Only supports values of {@link android.view.Display#DEFAULT_DISPLAY}.
      *
      * @hide
      */
-    @DataClass.Generated.Member
-    public @IntRange(from = DEFAULT_DISPLAY, to = DEFAULT_DISPLAY) int getDisplayToCapture() {
+    public int getDisplayToCapture() {
         return mDisplayToCapture;
     }
 
@@ -182,34 +142,21 @@
      *
      * @hide
      */
-    @DataClass.Generated.Member
     public @CaptureRegion int getRegionToCapture() {
         return mRegionToCapture;
     }
 
     @Override
-    @DataClass.Generated.Member
     public boolean equals(@Nullable Object o) {
-        // You can override field equality logic by defining either of the methods like:
-        // boolean fieldNameEquals(MediaProjectionConfig other) { ... }
-        // boolean fieldNameEquals(FieldType otherValue) { ... }
-
         if (this == o) return true;
         if (o == null || getClass() != o.getClass()) return false;
-        @SuppressWarnings("unchecked")
         MediaProjectionConfig that = (MediaProjectionConfig) o;
-        //noinspection PointlessBooleanExpression
-        return true
-                && mDisplayToCapture == that.mDisplayToCapture
+        return mDisplayToCapture == that.mDisplayToCapture
                 && mRegionToCapture == that.mRegionToCapture;
     }
 
     @Override
-    @DataClass.Generated.Member
     public int hashCode() {
-        // You can override field hashCode logic by defining methods like:
-        // int fieldNameHashCode() { ... }
-
         int _hash = 1;
         _hash = 31 * _hash + mDisplayToCapture;
         _hash = 31 * _hash + mRegionToCapture;
@@ -217,65 +164,36 @@
     }
 
     @Override
-    @DataClass.Generated.Member
     public void writeToParcel(@NonNull android.os.Parcel dest, int flags) {
-        // You can override field parcelling by defining methods like:
-        // void parcelFieldName(Parcel dest, int flags) { ... }
-
         dest.writeInt(mDisplayToCapture);
         dest.writeInt(mRegionToCapture);
     }
 
     @Override
-    @DataClass.Generated.Member
-    public int describeContents() { return 0; }
+    public int describeContents() {
+        return 0;
+    }
 
     /** @hide */
-    @SuppressWarnings({"unchecked", "RedundantCast"})
-    @DataClass.Generated.Member
     /* package-private */ MediaProjectionConfig(@NonNull android.os.Parcel in) {
-        // You can override field unparcelling by defining methods like:
-        // static FieldType unparcelFieldName(Parcel in) { ... }
-
         int displayToCapture = in.readInt();
         int regionToCapture = in.readInt();
 
-        this.mDisplayToCapture = displayToCapture;
-        AnnotationValidations.validate(
-                IntRange.class, null, mDisplayToCapture,
-                "from", DEFAULT_DISPLAY,
-                "to", DEFAULT_DISPLAY);
-        this.mRegionToCapture = regionToCapture;
-        AnnotationValidations.validate(
-                CaptureRegion.class, null, mRegionToCapture);
-
-        // onConstructed(); // You can define this method to get a callback
+        mDisplayToCapture = displayToCapture;
+        mRegionToCapture = regionToCapture;
+        AnnotationValidations.validate(CaptureRegion.class, null, mRegionToCapture);
     }
 
-    @DataClass.Generated.Member
-    public static final @NonNull Parcelable.Creator<MediaProjectionConfig> CREATOR
-            = new Parcelable.Creator<MediaProjectionConfig>() {
-        @Override
-        public MediaProjectionConfig[] newArray(int size) {
-            return new MediaProjectionConfig[size];
-        }
+    public static final @NonNull Parcelable.Creator<MediaProjectionConfig> CREATOR =
+            new Parcelable.Creator<>() {
+                @Override
+                public MediaProjectionConfig[] newArray(int size) {
+                    return new MediaProjectionConfig[size];
+                }
 
-        @Override
-        public MediaProjectionConfig createFromParcel(@NonNull android.os.Parcel in) {
-            return new MediaProjectionConfig(in);
-        }
-    };
-
-    @DataClass.Generated(
-            time = 1673548980960L,
-            codegenVersion = "1.0.23",
-            sourceFile = "frameworks/base/media/java/android/media/projection/MediaProjectionConfig.java",
-            inputSignatures = "public static final  int CAPTURE_REGION_USER_CHOICE\npublic static final  int CAPTURE_REGION_FIXED_DISPLAY\nprivate @android.annotation.IntRange int mDisplayToCapture\nprivate @android.media.projection.MediaProjectionConfig.CaptureRegion int mRegionToCapture\npublic static @android.annotation.NonNull android.media.projection.MediaProjectionConfig createConfigForDefaultDisplay()\npublic static @android.annotation.NonNull android.media.projection.MediaProjectionConfig createConfigForUserChoice()\nprivate static @android.annotation.NonNull java.lang.String captureRegionToString(int)\npublic @java.lang.Override java.lang.String toString()\nclass MediaProjectionConfig extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true, genAidl=true, genSetters=false, genConstructor=false, genBuilder=false, genToString=false, genHiddenConstDefs=true, genHiddenGetters=true, genConstDefs=false)")
-    @Deprecated
-    private void __metadata() {}
-
-
-    //@formatter:on
-    // End of generated code
-
+                @Override
+                public MediaProjectionConfig createFromParcel(@NonNull android.os.Parcel in) {
+                    return new MediaProjectionConfig(in);
+                }
+            };
 }
diff --git a/media/java/android/media/tv/flags/media_tv.aconfig b/media/java/android/media/tv/flags/media_tv.aconfig
index 28da556..7670514 100644
--- a/media/java/android/media/tv/flags/media_tv.aconfig
+++ b/media/java/android/media/tv/flags/media_tv.aconfig
@@ -129,4 +129,14 @@
   metadata {
     purpose: PURPOSE_BUGFIX
   }
+}
+
+flag {
+  name: "media_quality_fw_bugfix"
+  namespace: "tv_os"
+  description: "Bug fix flag for Media Quality framework"
+  bug: "398304867"
+  metadata {
+    purpose: PURPOSE_BUGFIX
+  }
 }
\ No newline at end of file
diff --git a/media/jni/OWNERS b/media/jni/OWNERS
index fdddf13..84618a3 100644
--- a/media/jni/OWNERS
+++ b/media/jni/OWNERS
@@ -1,5 +1,5 @@
 # extra for MTP related files
-per-file android_mtp_*.cpp=aprasath@google.com,anothermark@google.com,kumarashishg@google.com,sarup@google.com,jsharkey@android.com,jameswei@google.com,rmojumder@google.com
+per-file android_mtp_*.cpp=aprasath@google.com,anothermark@google.com,sarup@google.com,jsharkey@android.com,jameswei@google.com,rmojumder@google.com
 
 # extra for TV related files
 per-file android_media_tv_*=hgchen@google.com,quxiangfang@google.com
diff --git a/media/jni/android_media_MediaCodec.cpp b/media/jni/android_media_MediaCodec.cpp
index 61c287b..ae54c18 100644
--- a/media/jni/android_media_MediaCodec.cpp
+++ b/media/jni/android_media_MediaCodec.cpp
@@ -2990,11 +2990,16 @@
         }
         *memory = context->toHidlMemory();
     }
-    if (context->mBlock == nullptr || context->mReadWriteMapping == nullptr) {
-        ALOGW("extractMemoryFromContext: Cannot extract memory as C2Block is not created/mapped");
+    if (context->mBlock == nullptr) {
+        // this should be ok as we may only have IMemory/hidlMemory
+        // e.g. video codecs may only have IMemory and no mBlock
         return;
     }
-    if (context->mReadWriteMapping->error() != C2_OK) {
+
+    // if we have mBlock and memory, then we will copy data from mBlock to hidlMemory
+    // e.g. audio codecs may only have mBlock and wanted to decrypt using hidlMemory
+    // and also wanted to re-use mBlock
+    if (context->mReadWriteMapping == nullptr || context->mReadWriteMapping->error() != C2_OK) {
         ALOGW("extractMemoryFromContext: failed to map C2Block (%d)",
                 context->mReadWriteMapping->error());
         return;
diff --git a/native/android/OWNERS b/native/android/OWNERS
index 3ea2d35..1e8d30d 100644
--- a/native/android/OWNERS
+++ b/native/android/OWNERS
@@ -6,8 +6,7 @@
 
 # Networking
 per-file libandroid_net.map.txt, net.c = set noparent
-per-file libandroid_net.map.txt, net.c = codewiz@google.com, jchalard@google.com, junyulai@google.com
-per-file libandroid_net.map.txt, net.c = lorenzo@google.com, reminv@google.com, satk@google.com
+per-file libandroid_net.map.txt, net.c = file:platform/packages/modules/Connectivity:main:/OWNERS_core_networking
 
 # Fonts
 per-file system_fonts.cpp = file:/graphics/java/android/graphics/fonts/OWNERS
diff --git a/native/webview/TEST_MAPPING b/native/webview/TEST_MAPPING
index 3858059..c9b5476 100644
--- a/native/webview/TEST_MAPPING
+++ b/native/webview/TEST_MAPPING
@@ -17,15 +17,6 @@
           "exclude-annotation": "android.test.FlakyTest"
         }
       ]
-    },
-    {
-      "name": "GtsWebViewHostTestCases",
-      "keywords": ["internal"],
-      "options": [
-        {
-          "exclude-annotation": "android.test.FlakyTest"
-        }
-      ]
     }
   ]
 }
diff --git a/opengl/java/android/opengl/OWNERS b/opengl/java/android/opengl/OWNERS
index e340bc6..4ec9e29 100644
--- a/opengl/java/android/opengl/OWNERS
+++ b/opengl/java/android/opengl/OWNERS
@@ -3,4 +3,3 @@
 sumir@google.com
 prahladk@google.com
 ianelliott@google.com
-lpy@google.com
diff --git a/packages/CompanionDeviceManager/res/drawable/btn_positive_bottom.xml b/packages/CompanionDeviceManager/res/drawable/btn_positive_button.xml
similarity index 82%
rename from packages/CompanionDeviceManager/res/drawable/btn_positive_bottom.xml
rename to packages/CompanionDeviceManager/res/drawable/btn_positive_button.xml
index 2cff473..30cf60a 100644
--- a/packages/CompanionDeviceManager/res/drawable/btn_positive_bottom.xml
+++ b/packages/CompanionDeviceManager/res/drawable/btn_positive_button.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
-  ~ Copyright (C) 2022 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,8 +16,8 @@
   -->
 
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
-       android:shape="rectangle">
+    android:shape="rectangle">
     <solid android:color="@android:color/system_accent1_100"/>
     <corners android:topLeftRadius="12dp" android:topRightRadius="12dp"
-             android:bottomLeftRadius="4dp" android:bottomRightRadius="4dp"/>
-</shape>
+        android:bottomLeftRadius="4dp" android:bottomRightRadius="4dp"/>
+</shape>
\ No newline at end of file
diff --git a/packages/CompanionDeviceManager/res/drawable/btn_positive_button_with_arrow.xml b/packages/CompanionDeviceManager/res/drawable/btn_positive_button_with_arrow.xml
new file mode 100644
index 0000000..1fe4af7
--- /dev/null
+++ b/packages/CompanionDeviceManager/res/drawable/btn_positive_button_with_arrow.xml
@@ -0,0 +1,32 @@
+<?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.
+  -->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item>
+        <shape android:shape="rectangle">
+            <solid android:color="@android:color/system_accent1_100" />
+            <corners
+                android:bottomLeftRadius="4dp"
+                android:bottomRightRadius="4dp"
+                android:topLeftRadius="12dp"
+                android:topRightRadius="12dp" />
+        </shape>
+    </item>
+    <item
+        android:drawable="@drawable/ic_downward_arrow"
+        android:gravity="center" />
+</layer-list>
\ No newline at end of file
diff --git a/packages/CompanionDeviceManager/res/drawable/ic_downward_arrow.xml b/packages/CompanionDeviceManager/res/drawable/ic_downward_arrow.xml
new file mode 100644
index 0000000..98fd71b
--- /dev/null
+++ b/packages/CompanionDeviceManager/res/drawable/ic_downward_arrow.xml
@@ -0,0 +1,25 @@
+<!--
+  ~ 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.
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="960"
+    android:viewportHeight="960"
+    android:tint="?attr/colorControlNormal">
+    <path android:fillColor="@android:color/system_accent1_600"
+        android:pathData="M480,720L240,480L296,424L440,568L440,200L520,200L520,568L664,424L720,480L480,720Z"/>
+</vector>
\ No newline at end of file
diff --git a/packages/CompanionDeviceManager/res/values-af/strings.xml b/packages/CompanionDeviceManager/res/values-af/strings.xml
index 9476dc5..b802d0f 100644
--- a/packages/CompanionDeviceManager/res/values-af/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-af/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Moenie toelaat nie"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Kanselleer"</string>
     <string name="consent_back" msgid="2560683030046918882">"Terug"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Vou <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> uit"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Vou <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> in"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Gee programme op &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; dieselfde toestemmings as op &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-am/strings.xml b/packages/CompanionDeviceManager/res/values-am/strings.xml
index e53efce..d4d0b07 100644
--- a/packages/CompanionDeviceManager/res/values-am/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-am/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"አትፍቀድ"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"ይቅር"</string>
     <string name="consent_back" msgid="2560683030046918882">"ተመለስ"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>ን ዘርጋ"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>ን ሰብስብ"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"በ&lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; ላይ ላሉ መተግበሪያዎች በ&lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; ላይ ካሉት ጋር ተመሳሳይ ፈቃዶች ይሰጣቸው?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-ar/strings.xml b/packages/CompanionDeviceManager/res/values-ar/strings.xml
index 5b6ea65..f4e1721 100644
--- a/packages/CompanionDeviceManager/res/values-ar/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ar/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"عدم السماح"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"إلغاء"</string>
     <string name="consent_back" msgid="2560683030046918882">"رجوع"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"توسيع <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"تصغير <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"‏هل تريد منح التطبيقات على &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; نفس الأذونات على &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;؟"</string>
diff --git a/packages/CompanionDeviceManager/res/values-as/strings.xml b/packages/CompanionDeviceManager/res/values-as/strings.xml
index 9001a2c..322d422 100644
--- a/packages/CompanionDeviceManager/res/values-as/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-as/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"অনুমতি নিদিব"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"বাতিল কৰক"</string>
     <string name="consent_back" msgid="2560683030046918882">"উভতি যাওক"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> বিস্তাৰ কৰক"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> সংকোচন কৰক"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"এপ্‌সমূহক &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;ত দিয়াৰ দৰে &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt;তো একে অনুমতি প্ৰদান কৰিবনে?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-az/strings.xml b/packages/CompanionDeviceManager/res/values-az/strings.xml
index 2ffe84e..9f3ab2bd 100644
--- a/packages/CompanionDeviceManager/res/values-az/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-az/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"İcazə verməyin"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Ləğv edin"</string>
     <string name="consent_back" msgid="2560683030046918882">"Geriyə"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Genişləndirin: <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Yığcamlaşdırın: <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; cihazındakı tətbiqlərə &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; cihazındakılarla eyni icazələr verilsin?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-b+sr+Latn/strings.xml b/packages/CompanionDeviceManager/res/values-b+sr+Latn/strings.xml
index dfe3cbe..d28b9b2 100644
--- a/packages/CompanionDeviceManager/res/values-b+sr+Latn/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-b+sr+Latn/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Ne dozvoli"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Otkaži"</string>
     <string name="consent_back" msgid="2560683030046918882">"Nazad"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Proširi <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Skupi <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Aplikcijama na uređaju &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; dajete sve dozvole kao na uređaju &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-be/strings.xml b/packages/CompanionDeviceManager/res/values-be/strings.xml
index 6e5e1b5..14878c1 100644
--- a/packages/CompanionDeviceManager/res/values-be/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-be/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Не дазваляць"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Скасаваць"</string>
     <string name="consent_back" msgid="2560683030046918882">"Назад"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Разгарнуць <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Згарнуць <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Даць праграмам на прыладзе &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; такія самыя дазволы, што і на прыладзе &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-bg/strings.xml b/packages/CompanionDeviceManager/res/values-bg/strings.xml
index 9c3b94e..6e5b323 100644
--- a/packages/CompanionDeviceManager/res/values-bg/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-bg/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Забраняване"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Отказ"</string>
     <string name="consent_back" msgid="2560683030046918882">"Назад"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Разгъване на <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Свиване на <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Искате ли да дадете на приложенията на &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; същите разрешения както на &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-bn/strings.xml b/packages/CompanionDeviceManager/res/values-bn/strings.xml
index 88db2a5..214dc71 100644
--- a/packages/CompanionDeviceManager/res/values-bn/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-bn/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"অনুমতি দেবেন না"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"বাতিল করুন"</string>
     <string name="consent_back" msgid="2560683030046918882">"ফিরুন"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> বড় করুন"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> আড়াল করুন"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;-এ যে অনুমতি দেওয়া আছে &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt;-এও সেই একই অনুমতি দিতে চান?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-bs/strings.xml b/packages/CompanionDeviceManager/res/values-bs/strings.xml
index bc74b1a..b23f600 100644
--- a/packages/CompanionDeviceManager/res/values-bs/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-bs/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Nemoj dozvoliti"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Otkaži"</string>
     <string name="consent_back" msgid="2560683030046918882">"Nazad"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Proširivanje stavke <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Sužavanje stavke <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Dati aplikacijama na uređaju &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; ista odobrenja kao na uređaju &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-ca/strings.xml b/packages/CompanionDeviceManager/res/values-ca/strings.xml
index 8c0b117..21f3871 100644
--- a/packages/CompanionDeviceManager/res/values-ca/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ca/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"No permetis"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Cancel·la"</string>
     <string name="consent_back" msgid="2560683030046918882">"Enrere"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Desplega <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Replega <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Vols concedir a les aplicacions del dispositiu &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; els mateixos permisos que tenen a &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-cs/strings.xml b/packages/CompanionDeviceManager/res/values-cs/strings.xml
index cde31af..cd89130 100644
--- a/packages/CompanionDeviceManager/res/values-cs/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-cs/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Nepovolovat"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Zrušit"</string>
     <string name="consent_back" msgid="2560683030046918882">"Zpět"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Rozbalit sekci <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Sbalit sekci <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Udělit aplikacím v zařízení &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; stejné oprávnění, jako mají v zařízení &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-da/strings.xml b/packages/CompanionDeviceManager/res/values-da/strings.xml
index 1062af8..6dc34e7 100644
--- a/packages/CompanionDeviceManager/res/values-da/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-da/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Tillad ikke"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Annuller"</string>
     <string name="consent_back" msgid="2560683030046918882">"Tilbage"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Udvid <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Skjul <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Vil du give apps på &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; de samme tilladelser som på &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-de/strings.xml b/packages/CompanionDeviceManager/res/values-de/strings.xml
index 6f8a902..4dc2929 100644
--- a/packages/CompanionDeviceManager/res/values-de/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-de/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Nicht zulassen"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Abbrechen"</string>
     <string name="consent_back" msgid="2560683030046918882">"Zurück"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> maximieren"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> minimieren"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Apps auf &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; die gleichen Berechtigungen geben wie auf &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-el/strings.xml b/packages/CompanionDeviceManager/res/values-el/strings.xml
index c90bf21..1dc00dc 100644
--- a/packages/CompanionDeviceManager/res/values-el/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-el/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Να μην επιτρέπεται"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Ακύρωση"</string>
     <string name="consent_back" msgid="2560683030046918882">"Πίσω"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Ανάπτυξη <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Σύμπτυξη <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Παραχώρηση των ίδιων αδειών στις εφαρμογές στη συσκευή &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; όπως στη συσκευή &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;;"</string>
diff --git a/packages/CompanionDeviceManager/res/values-en-rAU/strings.xml b/packages/CompanionDeviceManager/res/values-en-rAU/strings.xml
index 8590e9f..bbd81bf 100644
--- a/packages/CompanionDeviceManager/res/values-en-rAU/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-en-rAU/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Don\'t allow"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Cancel"</string>
     <string name="consent_back" msgid="2560683030046918882">"Back"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Expand <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Collapse <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Give apps on &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; the same permissions as on &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-en-rCA/strings.xml b/packages/CompanionDeviceManager/res/values-en-rCA/strings.xml
index 041966e..8d73380 100644
--- a/packages/CompanionDeviceManager/res/values-en-rCA/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-en-rCA/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Don\'t allow"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Cancel"</string>
     <string name="consent_back" msgid="2560683030046918882">"Back"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Expand <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Collapse <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Give apps on &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; the same permissions as on &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-en-rGB/strings.xml b/packages/CompanionDeviceManager/res/values-en-rGB/strings.xml
index 8590e9f..bbd81bf 100644
--- a/packages/CompanionDeviceManager/res/values-en-rGB/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-en-rGB/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Don\'t allow"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Cancel"</string>
     <string name="consent_back" msgid="2560683030046918882">"Back"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Expand <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Collapse <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Give apps on &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; the same permissions as on &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-en-rIN/strings.xml b/packages/CompanionDeviceManager/res/values-en-rIN/strings.xml
index 8590e9f..bbd81bf 100644
--- a/packages/CompanionDeviceManager/res/values-en-rIN/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-en-rIN/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Don\'t allow"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Cancel"</string>
     <string name="consent_back" msgid="2560683030046918882">"Back"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Expand <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Collapse <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Give apps on &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; the same permissions as on &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-es-rUS/strings.xml b/packages/CompanionDeviceManager/res/values-es-rUS/strings.xml
index 88ae3ed..50f7654 100644
--- a/packages/CompanionDeviceManager/res/values-es-rUS/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-es-rUS/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"No permitir"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Cancelar"</string>
     <string name="consent_back" msgid="2560683030046918882">"Atrás"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Expandir <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Contraer <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"¿Dar a las apps de &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; los mismos permisos que tienen en &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-es/strings.xml b/packages/CompanionDeviceManager/res/values-es/strings.xml
index a309d7c..f8e2c74 100644
--- a/packages/CompanionDeviceManager/res/values-es/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-es/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"No permitir"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Cancelar"</string>
     <string name="consent_back" msgid="2560683030046918882">"Atrás"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Desplegar <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Contraer <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"¿Dar a las aplicaciones de &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; los mismos permisos que &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-et/strings.xml b/packages/CompanionDeviceManager/res/values-et/strings.xml
index 91d1b69..0f390e1 100644
--- a/packages/CompanionDeviceManager/res/values-et/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-et/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Ära luba"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Tühista"</string>
     <string name="consent_back" msgid="2560683030046918882">"Tagasi"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Laienda: <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Ahenda: <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Kas anda rakendustele seadmes &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; samad load, mis seadmes &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-eu/strings.xml b/packages/CompanionDeviceManager/res/values-eu/strings.xml
index c52c2b9..1c7f1f3 100644
--- a/packages/CompanionDeviceManager/res/values-eu/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-eu/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Ez eman baimenik"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Utzi"</string>
     <string name="consent_back" msgid="2560683030046918882">"Atzera"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Zabaldu <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Tolestu <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; gailuan dituzten baimen berberak eman nahi dizkiezu &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; gailuko aplikazioei?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-fa/strings.xml b/packages/CompanionDeviceManager/res/values-fa/strings.xml
index 048bf3e..fb36c46 100644
--- a/packages/CompanionDeviceManager/res/values-fa/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-fa/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"اجازه ندادن"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"لغو"</string>
     <string name="consent_back" msgid="2560683030046918882">"برگشتن"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"ازهم بازکردن <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"جمع کردن <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"‏به برنامه‌های موجود در &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; همان اجازه‌های &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; داده شود؟"</string>
diff --git a/packages/CompanionDeviceManager/res/values-fi/strings.xml b/packages/CompanionDeviceManager/res/values-fi/strings.xml
index 3f4a9d3..ff6cae1 100644
--- a/packages/CompanionDeviceManager/res/values-fi/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-fi/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Älä salli"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Peruuta"</string>
     <string name="consent_back" msgid="2560683030046918882">"Takaisin"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Laajenna <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Tiivistä <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Anna laitteen &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; sovelluksille samat luvat kuin laitteella &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-fr-rCA/strings.xml b/packages/CompanionDeviceManager/res/values-fr-rCA/strings.xml
index 52b136c..4d7de76 100644
--- a/packages/CompanionDeviceManager/res/values-fr-rCA/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-fr-rCA/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Ne pas autoriser"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Annuler"</string>
     <string name="consent_back" msgid="2560683030046918882">"Retour"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Développer <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Réduire <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Accorder aux applis sur &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; les autorisations déjà accordées sur &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-fr/strings.xml b/packages/CompanionDeviceManager/res/values-fr/strings.xml
index e7741c4..d4c12fb 100644
--- a/packages/CompanionDeviceManager/res/values-fr/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-fr/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Ne pas autoriser"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Annuler"</string>
     <string name="consent_back" msgid="2560683030046918882">"Retour"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Développer <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Réduire <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Accorder les mêmes autorisations aux applis sur &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; que sur &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; ?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-gl/strings.xml b/packages/CompanionDeviceManager/res/values-gl/strings.xml
index bf58761..999ab97 100644
--- a/packages/CompanionDeviceManager/res/values-gl/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-gl/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Non permitir"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Cancelar"</string>
     <string name="consent_back" msgid="2560683030046918882">"Atrás"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Despregar <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Contraer <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Queres darlles ás aplicacións de &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; os mesmos permisos que teñen as de &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-gu/strings.xml b/packages/CompanionDeviceManager/res/values-gu/strings.xml
index 9df54da..51d07c9 100644
--- a/packages/CompanionDeviceManager/res/values-gu/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-gu/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"મંજૂરી આપશો નહીં"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"રદ કરો"</string>
     <string name="consent_back" msgid="2560683030046918882">"પાછળ"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>ને મોટું કરો"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>ને નાનું કરો"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; પરની ઍપને &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; પર છે તે જ પરવાનગીઓ આપીએ?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-hi/strings.xml b/packages/CompanionDeviceManager/res/values-hi/strings.xml
index fe04cbd..f7086c6 100644
--- a/packages/CompanionDeviceManager/res/values-hi/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-hi/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"अनुमति न दें"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"रद्द करें"</string>
     <string name="consent_back" msgid="2560683030046918882">"वापस जाएं"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> को बड़ा करें"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> को छोटा करें"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"क्या &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; पर ऐप्लिकेशन को वही अनुमतियां देनी हैं जो &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; पर दी हैं?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-hr/strings.xml b/packages/CompanionDeviceManager/res/values-hr/strings.xml
index c5ed386..04872e5 100644
--- a/packages/CompanionDeviceManager/res/values-hr/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-hr/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Nemoj dopustiti"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Odustani"</string>
     <string name="consent_back" msgid="2560683030046918882">"Natrag"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Proširi <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Sažmi <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Dati jednaka dopuštenja aplikacijama na uređaju &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; kao i na uređaju &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-hu/strings.xml b/packages/CompanionDeviceManager/res/values-hu/strings.xml
index 9fb92c3..5d3b313 100644
--- a/packages/CompanionDeviceManager/res/values-hu/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-hu/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Tiltás"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Mégse"</string>
     <string name="consent_back" msgid="2560683030046918882">"Vissza"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> kibontása"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> összecsukása"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Ugyanolyan engedélyeket ad a(z) &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; eszközön található alkalmazásoknak, mint a(z) &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; eszköz esetén?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-hy/strings.xml b/packages/CompanionDeviceManager/res/values-hy/strings.xml
index b398b94..e7c7139 100644
--- a/packages/CompanionDeviceManager/res/values-hy/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-hy/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Չթույլատրել"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Չեղարկել"</string>
     <string name="consent_back" msgid="2560683030046918882">"Հետ"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Ծավալել «<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>» բաժինը"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Ծալել «<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>» բաժինը"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt;-ում հավելվածներին տա՞լ նույն թույլտվությունները, ինչ &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;-ում"</string>
diff --git a/packages/CompanionDeviceManager/res/values-in/strings.xml b/packages/CompanionDeviceManager/res/values-in/strings.xml
index 9c9144c..f582205 100644
--- a/packages/CompanionDeviceManager/res/values-in/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-in/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Jangan izinkan"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Batal"</string>
     <string name="consent_back" msgid="2560683030046918882">"Kembali"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Luaskan <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Ciutkan <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Berikan aplikasi di &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; izin yang sama seperti di &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-is/strings.xml b/packages/CompanionDeviceManager/res/values-is/strings.xml
index 1247aae..b66133c 100644
--- a/packages/CompanionDeviceManager/res/values-is/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-is/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Ekki leyfa"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Hætta við"</string>
     <string name="consent_back" msgid="2560683030046918882">"Til baka"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Stækka <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Minnka <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Veita forritum í &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; sömu heimildir og í &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-it/strings.xml b/packages/CompanionDeviceManager/res/values-it/strings.xml
index 36647ad..3496718 100644
--- a/packages/CompanionDeviceManager/res/values-it/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-it/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Non consentire"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Annulla"</string>
     <string name="consent_back" msgid="2560683030046918882">"Indietro"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Espandi <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Comprimi <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Vuoi dare alle app su &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; le stesse autorizzazioni che hai dato su &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-iw/strings.xml b/packages/CompanionDeviceManager/res/values-iw/strings.xml
index f08ee6e..626ae7a 100644
--- a/packages/CompanionDeviceManager/res/values-iw/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-iw/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"אין אישור"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"ביטול"</string>
     <string name="consent_back" msgid="2560683030046918882">"חזרה"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"הרחבה של <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"כיווץ של <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"‏האם לתת לאפליקציות ב-‎&lt;strong&gt;‎‏<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>‏‎&lt;/strong&gt;‎‏ את אותן הרשאות כמו ב-‏‎&lt;strong&gt;‎‏<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>‏‎&lt;/strong&gt;‎‏?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-ja/strings.xml b/packages/CompanionDeviceManager/res/values-ja/strings.xml
index 0ad41cd..a8dc756 100644
--- a/packages/CompanionDeviceManager/res/values-ja/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ja/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"許可しない"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"キャンセル"</string>
     <string name="consent_back" msgid="2560683030046918882">"戻る"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>を開く"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>を閉じる"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; のアプリに &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; の場合と同じ権限を付与しますか？"</string>
diff --git a/packages/CompanionDeviceManager/res/values-ka/strings.xml b/packages/CompanionDeviceManager/res/values-ka/strings.xml
index 3fb5519..97f3087 100644
--- a/packages/CompanionDeviceManager/res/values-ka/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ka/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"არ დაიშვას"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"გაუქმება"</string>
     <string name="consent_back" msgid="2560683030046918882">"უკან"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>-ის გაფართოება"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>-ის ჩაკეცვა"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"გსურთ აპებს &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt;-ზე იგივე ნებართვები მიანიჭოთ, როგორიც აქვს &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;-ზე?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-kk/strings.xml b/packages/CompanionDeviceManager/res/values-kk/strings.xml
index 06b82ec..4d77c6c 100644
--- a/packages/CompanionDeviceManager/res/values-kk/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-kk/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Рұқсат бермеу"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Бас тарту"</string>
     <string name="consent_back" msgid="2560683030046918882">"Артқа"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"\"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>\" панелін жаю"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"\"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>\" панелін жию"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; құрылғысындағы қолданбаларға &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; құрылғысындағыдай рұқсаттар берілсін бе?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-km/strings.xml b/packages/CompanionDeviceManager/res/values-km/strings.xml
index 3f6eacf..9047b05 100644
--- a/packages/CompanionDeviceManager/res/values-km/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-km/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"មិនអនុញ្ញាត"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"បោះបង់"</string>
     <string name="consent_back" msgid="2560683030046918882">"ថយក្រោយ"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"ពង្រីក <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"បង្រួម <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"ផ្ដល់​ការអនុញ្ញាតឱ្យ​កម្មវិធីនៅលើ &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; ដូចនៅលើ &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; ឬ?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-kn/strings.xml b/packages/CompanionDeviceManager/res/values-kn/strings.xml
index 269d729..751ac1f 100644
--- a/packages/CompanionDeviceManager/res/values-kn/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-kn/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"ಅನುಮತಿಸಬೇಡಿ"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"ರದ್ದುಮಾಡಿ"</string>
     <string name="consent_back" msgid="2560683030046918882">"ಹಿಂದೆ"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> ಅನ್ನು ವಿಸ್ತರಿಸಿ"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> ಅನ್ನು ಕುಗ್ಗಿಸಿ"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;/strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; ನಲ್ಲಿನ ಅನುಮತಿಗಳನ್ನೇ &lt;/strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; ನಲ್ಲಿನ ಆ್ಯಪ್‌ಗಳಿಗೆ ನೀಡಬೇಕೆ?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-ko/strings.xml b/packages/CompanionDeviceManager/res/values-ko/strings.xml
index 0b4274e..a7a5dc1 100644
--- a/packages/CompanionDeviceManager/res/values-ko/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ko/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"허용 안함"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"취소"</string>
     <string name="consent_back" msgid="2560683030046918882">"뒤로"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> 펼치기"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> 접기"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt;에 설치된 앱에 &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;에 설치된 앱과 동일한 권한을 부여하시겠습니까?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-ky/strings.xml b/packages/CompanionDeviceManager/res/values-ky/strings.xml
index a7b4f40..991fc9f 100644
--- a/packages/CompanionDeviceManager/res/values-ky/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ky/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Уруксат берилбесин"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Жок"</string>
     <string name="consent_back" msgid="2560683030046918882">"Артка"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> жайып көрсөтүү"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> жыйыштыруу"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; түзмөгүнө да &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; түзмөгүнө берилген уруксаттар берилсинби?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-lo/strings.xml b/packages/CompanionDeviceManager/res/values-lo/strings.xml
index d7f777d..91399b6 100644
--- a/packages/CompanionDeviceManager/res/values-lo/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-lo/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"ບໍ່ອະນຸຍາດ"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"ຍົກເລີກ"</string>
     <string name="consent_back" msgid="2560683030046918882">"ກັບຄືນ"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"ຂະຫຍາຍ <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"ຫຍໍ້ <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> ລົງ"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"ໃຫ້ການອະນຸຍາດແອັບຢູ່ &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; ເປັນການອະນຸຍາດດຽວກັນກັບຢູ່ &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; ບໍ?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-lt/strings.xml b/packages/CompanionDeviceManager/res/values-lt/strings.xml
index 5dd1d06..a3ac47b 100644
--- a/packages/CompanionDeviceManager/res/values-lt/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-lt/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Neleisti"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Atšaukti"</string>
     <string name="consent_back" msgid="2560683030046918882">"Atgal"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Išskleisti „<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>“"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Sutraukti „<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>“"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Suteikti &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; esančioms programoms tuos pačius leidimus kaip &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; esančioms programoms?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-lv/strings.xml b/packages/CompanionDeviceManager/res/values-lv/strings.xml
index 40de5d1..35c7481 100644
--- a/packages/CompanionDeviceManager/res/values-lv/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-lv/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Neatļaut"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Atcelt"</string>
     <string name="consent_back" msgid="2560683030046918882">"Atpakaļ"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Izvērst: <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Sakļaut: <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Vai lietotnēm ierīcē &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; piešķirt tādas pašas atļaujas kā ierīcē &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-mk/strings.xml b/packages/CompanionDeviceManager/res/values-mk/strings.xml
index db1c06a..1eaf2d2 100644
--- a/packages/CompanionDeviceManager/res/values-mk/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-mk/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Не дозволувај"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Откажи"</string>
     <string name="consent_back" msgid="2560683030046918882">"Назад"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Прошири <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Собери <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Дасе дадат исти дозволи на апликациите на &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; како на &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-ml/strings.xml b/packages/CompanionDeviceManager/res/values-ml/strings.xml
index de50fc7..52fcb1f 100644
--- a/packages/CompanionDeviceManager/res/values-ml/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ml/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"അനുവദിക്കരുത്"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"റദ്ദാക്കുക"</string>
     <string name="consent_back" msgid="2560683030046918882">"മടങ്ങുക"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> വികസിപ്പിക്കുക"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> ചുരുക്കുക"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; എന്നതിലെ അതേ അനുമതികൾ &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; എന്നതിലെ ആപ്പുകൾക്ക് നൽകണോ?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-mn/strings.xml b/packages/CompanionDeviceManager/res/values-mn/strings.xml
index e76f688..5faf241 100644
--- a/packages/CompanionDeviceManager/res/values-mn/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-mn/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Бүү зөвшөөр"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Цуцлах"</string>
     <string name="consent_back" msgid="2560683030046918882">"Буцах"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>-г дэлгэх"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>-г хураах"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; дээрх аппуудад &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; дээрхтэй адил зөвшөөрөл өгөх үү?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-mr/strings.xml b/packages/CompanionDeviceManager/res/values-mr/strings.xml
index 03a5271..94e49fe 100644
--- a/packages/CompanionDeviceManager/res/values-mr/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-mr/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"अनुमती देऊ नका"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"रद्द करा"</string>
     <string name="consent_back" msgid="2560683030046918882">"मागे जा"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> चा विस्तार करा"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> कोलॅप्स करा"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; वरील अ‍ॅप्सना &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; प्रमाणेच परवानग्या द्यायच्या आहेत का?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-ms/strings.xml b/packages/CompanionDeviceManager/res/values-ms/strings.xml
index ca41c6f..8b1170b 100644
--- a/packages/CompanionDeviceManager/res/values-ms/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ms/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Jangan benarkan"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Batal"</string>
     <string name="consent_back" msgid="2560683030046918882">"Kembali"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Kembangkan <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Kuncupkan <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Beri apl pada &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; kebenaran yang sama seperti pada &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-my/strings.xml b/packages/CompanionDeviceManager/res/values-my/strings.xml
index f03048b..faca3e3 100644
--- a/packages/CompanionDeviceManager/res/values-my/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-my/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"ခွင့်မပြုပါ"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"မလုပ်တော့"</string>
     <string name="consent_back" msgid="2560683030046918882">"နောက်သို့"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> ကို ပိုပြရန်"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> ကို လျှော့ပြရန်"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"အက်ပ်များကို &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; တွင်ပေးထားသည့် ခွင့်ပြုချက်များအတိုင်း &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; တွင် ပေးမလား။"</string>
diff --git a/packages/CompanionDeviceManager/res/values-nb/strings.xml b/packages/CompanionDeviceManager/res/values-nb/strings.xml
index 6008299..4188951 100644
--- a/packages/CompanionDeviceManager/res/values-nb/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-nb/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Ikke tillat"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Avbryt"</string>
     <string name="consent_back" msgid="2560683030046918882">"Tilbake"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Vis <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Skjul <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Vil du gi apper på &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; de samme tillatelsene som på &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-ne/strings.xml b/packages/CompanionDeviceManager/res/values-ne/strings.xml
index dd8b1ae..2cd4fef 100644
--- a/packages/CompanionDeviceManager/res/values-ne/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ne/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"अनुमति नदिनुहोस्"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"रद्द गर्नुहोस्"</string>
     <string name="consent_back" msgid="2560683030046918882">"पछाडि"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> एक्स्पान्ड गर्नुहोस्"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> कोल्याप्स गर्नुहोस्"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; मा भएका एपहरूलाई पनि &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; मा दिइएकै अनुमति दिने हो?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-nl/strings.xml b/packages/CompanionDeviceManager/res/values-nl/strings.xml
index 22feb9d..2f0fc9a 100644
--- a/packages/CompanionDeviceManager/res/values-nl/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-nl/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Niet toestaan"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Annuleren"</string>
     <string name="consent_back" msgid="2560683030046918882">"Terug"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> uitvouwen"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> samenvouwen"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Apps op de &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; dezelfde rechten geven als op de &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-or/strings.xml b/packages/CompanionDeviceManager/res/values-or/strings.xml
index 96c6207..8298a5b 100644
--- a/packages/CompanionDeviceManager/res/values-or/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-or/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"ଅନୁମତି ଦିଅନ୍ତୁ ନାହିଁ"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"ବାତିଲ କରନ୍ତୁ"</string>
     <string name="consent_back" msgid="2560683030046918882">"ପଛକୁ ଫେରନ୍ତୁ"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>କୁ ବିସ୍ତାର କରନ୍ତୁ"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>କୁ ସଙ୍କୁଚିତ କରନ୍ତୁ"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;ପରି &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt;ରେ ଥିବା ଆପ୍ସକୁ ସମାନ ଅନୁମତିଗୁଡ଼ିକ ଦେବେ?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-pa/strings.xml b/packages/CompanionDeviceManager/res/values-pa/strings.xml
index c2db62f..fe13c00 100644
--- a/packages/CompanionDeviceManager/res/values-pa/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-pa/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"ਆਗਿਆ ਨਾ ਦਿਓ"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"ਰੱਦ ਕਰੋ"</string>
     <string name="consent_back" msgid="2560683030046918882">"ਪਿੱਛੇ"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> ਦਾ ਵਿਸਤਾਰ ਕਰੋ"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> ਨੂੰ ਸਮੇਟੋ"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"ਕੀ &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; \'ਤੇ ਮੌਜੂਦ ਐਪਾਂ ਨੂੰ &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; \'ਤੇ ਮੌਜੂਦ ਐਪਾਂ ਵਾਂਗ ਇਜਾਜ਼ਤਾਂ ਦੇਣੀਆਂ ਹਨ?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-pl/strings.xml b/packages/CompanionDeviceManager/res/values-pl/strings.xml
index 62a0d40..1599f3f 100644
--- a/packages/CompanionDeviceManager/res/values-pl/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-pl/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Nie zezwalaj"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Anuluj"</string>
     <string name="consent_back" msgid="2560683030046918882">"Wstecz"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Rozwiń sekcję <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Zwiń sekcję <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Czy aplikacjom na urządzeniu &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; przyznać te same uprawnienia co na urządzeniu &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-pt-rBR/strings.xml b/packages/CompanionDeviceManager/res/values-pt-rBR/strings.xml
index 81c50c1..85c23ea7 100644
--- a/packages/CompanionDeviceManager/res/values-pt-rBR/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-pt-rBR/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Não permitir"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Cancelar"</string>
     <string name="consent_back" msgid="2560683030046918882">"Voltar"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Abrir <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Fechar <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Dar aos apps no dispositivo &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; as mesmas permissões do dispositivo &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-pt-rPT/strings.xml b/packages/CompanionDeviceManager/res/values-pt-rPT/strings.xml
index bec6f11..bee8e91 100644
--- a/packages/CompanionDeviceManager/res/values-pt-rPT/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-pt-rPT/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Não permitir"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Cancelar"</string>
     <string name="consent_back" msgid="2560683030046918882">"Voltar"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Expandir <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Reduzir <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Dar às apps no dispositivo &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; as mesmas autorizações de &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-pt/strings.xml b/packages/CompanionDeviceManager/res/values-pt/strings.xml
index 81c50c1..85c23ea7 100644
--- a/packages/CompanionDeviceManager/res/values-pt/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-pt/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Não permitir"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Cancelar"</string>
     <string name="consent_back" msgid="2560683030046918882">"Voltar"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Abrir <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Fechar <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Dar aos apps no dispositivo &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; as mesmas permissões do dispositivo &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-ro/strings.xml b/packages/CompanionDeviceManager/res/values-ro/strings.xml
index 40ae72e..6820d5b 100644
--- a/packages/CompanionDeviceManager/res/values-ro/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ro/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Nu permite"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Anulează"</string>
     <string name="consent_back" msgid="2560683030046918882">"Înapoi"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Extinde <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Restrânge <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Acorzi aplicațiilor de pe &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; aceleași permisiuni ca pe &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-ru/strings.xml b/packages/CompanionDeviceManager/res/values-ru/strings.xml
index a5b5b59..3213a2f 100644
--- a/packages/CompanionDeviceManager/res/values-ru/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ru/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Запретить"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Отмена"</string>
     <string name="consent_back" msgid="2560683030046918882">"Назад"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Разворачивать список \"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>\"."</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Сворачивать список \"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>\"."</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Предоставить приложениям на устройстве &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; те же разрешения, что на устройстве &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-si/strings.xml b/packages/CompanionDeviceManager/res/values-si/strings.xml
index cc04f4b..7fd6611 100644
--- a/packages/CompanionDeviceManager/res/values-si/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-si/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"ඉඩ නොදෙන්න"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"අවලංගු කරන්න"</string>
     <string name="consent_back" msgid="2560683030046918882">"ආපසු"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> විදහන්න"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> හකුළන්න"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; the හි යෙදුම්වලට &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; හි අවසරම දෙන්නද?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-sk/strings.xml b/packages/CompanionDeviceManager/res/values-sk/strings.xml
index f46252e..5194f21 100644
--- a/packages/CompanionDeviceManager/res/values-sk/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-sk/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Nepovoliť"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Zrušiť"</string>
     <string name="consent_back" msgid="2560683030046918882">"Späť"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Rozbaliť sekciu <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Zbaliť sekciu <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Chcete udeliť aplikáciám v zariadení &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; rovnaké povolenia ako v zariadení &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-sl/strings.xml b/packages/CompanionDeviceManager/res/values-sl/strings.xml
index 0696c98..2200220 100644
--- a/packages/CompanionDeviceManager/res/values-sl/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-sl/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Ne dovoli"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Prekliči"</string>
     <string name="consent_back" msgid="2560683030046918882">"Nazaj"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Razširi dovoljenje »<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>«"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Strni dovoljenje »<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>«"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Ali želite aplikacijam v napravi &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; odobriti enaka dovoljenja kot v napravi &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-sq/strings.xml b/packages/CompanionDeviceManager/res/values-sq/strings.xml
index 02f88ce..f683dd9 100644
--- a/packages/CompanionDeviceManager/res/values-sq/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-sq/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Mos lejo"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Anulo"</string>
     <string name="consent_back" msgid="2560683030046918882">"Pas"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Zgjero: <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Palos: <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"T\'i jepen aplikacioneve në &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; të njëjtat leje si në &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-sr/strings.xml b/packages/CompanionDeviceManager/res/values-sr/strings.xml
index 5f7e53d..d568009 100644
--- a/packages/CompanionDeviceManager/res/values-sr/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-sr/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Не дозволи"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Откажи"</string>
     <string name="consent_back" msgid="2560683030046918882">"Назад"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Прошири <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Скупи <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Апликцијама на уређају &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; дајете све дозволе као на уређају &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-sv/strings.xml b/packages/CompanionDeviceManager/res/values-sv/strings.xml
index a622ff4..5c6f5ba 100644
--- a/packages/CompanionDeviceManager/res/values-sv/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-sv/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Tillåt inte"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Avbryt"</string>
     <string name="consent_back" msgid="2560683030046918882">"Tillbaka"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Utöka <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Komprimera <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Vill du ge apparna på &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; samma behörigheter som de har på &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-sw/strings.xml b/packages/CompanionDeviceManager/res/values-sw/strings.xml
index c010837..7a1cf98 100644
--- a/packages/CompanionDeviceManager/res/values-sw/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-sw/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Usiruhusu"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Ghairi"</string>
     <string name="consent_back" msgid="2560683030046918882">"Nyuma"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Panua <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Kunja <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Ungependa kuzipa programu katika &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; ruhusa ile ile kama kwenye &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-ta/strings.xml b/packages/CompanionDeviceManager/res/values-ta/strings.xml
index 96f7d63..2313cc3 100644
--- a/packages/CompanionDeviceManager/res/values-ta/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ta/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"அனுமதிக்க வேண்டாம்"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"ரத்துசெய்"</string>
     <string name="consent_back" msgid="2560683030046918882">"பின்செல்"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> ஐ விரிவாக்கும்"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> ஐச் சுருக்கும்"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; சாதனத்தில் இருக்கும் அதே அனுமதிகளை &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; சாதனத்தில் உள்ள ஆப்ஸுக்கும் வழங்கவா?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-te/strings.xml b/packages/CompanionDeviceManager/res/values-te/strings.xml
index f353b80..eed0eee 100644
--- a/packages/CompanionDeviceManager/res/values-te/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-te/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"అనుమతించవద్దు"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"రద్దు చేయండి"</string>
     <string name="consent_back" msgid="2560683030046918882">"వెనుకకు"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>‌ను విస్తరించండి"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>‌ను కుదించండి"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt;లోని యాప్‌లకు &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;లో ఉన్న అనుమతులను ఇవ్వాలా?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-th/strings.xml b/packages/CompanionDeviceManager/res/values-th/strings.xml
index 6a38c99..bf14f4c 100644
--- a/packages/CompanionDeviceManager/res/values-th/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-th/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"ไม่อนุญาต"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"ยกเลิก"</string>
     <string name="consent_back" msgid="2560683030046918882">"กลับ"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"ขยาย <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"ยุบ <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"ให้แอปใน &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; มีสิทธิ์เหมือนกับใน &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; ไหม"</string>
diff --git a/packages/CompanionDeviceManager/res/values-tl/strings.xml b/packages/CompanionDeviceManager/res/values-tl/strings.xml
index 8d5470c..90e5eb7 100644
--- a/packages/CompanionDeviceManager/res/values-tl/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-tl/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Huwag payagan"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Kanselahin"</string>
     <string name="consent_back" msgid="2560683030046918882">"Bumalik"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"I-expand ang <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"I-collapse ang <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Bigyan ang mga app sa &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; ng mga pahintulot na mayroon din sa &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-tr/strings.xml b/packages/CompanionDeviceManager/res/values-tr/strings.xml
index 86c0e46..56997d7 100644
--- a/packages/CompanionDeviceManager/res/values-tr/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-tr/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"İzin verme"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"İptal"</string>
     <string name="consent_back" msgid="2560683030046918882">"Geri"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> panelini genişlet"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> panelini daralt"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; cihazındaki uygulamalara, &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; cihazındakiyle aynı izinler verilsin mi?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-uk/strings.xml b/packages/CompanionDeviceManager/res/values-uk/strings.xml
index ff93a65..7d7b9de 100644
--- a/packages/CompanionDeviceManager/res/values-uk/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-uk/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Не дозволяти"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Скасувати"</string>
     <string name="consent_back" msgid="2560683030046918882">"Назад"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Розгорнути дозвіл \"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>\""</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Згорнути дозвіл \"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>\""</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Надати додаткам на пристрої &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; такі самі дозволи, що й на пристрої &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-ur/strings.xml b/packages/CompanionDeviceManager/res/values-ur/strings.xml
index 8c50d81..690e439 100644
--- a/packages/CompanionDeviceManager/res/values-ur/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ur/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"اجازت نہ دیں"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"منسوخ کریں"</string>
     <string name="consent_back" msgid="2560683030046918882">"پیچھے"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> کو پھیلائیں"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g> کو سکیڑیں"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"‏ایپس کو &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; پر وہی اجازتیں دیں جو &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; پر دی گئی ہیں؟"</string>
diff --git a/packages/CompanionDeviceManager/res/values-uz/strings.xml b/packages/CompanionDeviceManager/res/values-uz/strings.xml
index 076bb74..e1a024c 100644
--- a/packages/CompanionDeviceManager/res/values-uz/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-uz/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Ruxsat berilmasin"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Bekor qilish"</string>
     <string name="consent_back" msgid="2560683030046918882">"Orqaga"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Yoyish: <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Yopish: <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; ilovalariga &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; qurilmasidagi kabi bir xil ruxsatlar berilsinmi?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-vi/strings.xml b/packages/CompanionDeviceManager/res/values-vi/strings.xml
index a44af74..0293317 100644
--- a/packages/CompanionDeviceManager/res/values-vi/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-vi/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Không cho phép"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Huỷ"</string>
     <string name="consent_back" msgid="2560683030046918882">"Quay lại"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Mở rộng <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Thu gọn <xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Cấp cho các ứng dụng trên &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; các quyền giống như trên &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values-zh-rCN/strings.xml b/packages/CompanionDeviceManager/res/values-zh-rCN/strings.xml
index ccc046b..ed68dd3 100644
--- a/packages/CompanionDeviceManager/res/values-zh-rCN/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-zh-rCN/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"不允许"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"取消"</string>
     <string name="consent_back" msgid="2560683030046918882">"返回"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"展开<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"收起<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"要让&lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt;上的应用享有在&lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;上的同等权限吗？"</string>
diff --git a/packages/CompanionDeviceManager/res/values-zh-rHK/strings.xml b/packages/CompanionDeviceManager/res/values-zh-rHK/strings.xml
index 3dcaa9f..17d3482f 100644
--- a/packages/CompanionDeviceManager/res/values-zh-rHK/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-zh-rHK/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"不允許"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"取消"</string>
     <string name="consent_back" msgid="2560683030046918882">"返回"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"展開<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"收合<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"&lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; 上的應用程式可獲在 &lt;strong&gt;<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt; 上的相同權限嗎？"</string>
diff --git a/packages/CompanionDeviceManager/res/values-zh-rTW/strings.xml b/packages/CompanionDeviceManager/res/values-zh-rTW/strings.xml
index a96e43f..542a73fc 100644
--- a/packages/CompanionDeviceManager/res/values-zh-rTW/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-zh-rTW/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"不允許"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"取消"</string>
     <string name="consent_back" msgid="2560683030046918882">"返回"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"展開<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"收合<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"要讓「<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>」&lt;strong&gt;&lt;/strong&gt;的應用程式沿用在「<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>」&lt;strong&gt;&lt;/strong&gt;上的權限嗎？"</string>
diff --git a/packages/CompanionDeviceManager/res/values-zu/strings.xml b/packages/CompanionDeviceManager/res/values-zu/strings.xml
index bc7bb81..b1c7a14 100644
--- a/packages/CompanionDeviceManager/res/values-zu/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-zu/strings.xml
@@ -51,6 +51,10 @@
     <string name="consent_no" msgid="2640796915611404382">"Ungavumeli"</string>
     <string name="consent_cancel" msgid="5655005528379285841">"Khansela"</string>
     <string name="consent_back" msgid="2560683030046918882">"Emuva"</string>
+    <!-- no translation found for downward_arrow_action (2327165938832076333) -->
+    <skip />
+    <!-- no translation found for downward_arrow (2292427714411156088) -->
+    <skip />
     <string name="permission_expand" msgid="893185038020887411">"Nweba i-<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_collapse" msgid="3320833884220844084">"Goqa i-<xliff:g id="PERMISSION_TYPE">%1$s</xliff:g>"</string>
     <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Nikeza ama-app &lt;strong&gt;<xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g>&lt;/strong&gt; izimvume ezifanayot &lt;strong&gt;njengaku-<xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g>&lt;/strong&gt;?"</string>
diff --git a/packages/CompanionDeviceManager/res/values/strings.xml b/packages/CompanionDeviceManager/res/values/strings.xml
index 20ede5f..60f209b 100644
--- a/packages/CompanionDeviceManager/res/values/strings.xml
+++ b/packages/CompanionDeviceManager/res/values/strings.xml
@@ -139,6 +139,12 @@
     <!-- Back button for the helper consent dialog [CHAR LIMIT=30] -->
     <string name="consent_back">Back</string>
 
+    <!-- Downward arrow button action for scroll down the permission list [CHAR LIMIT=30] -->
+    <string name="downward_arrow_action">Scroll down the list</string>
+
+    <!-- Downward arrow button [CHAR LIMIT=30] -->
+    <string name="downward_arrow">Downward arrow</string>
+
     <!-- Expand permission in the list CHAR LIMIT=30] -->
     <string name="permission_expand">Expand <xliff:g id="permission_type" example="Notification">%1$s</xliff:g></string>
 
diff --git a/packages/CompanionDeviceManager/res/values/styles.xml b/packages/CompanionDeviceManager/res/values/styles.xml
index 30813ba..814cc4d 100644
--- a/packages/CompanionDeviceManager/res/values/styles.xml
+++ b/packages/CompanionDeviceManager/res/values/styles.xml
@@ -119,7 +119,7 @@
         <item name="android:layout_marginEnd">32dp</item>
         <item name="android:textColor">@android:color/system_neutral1_900</item>
         <item name="android:textAppearance">@android:style/TextAppearance.DeviceDefault.Medium</item>
-        <item name="android:background">@drawable/btn_positive_bottom</item>
+        <item name="android:background">@drawable/btn_positive_button</item>
     </style>
 
     <style name="NegativeButton"
diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java
index ea40e13..dd77c61 100644
--- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java
+++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java
@@ -176,6 +176,8 @@
     // an association to CDM.
     private boolean mApproved;
     private boolean mCancelled;
+    // Indicates user has completely scrolled through the permissions list.
+    private boolean mIsPermissionsListScrolledToBottom;
     // A reference to the device selected by the user, to be sent back to the application via
     // onActivityResult() after the association is created.
     private @Nullable DeviceFilterPair<?> mSelectedDevice;
@@ -450,7 +452,7 @@
     }
 
     private void stopDiscovery() {
-        if (!mRequest.isSelfManaged()) {
+        if (mRequest != null && !mRequest.isSelfManaged()) {
             CompanionDeviceDiscoveryService.stop(this);
         }
     }
@@ -590,6 +592,15 @@
             mDeviceListRecyclerView.setVisibility(View.VISIBLE);
         }
 
+        // Set accessibility action for mCancelScanLayout (wraps mButtonCancelScan) for TalkBack.
+        mButtonCancelScan.setAccessibilityDelegate(new View.AccessibilityDelegate() {
+            public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
+                super.onInitializeAccessibilityNodeInfo(host, info);
+                info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_CLICK);
+            }
+        });
+
+
         mSummary.setVisibility(View.GONE);
         mButtonAllow.setVisibility(View.GONE);
         mButtonNotAllow.setVisibility(View.GONE);
@@ -670,10 +681,30 @@
 
     private void onPositiveButtonClick(View v) {
         Slog.d(TAG, "onPositiveButtonClick()");
+        // Scroll the permission list when a user presses the `Allow` button.
+        if (mPermissionListRecyclerView != null
+                && mPermissionListRecyclerView.isVisibleToUser()
+                && !mIsPermissionsListScrolledToBottom) {
+            LinearLayoutManager layoutManager =
+                    (LinearLayoutManager) mPermissionListRecyclerView.getLayoutManager();
+            if (layoutManager == null) return;
 
+            int lastVisibleItemPosition = layoutManager.findLastCompletelyVisibleItemPosition();
+            int firstVisibleItemPosition = layoutManager.findFirstCompletelyVisibleItemPosition();
+            int scrollOffset = lastVisibleItemPosition - firstVisibleItemPosition;
+            int numItems = mPermissionListRecyclerView.getAdapter().getItemCount();
+
+            // Calculate the next scroll position with the offset
+            int nextScrollPosition = Math.min(
+                    lastVisibleItemPosition + scrollOffset + 1, numItems - 1);
+            mPermissionListRecyclerView.smoothScrollToPosition(nextScrollPosition);
+
+            return;
+        }
         // Disable the button, to prevent more clicks.
         v.setEnabled(false);
 
+        // Approved the association creation if the list is scrolled to the bottom.
         if (mRequest.isSelfManaged()) {
             onAssociationApproved(null);
         } else {
@@ -774,31 +805,48 @@
         }
     }
 
-    // Disable and grey out the Allow and Don't allow buttons if the last permission in the
+    // 1. Disable and grey out the Don't allow button if the last permission in the
     // permission list is not visible to the users.
+    // 2. Remove the text for Allow button.
+    // 3. Set the background that includes the downward arrow icon.
     private void disableButtons() {
-        mButtonAllow.setEnabled(false);
+        mButtonAllow.setText("");
+        mButtonAllow.setBackgroundResource(R.drawable.btn_positive_button_with_arrow);
+        mButtonAllow.setContentDescription("");
+        mButtonAllow.setAccessibilityDelegate(new View.AccessibilityDelegate() {
+            public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
+                super.onInitializeAccessibilityNodeInfo(host, info);
+                info.setContentDescription(getString(R.string.downward_arrow));
+                info.addAction(
+                        new AccessibilityNodeInfo.AccessibilityAction(
+                                AccessibilityNodeInfo.ACTION_CLICK,
+                                getString(R.string.downward_arrow_action)
+                        )
+                );
+            }
+        });
+
         mButtonNotAllow.setEnabled(false);
-        mButtonAllow.setTextColor(
-                getResources().getColor(android.R.color.system_neutral1_400, null));
         mButtonNotAllow.setTextColor(
                 getResources().getColor(android.R.color.system_neutral1_400, null));
-        mButtonAllow.getBackground().setColorFilter(
-                (new BlendModeColorFilter(Color.LTGRAY,  BlendMode.DARKEN)));
         mButtonNotAllow.getBackground().setColorFilter(
                 (new BlendModeColorFilter(Color.LTGRAY,  BlendMode.DARKEN)));
     }
-    // Enable and restore the color for the Allow and Don't allow buttons if the last permission in
-    // the permission list is visible to the users.
+    // 1.Enable and restore the color for the Allow and Don't allow buttons if the
+    // last permission in the permission list is visible to the users.
+    // 2. Re-set the background for the Allow button which remove the downward arrow icon.
     private void enableButtons() {
-        mButtonAllow.setEnabled(true);
+        mButtonAllow.setText(R.string.consent_yes);
+        mButtonAllow.setBackgroundResource(R.drawable.btn_positive_button);
+        mButtonAllow.setContentDescription(getString(R.string.consent_yes));
+        mButtonAllow.setAccessibilityDelegate(null);
+
         mButtonNotAllow.setEnabled(true);
-        mButtonAllow.getBackground().setColorFilter(null);
         mButtonNotAllow.getBackground().setColorFilter(null);
-        mButtonAllow.setTextColor(
-                getResources().getColor(android.R.color.system_neutral1_900, null));
         mButtonNotAllow.setTextColor(
                 getResources().getColor(android.R.color.system_neutral1_900, null));
+
+        mIsPermissionsListScrolledToBottom = true;
     }
 
     private final ResultReceiver mOnAssociationCreatedReceiver =
diff --git a/packages/CredentialManager/res/values-sv/strings.xml b/packages/CredentialManager/res/values-sv/strings.xml
index cab499a..4bdd408 100644
--- a/packages/CredentialManager/res/values-sv/strings.xml
+++ b/packages/CredentialManager/res/values-sv/strings.xml
@@ -93,6 +93,6 @@
     <string name="get_dialog_heading_from_another_device" msgid="1166697017046724072">"Via en annan enhet"</string>
     <string name="get_dialog_option_headline_use_a_different_device" msgid="8201578814988047549">"Använd en annan enhet"</string>
     <string name="request_cancelled_by" msgid="3735222326886267820">"Begäran avbruten av <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="dropdown_presentation_more_sign_in_options_text" msgid="1693727354272417902">"Inloggningsalternativ"</string>
+    <string name="dropdown_presentation_more_sign_in_options_text" msgid="1693727354272417902">"Inloggnings­alternativ"</string>
     <string name="more_options_content_description" msgid="1323427365788198808">"Mer"</string>
 </resources>
diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v31/non_collapsing_toolbar_base_layout.xml b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v31/non_collapsing_toolbar_base_layout.xml
index 1e48443..a49f4be 100644
--- a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v31/non_collapsing_toolbar_base_layout.xml
+++ b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v31/non_collapsing_toolbar_base_layout.xml
@@ -19,7 +19,8 @@
     android:id="@+id/content_parent"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:fitsSystemWindows="true">
+    android:fitsSystemWindows="true"
+    android:filterTouchesWhenObscured="false">
 
     <include layout="@layout/non_collapsing_toolbar_content_layout"/>
 </androidx.coordinatorlayout.widget.CoordinatorLayout>
diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v36/settingslib_expressive_collapsing_toolbar_content_layout.xml b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v36/settingslib_expressive_collapsing_toolbar_content_layout.xml
index 6221659..3db0ac6 100644
--- a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v36/settingslib_expressive_collapsing_toolbar_content_layout.xml
+++ b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v36/settingslib_expressive_collapsing_toolbar_content_layout.xml
@@ -41,6 +41,7 @@
                 android:id="@+id/action_bar"
                 android:layout_width="match_parent"
                 android:layout_height="?attr/actionBarSize"
+                android:layout_marginStart="@dimen/settingslib_expressive_space_extrasmall4"
                 android:theme="?android:attr/actionBarTheme"
                 android:transitionName="shared_element_view"
                 app:layout_collapseMode="pin"/>
diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarDelegate.java b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarDelegate.java
index 01ecb66..de0d609 100644
--- a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarDelegate.java
+++ b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarDelegate.java
@@ -89,6 +89,10 @@
 
     private boolean mIsExpressiveTheme;
 
+    public CollapsingToolbarDelegate(@NonNull HostCallback hostCallback) {
+        this(hostCallback, /* useCollapsingToolbar= */ true);
+    }
+
     public CollapsingToolbarDelegate(@NonNull HostCallback hostCallback,
             boolean useCollapsingToolbar) {
         mHostCallback = hostCallback;
diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/widget/CollapsingCoordinatorLayout.java b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/widget/CollapsingCoordinatorLayout.java
index 51d7504..25d0400 100644
--- a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/widget/CollapsingCoordinatorLayout.java
+++ b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/widget/CollapsingCoordinatorLayout.java
@@ -105,6 +105,7 @@
         return true;
     }
 
+    @SuppressWarnings("RestrictTo")
     private void init() {
         int resId = SettingsThemeHelper.isExpressiveTheme(getContext())
                 ? R.layout.settingslib_expressive_collapsing_toolbar_content_layout
diff --git a/packages/SettingsLib/IntroPreference/src/com/android/settingslib/widget/IntroPreference.kt b/packages/SettingsLib/IntroPreference/src/com/android/settingslib/widget/IntroPreference.kt
index 9d037e9..806580b 100644
--- a/packages/SettingsLib/IntroPreference/src/com/android/settingslib/widget/IntroPreference.kt
+++ b/packages/SettingsLib/IntroPreference/src/com/android/settingslib/widget/IntroPreference.kt
@@ -17,20 +17,20 @@
 package com.android.settingslib.widget
 
 import android.content.Context
-import android.os.Build
 import android.text.TextUtils
 import android.util.AttributeSet
 import android.view.View
-import androidx.annotation.RequiresApi
 import androidx.preference.Preference
 import androidx.preference.PreferenceViewHolder
 import com.android.settingslib.widget.preference.intro.R
 
-class IntroPreference @JvmOverloads constructor(
+class IntroPreference
+@JvmOverloads
+constructor(
     context: Context,
     attrs: AttributeSet? = null,
     defStyleAttr: Int = 0,
-    defStyleRes: Int = 0
+    defStyleRes: Int = 0,
 ) : Preference(context, attrs, defStyleAttr, defStyleRes), GroupSectionDividerMixin {
 
     private var isCollapsable: Boolean = true
@@ -66,9 +66,9 @@
 
     /**
      * Sets whether the summary is collapsable.
+     *
      * @param collapsable True if the summary should be collapsable, false otherwise.
      */
-    @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM)
     fun setCollapsable(collapsable: Boolean) {
         isCollapsable = collapsable
         minLines = if (isCollapsable) DEFAULT_MIN_LINES else DEFAULT_MAX_LINES
@@ -77,9 +77,9 @@
 
     /**
      * Sets the minimum number of lines to display when collapsed.
+     *
      * @param lines The minimum number of lines.
      */
-    @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM)
     fun setMinLines(lines: Int) {
         minLines = lines.coerceIn(1, DEFAULT_MAX_LINES)
         notifyChanged()
@@ -87,9 +87,9 @@
 
     /**
      * Sets the action when clicking on the hyperlink in the text.
+     *
      * @param listener The click listener for hyperlink.
      */
-    @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM)
     fun setHyperlinkListener(listener: View.OnClickListener) {
         if (hyperlinkListener != listener) {
             hyperlinkListener = listener
@@ -99,9 +99,9 @@
 
     /**
      * Sets the action when clicking on the learn more view.
+     *
      * @param listener The click listener for learn more.
      */
-    @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM)
     fun setLearnMoreAction(listener: View.OnClickListener) {
         if (learnMoreListener != listener) {
             learnMoreListener = listener
@@ -111,9 +111,9 @@
 
     /**
      * Sets the text of learn more view.
+     *
      * @param text The text of learn more.
      */
-    @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM)
     fun setLearnMoreText(text: CharSequence) {
         if (!TextUtils.equals(learnMoreText, text)) {
             learnMoreText = text
diff --git a/packages/SettingsLib/OWNERS b/packages/SettingsLib/OWNERS
index 04df308..7348920 100644
--- a/packages/SettingsLib/OWNERS
+++ b/packages/SettingsLib/OWNERS
@@ -8,6 +8,7 @@
 evanlaird@google.com
 jiannan@google.com
 juliacr@google.com
+millchen@google.com
 ykhung@google.com
 
 # Exempt resource files (because they are in a flat directory and too hard to manage via OWNERS)
diff --git a/packages/SettingsLib/Preference/src/com/android/settingslib/preference/PreferenceScreenBindingHelper.kt b/packages/SettingsLib/Preference/src/com/android/settingslib/preference/PreferenceScreenBindingHelper.kt
index 1cb8005..02bef9f 100644
--- a/packages/SettingsLib/Preference/src/com/android/settingslib/preference/PreferenceScreenBindingHelper.kt
+++ b/packages/SettingsLib/Preference/src/com/android/settingslib/preference/PreferenceScreenBindingHelper.kt
@@ -59,8 +59,6 @@
     private val preferenceHierarchy: PreferenceHierarchy,
 ) : KeyedDataObservable<String>() {
 
-    private val mainExecutor = HandlerExecutor.main
-
     private val preferenceLifecycleContext =
         object : PreferenceLifecycleContext(context) {
             override val lifecycleScope: LifecycleCoroutineScope
@@ -88,11 +86,11 @@
     private val preferences: ImmutableMap<String, PreferenceHierarchyNode>
     private val dependencies: ImmutableMultimap<String, String>
     private val lifecycleAwarePreferences: Array<PreferenceLifecycleProvider>
-    private val storages = mutableMapOf<String, KeyedObservable<String>>()
+    private val observables = mutableMapOf<String, KeyedObservable<String>>()
 
     private val preferenceObserver: KeyedObserver<String?>
 
-    private val storageObserver =
+    private val observer =
         KeyedObserver<String> { key, reason ->
             if (DataChangeReason.isDataChange(reason)) {
                 notifyChange(key, PreferenceChangeReason.VALUE)
@@ -133,15 +131,19 @@
         this.dependencies = dependenciesBuilder.build()
         this.lifecycleAwarePreferences = lifecycleAwarePreferences.toTypedArray()
 
+        val executor = HandlerExecutor.main
         preferenceObserver = KeyedObserver { key, reason -> onPreferenceChange(key, reason) }
-        addObserver(preferenceObserver, mainExecutor)
+        addObserver(preferenceObserver, executor)
 
         preferenceScreen.forEachRecursively {
-            it.preferenceDataStore?.findKeyValueStore()?.let { keyValueStore ->
-                val key = it.key
-                storages[key] = keyValueStore
-                keyValueStore.addObserver(key, storageObserver, mainExecutor)
-            }
+            val key = it.key ?: return@forEachRecursively
+            @Suppress("UNCHECKED_CAST")
+            val observable =
+                it.preferenceDataStore?.findKeyValueStore()
+                    ?: (preferences[key]?.metadata as? KeyedObservable<String>)
+                    ?: return@forEachRecursively
+            observables[key] = observable
+            observable.addObserver(key, observer, executor)
         }
     }
 
@@ -212,7 +214,7 @@
 
     fun onDestroy() {
         removeObserver(preferenceObserver)
-        for ((key, storage) in storages) storage.removeObserver(key, storageObserver)
+        for ((key, observable) in observables) observable.removeObserver(key, observer)
         for (preference in lifecycleAwarePreferences) {
             preference.onDestroy(preferenceLifecycleContext)
         }
diff --git a/packages/SettingsLib/SelectorWithWidgetPreference/res/layout-v36/preference_selector_with_widget.xml b/packages/SettingsLib/SelectorWithWidgetPreference/res/layout-v36/preference_selector_with_widget.xml
new file mode 100644
index 0000000..a79d69d
--- /dev/null
+++ b/packages/SettingsLib/SelectorWithWidgetPreference/res/layout-v36/preference_selector_with_widget.xml
@@ -0,0 +1,128 @@
+<?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.
+  -->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="?android:attr/selectableItemBackground"
+    android:gravity="center_vertical"
+    android:minHeight="?android:attr/listPreferredItemHeightSmall"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+
+    <LinearLayout
+        android:id="@android:id/widget_frame"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:paddingEnd="@dimen/settingslib_expressive_space_extrasmall6"
+        android:gravity="center"
+        android:minWidth="32dp"
+        android:orientation="vertical"/>
+
+    <LinearLayout
+        android:id="@+id/icon_frame"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical"
+        android:minWidth="32dp"
+        android:orientation="horizontal"
+        android:layout_marginEnd="@dimen/settingslib_expressive_space_small1"
+        android:paddingTop="@dimen/settingslib_expressive_space_extrasmall2"
+        android:paddingBottom="@dimen/settingslib_expressive_space_extrasmall2">
+        <androidx.preference.internal.PreferenceImageView
+            android:id="@android:id/icon"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            settings:maxWidth="@dimen/secondary_app_icon_size"
+            settings:maxHeight="@dimen/secondary_app_icon_size"/>
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:orientation="vertical"
+        android:paddingTop="@dimen/settingslib_expressive_space_small1"
+        android:paddingBottom="@dimen/settingslib_expressive_space_small1"
+        android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+
+        <TextView
+            android:id="@android:id/title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:maxLines="2"
+            android:ellipsize="end"
+            android:hyphenationFrequency="normalFast"
+            android:lineBreakWordStyle="phrase"
+            android:textAppearance="?android:attr/textAppearanceListItem"/>
+
+        <LinearLayout
+            android:id="@+id/summary_container"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:visibility="gone">
+            <TextView
+                android:id="@android:id/summary"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:textAppearance="?android:attr/textAppearanceSmall"
+                android:textAlignment="viewStart"
+                android:hyphenationFrequency="normalFast"
+                android:lineBreakWordStyle="phrase"
+                android:textColor="?android:attr/textColorSecondary"/>
+
+            <TextView
+                android:id="@+id/appendix"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:textAppearance="?android:attr/textAppearanceSmall"
+                android:textAlignment="viewEnd"
+                android:textColor="?android:attr/textColorSecondary"
+                android:maxLines="1"
+                android:visibility="gone"
+                android:ellipsize="end"/>
+        </LinearLayout>
+    </LinearLayout>
+
+    <LinearLayout
+        android:id="@+id/selector_extra_widget_container"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:orientation="horizontal"
+        android:gravity="center_vertical">
+        <View
+            android:layout_width=".75dp"
+            android:layout_height="32dp"
+            android:layout_marginTop="@dimen/settingslib_expressive_space_small1"
+            android:layout_marginBottom="@dimen/settingslib_expressive_space_small1"
+            android:background="?android:attr/dividerVertical"/>
+        <ImageView
+            android:id="@+id/selector_extra_widget"
+            android:layout_width="match_parent"
+            android:minWidth="@dimen/two_target_min_width"
+            android:layout_height="fill_parent"
+            android:src="@drawable/ic_settings_accent"
+            android:contentDescription="@string/settings_label"
+            android:paddingStart="@dimen/settingslib_expressive_space_small4"
+            android:paddingEnd="@dimen/settingslib_expressive_space_small4"
+            android:layout_gravity="center"
+            android:background="?android:attr/selectableItemBackground"/>
+    </LinearLayout>
+</LinearLayout>
diff --git a/packages/SettingsLib/SelectorWithWidgetPreference/res/layout/preference_widget_checkbox.xml b/packages/SettingsLib/SelectorWithWidgetPreference/res/layout/settingslib_preference_widget_checkbox.xml
similarity index 100%
rename from packages/SettingsLib/SelectorWithWidgetPreference/res/layout/preference_widget_checkbox.xml
rename to packages/SettingsLib/SelectorWithWidgetPreference/res/layout/settingslib_preference_widget_checkbox.xml
diff --git a/packages/SettingsLib/SelectorWithWidgetPreference/res/layout/preference_widget_radiobutton.xml b/packages/SettingsLib/SelectorWithWidgetPreference/res/layout/settingslib_preference_widget_radiobutton.xml
similarity index 100%
rename from packages/SettingsLib/SelectorWithWidgetPreference/res/layout/preference_widget_radiobutton.xml
rename to packages/SettingsLib/SelectorWithWidgetPreference/res/layout/settingslib_preference_widget_radiobutton.xml
diff --git a/packages/SettingsLib/SelectorWithWidgetPreference/src/com/android/settingslib/widget/SelectorWithWidgetPreference.java b/packages/SettingsLib/SelectorWithWidgetPreference/src/com/android/settingslib/widget/SelectorWithWidgetPreference.java
index 218983a..cde8b33 100644
--- a/packages/SettingsLib/SelectorWithWidgetPreference/src/com/android/settingslib/widget/SelectorWithWidgetPreference.java
+++ b/packages/SettingsLib/SelectorWithWidgetPreference/src/com/android/settingslib/widget/SelectorWithWidgetPreference.java
@@ -234,9 +234,9 @@
     private void init(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr,
             int defStyleRes) {
         if (mIsCheckBox) {
-            setWidgetLayoutResource(R.layout.preference_widget_checkbox);
+            setWidgetLayoutResource(R.layout.settingslib_preference_widget_checkbox);
         } else {
-            setWidgetLayoutResource(R.layout.preference_widget_radiobutton);
+            setWidgetLayoutResource(R.layout.settingslib_preference_widget_radiobutton);
         }
         setLayoutResource(R.layout.preference_selector_with_widget);
         setIconSpaceReserved(false);
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background.xml
index 9aa0bc3..0446873 100644
--- a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background.xml
+++ b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background.xml
@@ -19,16 +19,12 @@
     android:color="?android:colorControlHighlight">
     <item
         android:start="?android:attr/listPreferredItemPaddingStart"
-        android:end="?android:attr/listPreferredItemPaddingEnd"
-        android:top="2dp"
-        android:bottom="16dp">
+        android:end="?android:attr/listPreferredItemPaddingEnd">
         <shape android:shape="rectangle">
             <solid
                 android:color="@color/settingslib_materialColorSurfaceBright" />
             <corners
                 android:radius="@dimen/settingslib_preference_corner_radius" />
-            <padding
-                android:bottom="16dp"/>
         </shape>
     </item>
-</ripple>
\ No newline at end of file
+</ripple>
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom.xml
index 554cba5..25a936d 100644
--- a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom.xml
+++ b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom.xml
@@ -19,9 +19,7 @@
     android:color="?android:colorControlHighlight">
     <item
         android:start="?android:attr/listPreferredItemPaddingStart"
-        android:end="?android:attr/listPreferredItemPaddingEnd"
-        android:top="2dp"
-        android:bottom="16dp">
+        android:end="?android:attr/listPreferredItemPaddingEnd">
         <shape android:shape="rectangle">
             <solid
                 android:color="@color/settingslib_materialColorSurfaceBright" />
@@ -30,8 +28,6 @@
                 android:bottomLeftRadius="@dimen/settingslib_preference_corner_radius"
                 android:topRightRadius="4dp"
                 android:bottomRightRadius="@dimen/settingslib_preference_corner_radius" />
-            <padding
-                android:bottom="16dp"/>
         </shape>
     </item>
-</ripple>
\ No newline at end of file
+</ripple>
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom_highlighted.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom_highlighted.xml
index c0c0869..db2800e 100644
--- a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom_highlighted.xml
+++ b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom_highlighted.xml
@@ -19,8 +19,7 @@
     <item
         android:bottom="16dp"
         android:end="?android:attr/listPreferredItemPaddingEnd"
-        android:start="?android:attr/listPreferredItemPaddingStart"
-        android:top="2dp">
+        android:start="?android:attr/listPreferredItemPaddingStart">
         <shape
             android:shape="rectangle"
             android:tint="?android:attr/colorAccent">
@@ -29,8 +28,7 @@
                 android:bottomRightRadius="@dimen/settingslib_preference_corner_radius"
                 android:topLeftRadius="4dp"
                 android:topRightRadius="4dp" />
-            <padding android:bottom="16dp" />
             <solid android:color="#42000000" />
         </shape>
     </item>
-</ripple>
\ No newline at end of file
+</ripple>
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom_selected.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom_selected.xml
index 543b237..98f95d92 100644
--- a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom_selected.xml
+++ b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom_selected.xml
@@ -19,9 +19,7 @@
     android:color="?android:colorControlHighlight">
     <item
         android:start="?android:attr/listPreferredItemPaddingStart"
-        android:end="?android:attr/listPreferredItemPaddingEnd"
-        android:top="2dp"
-        android:bottom="16dp">
+        android:end="?android:attr/listPreferredItemPaddingEnd">
         <shape android:shape="rectangle">
             <solid
                 android:color="@color/settingslib_materialColorSurfaceContainer" />
@@ -30,8 +28,6 @@
                 android:bottomLeftRadius="@dimen/settingslib_preference_corner_radius"
                 android:topRightRadius="4dp"
                 android:bottomRightRadius="@dimen/settingslib_preference_corner_radius" />
-            <padding
-                android:bottom="16dp"/>
         </shape>
     </item>
-</ripple>
\ No newline at end of file
+</ripple>
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center.xml
index b89a0dd..c4286fd 100644
--- a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center.xml
+++ b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center.xml
@@ -19,8 +19,7 @@
     android:color="?android:colorControlHighlight">
     <item
         android:start="?android:attr/listPreferredItemPaddingStart"
-        android:end="?android:attr/listPreferredItemPaddingEnd"
-        android:top="2dp">
+        android:end="?android:attr/listPreferredItemPaddingEnd">
         <shape android:shape="rectangle">
             <solid
                 android:color="@color/settingslib_materialColorSurfaceBright" />
@@ -28,4 +27,4 @@
                 android:radius="4dp" />
         </shape>
     </item>
-</ripple>
\ No newline at end of file
+</ripple>
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center_highlighted.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center_highlighted.xml
index 8099d9b..194cdb0 100644
--- a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center_highlighted.xml
+++ b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center_highlighted.xml
@@ -18,8 +18,7 @@
     android:color="?android:colorControlHighlight">
     <item
         android:end="?android:attr/listPreferredItemPaddingEnd"
-        android:start="?android:attr/listPreferredItemPaddingStart"
-        android:top="2dp">
+        android:start="?android:attr/listPreferredItemPaddingStart">
         <shape
             android:shape="rectangle"
             android:tint="?android:attr/colorAccent">
@@ -27,4 +26,4 @@
             <solid android:color="#42000000" />
         </shape>
     </item>
-</ripple>
\ No newline at end of file
+</ripple>
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center_selected.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center_selected.xml
index 6d2cd1a..8bc2f2f 100644
--- a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center_selected.xml
+++ b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center_selected.xml
@@ -19,8 +19,7 @@
     android:color="?android:colorControlHighlight">
     <item
         android:start="?android:attr/listPreferredItemPaddingStart"
-        android:end="?android:attr/listPreferredItemPaddingEnd"
-        android:top="2dp">
+        android:end="?android:attr/listPreferredItemPaddingEnd">
         <shape android:shape="rectangle">
             <solid
                 android:color="@color/settingslib_materialColorSurfaceContainer" />
@@ -28,4 +27,4 @@
                 android:radius="4dp" />
         </shape>
     </item>
-</ripple>
\ No newline at end of file
+</ripple>
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_highlighted.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_highlighted.xml
index a119a4a..2341661 100644
--- a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_highlighted.xml
+++ b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_highlighted.xml
@@ -19,14 +19,12 @@
     <item
         android:bottom="16dp"
         android:end="?android:attr/listPreferredItemPaddingEnd"
-        android:start="?android:attr/listPreferredItemPaddingStart"
-        android:top="2dp">
+        android:start="?android:attr/listPreferredItemPaddingStart">
         <shape
             android:shape="rectangle"
             android:tint="?android:attr/colorAccent">
             <corners android:radius="@dimen/settingslib_preference_corner_radius" />
-            <padding android:bottom="16dp" />
             <solid android:color="#42000000" />
         </shape>
     </item>
-</ripple>
\ No newline at end of file
+</ripple>
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_selected.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_selected.xml
index bcdbf1d..99704f2d 100644
--- a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_selected.xml
+++ b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_selected.xml
@@ -19,16 +19,12 @@
     android:color="?android:colorControlHighlight">
     <item
         android:start="?android:attr/listPreferredItemPaddingStart"
-        android:end="?android:attr/listPreferredItemPaddingEnd"
-        android:top="2dp"
-        android:bottom="16dp">
+        android:end="?android:attr/listPreferredItemPaddingEnd">
         <shape android:shape="rectangle">
             <solid
                 android:color="@color/settingslib_materialColorSurfaceContainer" />
             <corners
                 android:radius="@dimen/settingslib_preference_corner_radius" />
-            <padding
-                android:bottom="16dp"/>
         </shape>
     </item>
-</ripple>
\ No newline at end of file
+</ripple>
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top.xml
index 7955e44..3a59386 100644
--- a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top.xml
+++ b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top.xml
@@ -19,8 +19,7 @@
     android:color="?android:colorControlHighlight">
     <item
         android:start="?android:attr/listPreferredItemPaddingStart"
-        android:end="?android:attr/listPreferredItemPaddingEnd"
-        android:top="2dp">
+        android:end="?android:attr/listPreferredItemPaddingEnd">
         <shape android:shape="rectangle">
             <solid
                 android:color="@color/settingslib_materialColorSurfaceBright" />
@@ -31,4 +30,4 @@
                 android:bottomRightRadius="4dp" />
         </shape>
     </item>
-</ripple>
\ No newline at end of file
+</ripple>
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top_highlighted.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top_highlighted.xml
index 052eb01..edace29 100644
--- a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top_highlighted.xml
+++ b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top_highlighted.xml
@@ -19,8 +19,7 @@
     <item
         android:color="?android:attr/colorAccent"
         android:end="?android:attr/listPreferredItemPaddingEnd"
-        android:start="?android:attr/listPreferredItemPaddingStart"
-        android:top="2dp">
+        android:start="?android:attr/listPreferredItemPaddingStart">
         <shape
             android:shape="rectangle"
             android:tint="?android:attr/colorAccent">
@@ -32,4 +31,4 @@
             <solid android:color="#42000000" />
         </shape>
     </item>
-</ripple>
\ No newline at end of file
+</ripple>
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top_selected.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top_selected.xml
index d4b658c..b2d6d9d 100644
--- a/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top_selected.xml
+++ b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top_selected.xml
@@ -19,8 +19,7 @@
     android:color="?android:colorControlHighlight">
     <item
         android:start="?android:attr/listPreferredItemPaddingStart"
-        android:end="?android:attr/listPreferredItemPaddingEnd"
-        android:top="2dp">
+        android:end="?android:attr/listPreferredItemPaddingEnd">
         <shape android:shape="rectangle">
             <solid
                 android:color="@color/settingslib_materialColorSurfaceContainer" />
@@ -31,4 +30,4 @@
                 android:bottomRightRadius="4dp" />
         </shape>
     </item>
-</ripple>
\ No newline at end of file
+</ripple>
diff --git a/packages/SettingsLib/SettingsTheme/res/values-v31/themes.xml b/packages/SettingsLib/SettingsTheme/res/values-v31/themes.xml
index 3ccbbc0..2d6b6cf 100644
--- a/packages/SettingsLib/SettingsTheme/res/values-v31/themes.xml
+++ b/packages/SettingsLib/SettingsTheme/res/values-v31/themes.xml
@@ -28,6 +28,7 @@
         <item name="switchStyle">@style/SwitchCompat.SettingsLib</item>
         <item name="android:progressBarStyleHorizontal">@style/HorizontalProgressBar.SettingsLib</item>
         <item name="android:listDivider">@drawable/settingslib_list_divider</item>
+        <item name="android:colorBackground">@color/settingslib_materialColorSurfaceContainerLowest</item>
     </style>
 
     <style name="Theme.SettingsBase" parent="Theme.SettingsBase_v31" />
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/util/MediaSmartspaceLoggerKosmos.kt b/packages/SettingsLib/SettingsTheme/src/com/android/settingslib/widget/NormalPaddingMixin.kt
similarity index 66%
rename from packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/util/MediaSmartspaceLoggerKosmos.kt
rename to packages/SettingsLib/SettingsTheme/src/com/android/settingslib/widget/NormalPaddingMixin.kt
index c63dec5..5035542 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/util/MediaSmartspaceLoggerKosmos.kt
+++ b/packages/SettingsLib/SettingsTheme/src/com/android/settingslib/widget/NormalPaddingMixin.kt
@@ -14,10 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.systemui.media.controls.util
+package com.android.settingslib.widget
 
-import com.android.systemui.kosmos.Kosmos
-import org.mockito.Mockito.mock
-
-var Kosmos.mediaSmartspaceLogger by Kosmos.Fixture { MediaSmartspaceLogger() }
-val Kosmos.mockMediaSmartspaceLogger by Kosmos.Fixture { mock(MediaSmartspaceLogger::class.java) }
+/**
+ * A base interface to indicate that a Preference should have normal paddings.
+ *
+ * Preferences implementing this interface will be treated as has normal paddings both inside and
+ * outside.
+ */
+interface NormalPaddingMixin
\ No newline at end of file
diff --git a/packages/SettingsLib/SettingsTheme/src/com/android/settingslib/widget/SettingsBasePreferenceFragment.kt b/packages/SettingsLib/SettingsTheme/src/com/android/settingslib/widget/SettingsBasePreferenceFragment.kt
index 8d12f01..22cd873 100644
--- a/packages/SettingsLib/SettingsTheme/src/com/android/settingslib/widget/SettingsBasePreferenceFragment.kt
+++ b/packages/SettingsLib/SettingsTheme/src/com/android/settingslib/widget/SettingsBasePreferenceFragment.kt
@@ -16,6 +16,7 @@
 
 package com.android.settingslib.widget
 
+import android.graphics.Rect
 import android.os.Bundle
 import android.view.LayoutInflater;
 import android.view.View
@@ -24,6 +25,7 @@
 import androidx.preference.PreferenceFragmentCompat
 import androidx.preference.PreferenceScreen
 import androidx.recyclerview.widget.RecyclerView
+import com.android.settingslib.widget.theme.R
 
 /** Base class for Settings to use PreferenceFragmentCompat */
 abstract class SettingsBasePreferenceFragment : PreferenceFragmentCompat() {
@@ -43,6 +45,7 @@
         if (SettingsThemeHelper.isExpressiveTheme(requireContext())) {
             // Don't allow any divider in between the preferences in expressive design.
             setDivider(null)
+            this.listView.addItemDecoration(MarginItemDecoration())
         }
     }
 
@@ -51,4 +54,18 @@
             return SettingsPreferenceGroupAdapter(preferenceScreen)
         return super.onCreateAdapter(preferenceScreen)
     }
+
+    internal class MarginItemDecoration() : RecyclerView.ItemDecoration() {
+        override fun getItemOffsets(
+            outRect: Rect,
+            view: View,
+            parent: RecyclerView,
+            state: RecyclerView.State,
+        ) {
+            with(outRect) {
+                bottom =
+                    view.resources.getDimensionPixelSize(R.dimen.settingslib_expressive_radius_extrasmall1)
+            }
+        }
+  }
 }
diff --git a/packages/SettingsLib/SettingsTheme/src/com/android/settingslib/widget/SettingsPreferenceGroupAdapter.kt b/packages/SettingsLib/SettingsTheme/src/com/android/settingslib/widget/SettingsPreferenceGroupAdapter.kt
index a04fce7..2672787 100644
--- a/packages/SettingsLib/SettingsTheme/src/com/android/settingslib/widget/SettingsPreferenceGroupAdapter.kt
+++ b/packages/SettingsLib/SettingsTheme/src/com/android/settingslib/widget/SettingsPreferenceGroupAdapter.kt
@@ -177,14 +177,32 @@
         val v = holder.itemView
         // Update padding
         if (SettingsThemeHelper.isExpressiveTheme(context)) {
-            val paddingStart = if (backgroundRes == 0) mNormalPaddingStart else mGroupPaddingStart
-            val paddingEnd = if (backgroundRes == 0) mNormalPaddingEnd else mGroupPaddingEnd
+            val (paddingStart, paddingEnd) = getStartEndPadding(position, backgroundRes)
             v.setPaddingRelative(paddingStart, v.paddingTop, paddingEnd, v.paddingBottom)
+            v.clipToOutline = backgroundRes != 0
         }
         // Update background
         v.setBackgroundResource(backgroundRes)
     }
 
+    private fun getStartEndPadding(position: Int, backgroundRes: Int): Pair<Int, Int> {
+        val item = getItem(position)
+        return when {
+            // This item handles edge to edge itself
+            item is NormalPaddingMixin && item is GroupSectionDividerMixin -> 0 to 0
+
+            // According to mappingPreferenceGroup(), backgroundRes == 0 means this item is
+            // GroupSectionDividerMixin or PreferenceCategory, which is design to have normal
+            // padding.
+            // NormalPaddingMixin items are also designed to have normal padding.
+            backgroundRes == 0 || item is NormalPaddingMixin ->
+                mNormalPaddingStart to mNormalPaddingEnd
+
+            // Other items are suppose to have group padding.
+            else -> mGroupPaddingStart to mGroupPaddingEnd
+        }
+    }
+
     @DrawableRes
     protected fun getRoundCornerDrawableRes(position: Int, isSelected: Boolean): Int {
         return getRoundCornerDrawableRes(position, isSelected, false)
diff --git a/packages/SettingsLib/SettingsTheme/src/com/android/settingslib/widget/SettingsThemeHelper.kt b/packages/SettingsLib/SettingsTheme/src/com/android/settingslib/widget/SettingsThemeHelper.kt
index 1f4a48d..5bf8f60 100644
--- a/packages/SettingsLib/SettingsTheme/src/com/android/settingslib/widget/SettingsThemeHelper.kt
+++ b/packages/SettingsLib/SettingsTheme/src/com/android/settingslib/widget/SettingsThemeHelper.kt
@@ -52,7 +52,7 @@
     private fun tryInit(context: Context) {
         expressiveThemeState =
             if (
-                (Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM) &&
+                (Build.VERSION.SDK_INT > Build.VERSION_CODES.VANILLA_ICE_CREAM) &&
                         (getPropBoolean(context, IS_EXPRESSIVE_DESIGN_ENABLED, false) ||
                                 Flags.isExpressiveDesignEnabled())
             ) {
diff --git a/packages/SettingsLib/SliderPreference/src/com/android/settingslib/widget/SliderPreference.java b/packages/SettingsLib/SliderPreference/src/com/android/settingslib/widget/SliderPreference.java
index 4315238..fe8e8b6 100644
--- a/packages/SettingsLib/SliderPreference/src/com/android/settingslib/widget/SliderPreference.java
+++ b/packages/SettingsLib/SliderPreference/src/com/android/settingslib/widget/SliderPreference.java
@@ -22,6 +22,7 @@
 import android.content.res.TypedArray;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.text.TextUtils;
 import android.util.AttributeSet;
 import android.util.Log;
 import android.view.KeyEvent;
@@ -72,6 +73,7 @@
     private int mSliderIncrement;
     private boolean mAdjustable;
     private boolean mTrackingTouch;
+    private CharSequence mSliderContentDescription;
 
     /**
      * Listener reacting to the user pressing DPAD left/right keys if {@code
@@ -143,6 +145,7 @@
             @Nullable AttributeSet attrs, int defStyleAttr) {
         super(context, attrs, defStyleAttr);
         setLayoutResource(R.layout.settingslib_expressive_preference_slider);
+        setSelectable(false);
 
         TypedArray a = context.obtainStyledAttributes(
                 attrs, androidx.preference.R.styleable.SeekBarPreference, defStyleAttr,
@@ -265,6 +268,14 @@
         } else {
             mSliderIncrement = (int) (mSlider.getStepSize());
         }
+        final CharSequence title = getTitle();
+        if (!TextUtils.isEmpty(mSliderContentDescription)) {
+            mSlider.setContentDescription(mSliderContentDescription);
+        } else if (!TextUtils.isEmpty(title)) {
+            mSlider.setContentDescription(title);
+        } else {
+            mSlider.setContentDescription(null);
+        }
         mSlider.setValueFrom(mMin);
         mSlider.setValueTo(mMax);
         mSlider.setValue(mSliderValue);
@@ -273,6 +284,8 @@
         mSlider.clearOnChangeListeners();
         mSlider.addOnChangeListener(mChangeListener);
         mSlider.setEnabled(isEnabled());
+        mSlider.setFocusable(isSelectable());
+        mSlider.setClickable(isSelectable());
 
         // Set up slider color
         mSlider.setTrackActiveTintList(mTrackActiveColor);
@@ -471,6 +484,19 @@
         setValueInternal(sliderValue, true);
     }
 
+
+    /**
+     * Sets the content description of the {@link Slider}.
+     *
+     * @param contentDescription The content description of the {@link Slider}
+     */
+    public void setSliderContentDescription(@Nullable CharSequence contentDescription) {
+        mSliderContentDescription = contentDescription;
+        if (mSlider != null) {
+            mSlider.setContentDescription(contentDescription);
+        }
+    }
+
     @Override
     protected void onSetInitialValue(@Nullable Object defaultValue) {
         if (defaultValue == null) {
diff --git a/packages/SettingsLib/Spa/OWNERS b/packages/SettingsLib/Spa/OWNERS
index 67386d1..d2941de 100644
--- a/packages/SettingsLib/Spa/OWNERS
+++ b/packages/SettingsLib/Spa/OWNERS
@@ -1,9 +1,6 @@
 include platform/frameworks/base:/packages/SettingsLib/OWNERS
 
+zhibinliu@google.com
 chaohuiw@google.com
-hanxu@google.com
-kellyz@google.com
 pierreqian@google.com
-lijun@google.com
-songchenxi@google.com
-cyl@google.com
+lijun@google.com
\ No newline at end of file
diff --git a/packages/SettingsLib/Spa/build.gradle.kts b/packages/SettingsLib/Spa/build.gradle.kts
index 5e72c43..50408190 100644
--- a/packages/SettingsLib/Spa/build.gradle.kts
+++ b/packages/SettingsLib/Spa/build.gradle.kts
@@ -28,7 +28,7 @@
 
 allprojects {
     extra["androidTop"] = androidTop
-    extra["jetpackComposeVersion"] = "1.8.0-alpha08"
+    extra["jetpackComposeVersion"] = "1.8.0-beta02"
 }
 
 subprojects {
diff --git a/packages/SettingsLib/Spa/gradle/libs.versions.toml b/packages/SettingsLib/Spa/gradle/libs.versions.toml
index 4113ad8..b074f4b 100644
--- a/packages/SettingsLib/Spa/gradle/libs.versions.toml
+++ b/packages/SettingsLib/Spa/gradle/libs.versions.toml
@@ -15,7 +15,7 @@
 #
 
 [versions]
-agp = "8.8.0"
+agp = "8.8.1"
 dexmaker-mockito = "2.28.3"
 jvm = "21"
 kotlin = "2.0.21"
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_landscape_actionButtons.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_landscape_actionButtons.png
index b2f3cf1..65418b9 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_landscape_actionButtons.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_landscape_actionButtons.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_landscape_mainSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_landscape_mainSwitchPreference.png
index 75c8e6e..c9091fb 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_landscape_mainSwitchPreference.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_landscape_mainSwitchPreference.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_landscape_spinner.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_landscape_spinner.png
index 06f0059..cdc1e79 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_landscape_spinner.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_landscape_spinner.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_actionButtons.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_actionButtons.png
index fa06927..614fbe9 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_actionButtons.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_actionButtons.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_imageIllustration.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_imageIllustration.png
index a5f3fa5..ce1257f 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_imageIllustration.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_imageIllustration.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_mainSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_mainSwitchPreference.png
index b72c8db..6b1233c 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_mainSwitchPreference.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_mainSwitchPreference.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_slider.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_slider.png
index 928e926..782957d 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_slider.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_slider.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_spinner.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_spinner.png
index 06f0059..cdc1e79 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_spinner.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/phone/light_portrait_spinner.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_actionButtons.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_actionButtons.png
index 63983ee..427f202 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_actionButtons.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_actionButtons.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_barChart.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_barChart.png
index 8fcc350..e372f7b 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_barChart.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_barChart.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_footer.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_footer.png
index c2f6165..1ed1efc 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_footer.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_footer.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_imageIllustration.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_imageIllustration.png
index f32d7421..6283dd1 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_imageIllustration.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_imageIllustration.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_lineChart.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_lineChart.png
index 6659d7c..a4eb19e 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_lineChart.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_lineChart.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_mainSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_mainSwitchPreference.png
index 15c86dc..bd1bb28 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_mainSwitchPreference.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_mainSwitchPreference.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_pieChart.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_pieChart.png
index 7b6e702..d0d5ac1 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_pieChart.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_pieChart.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_preference.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_preference.png
index cd44fb8..5cf7381 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_preference.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_preference.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_progressBar.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_progressBar.png
index d31f2c4..96f614c 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_progressBar.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_progressBar.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_slider.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_slider.png
index 8a2b800..3cbe715 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_slider.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_slider.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_spinner.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_spinner.png
index 5be3a21..f151798 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_spinner.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_spinner.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_switchPreference.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_switchPreference.png
index 9aee004..218e8e3 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_switchPreference.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_switchPreference.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_twoTargetSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_twoTargetSwitchPreference.png
index cc74aac..44b32e2 100644
--- a/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_twoTargetSwitchPreference.png
+++ b/packages/SettingsLib/Spa/screenshot/robotests/assets/tablet/dark_portrait_twoTargetSwitchPreference.png
Binary files differ
diff --git a/packages/SettingsLib/Spa/spa/build.gradle.kts b/packages/SettingsLib/Spa/spa/build.gradle.kts
index de1fa4e..7ce5b71 100644
--- a/packages/SettingsLib/Spa/spa/build.gradle.kts
+++ b/packages/SettingsLib/Spa/spa/build.gradle.kts
@@ -51,16 +51,15 @@
 
 dependencies {
     api(project(":SettingsLibColor"))
-    api(project(":SettingsLib:SettingsTheme"))
     api("androidx.appcompat:appcompat:1.7.0")
-    api("androidx.compose.material3:material3:1.4.0-alpha05")
+    api("androidx.compose.material3:material3:1.4.0-alpha08")
     api("androidx.compose.material:material-icons-extended")
     api("androidx.compose.runtime:runtime-livedata:$jetpackComposeVersion")
     api("androidx.compose.ui:ui-tooling-preview:$jetpackComposeVersion")
     api("androidx.graphics:graphics-shapes-android:1.0.1")
     api("androidx.lifecycle:lifecycle-livedata-ktx")
     api("androidx.lifecycle:lifecycle-runtime-compose")
-    api("androidx.navigation:navigation-compose:2.9.0-alpha04")
+    api("androidx.navigation:navigation-compose:2.9.0-alpha06")
     api("com.github.PhilJay:MPAndroidChart:v3.1.0-alpha")
     api("com.google.android.material:material:1.13.0-alpha08")
     debugApi("androidx.compose.ui:ui-tooling:$jetpackComposeVersion")
diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/common/SpaEnvironment.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/common/SpaEnvironment.kt
index 11ae9e9..53f97d2 100644
--- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/common/SpaEnvironment.kt
+++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/common/SpaEnvironment.kt
@@ -21,6 +21,7 @@
 import android.util.Log
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.platform.LocalContext
+import com.android.settingslib.spa.framework.util.SystemProperties
 
 private const val TAG = "SpaEnvironment"
 
@@ -50,9 +51,7 @@
         Log.d(TAG, "resetForPreview")
     }
 
-    fun isReady(): Boolean {
-        return spaEnvironment != null
-    }
+    fun isReady(): Boolean = spaEnvironment != null
 
     val instance: SpaEnvironment
         get() {
@@ -60,6 +59,14 @@
                 throw UnsupportedOperationException("Spa environment is not set")
             return spaEnvironment!!
         }
+
+    /**
+     * Optional instance of SpaEnvironment.
+     *
+     * Useful when there is fallback logic.
+     */
+    val optionalInstance: SpaEnvironment?
+        get() = spaEnvironment
 }
 
 abstract class SpaEnvironment(context: Context) {
@@ -81,6 +88,11 @@
     // Specify provider authorities for debugging purpose.
     open val searchProviderAuthorities: String? = null
 
+    /** Specify whether expressive design is enabled. */
+    open val isSpaExpressiveEnabled by lazy {
+        SystemProperties.getBoolean("is_expressive_design_enabled", false)
+    }
+
     // TODO: add other environment setup here.
     companion object {
         /**
diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/compose/TimeMeasurer.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/compose/TimeMeasurer.kt
index b23f4e0..ef2745c 100644
--- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/compose/TimeMeasurer.kt
+++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/compose/TimeMeasurer.kt
@@ -14,14 +14,11 @@
  * limitations under the License.
  */
 
-@file:OptIn(ExperimentalTime::class)
-
 package com.android.settingslib.spa.framework.compose
 
 import android.util.Log
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.remember
-import kotlin.time.ExperimentalTime
 import kotlin.time.TimeSource
 
 const val ENABLE_MEASURE_TIME = false
diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/theme/SettingsTheme.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/theme/SettingsTheme.kt
index badf7ae..6531fba 100644
--- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/theme/SettingsTheme.kt
+++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/theme/SettingsTheme.kt
@@ -21,8 +21,7 @@
 import androidx.compose.material3.MaterialTheme
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.CompositionLocalProvider
-import com.android.settingslib.spa.framework.util.SystemProperties
-import com.android.settingslib.widget.theme.flags.Flags
+import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory
 
 /**
  * The Material 3 Theme for Settings.
@@ -44,6 +43,5 @@
 }
 
 val isSpaExpressiveEnabled by lazy {
-    SystemProperties.getBoolean("is_expressive_design_enabled", false) ||
-        Flags.isExpressiveDesignEnabled()
+    SpaEnvironmentFactory.optionalInstance?.isSpaExpressiveEnabled ?: false
 }
diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/util/SystemProperties.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/util/SystemProperties.kt
index ed4936b..3b4a675 100644
--- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/util/SystemProperties.kt
+++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/util/SystemProperties.kt
@@ -20,7 +20,7 @@
 import android.util.Log
 
 @SuppressLint("PrivateApi")
-object SystemProperties {
+internal object SystemProperties {
     private const val TAG = "SystemProperties"
 
     fun getBoolean(key: String, default: Boolean): Boolean = try {
diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/BaseLayout.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/BaseLayout.kt
index b1bb79d..068ff06 100644
--- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/BaseLayout.kt
+++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/BaseLayout.kt
@@ -87,15 +87,28 @@
 
 @Composable
 internal fun BaseIcon(icon: @Composable (() -> Unit)?, modifier: Modifier, paddingStart: Dp) {
-    if (icon != null) {
-        Box(
-            modifier = modifier.size(SettingsDimension.itemIconContainerSize),
-            contentAlignment = Alignment.Center,
-        ) {
-            icon()
+    if (isSpaExpressiveEnabled) {
+        Spacer(modifier = Modifier.width(width = paddingStart))
+        if (icon != null) {
+            Box(
+                modifier = modifier.size(SettingsDimension.itemIconContainerSizeSmall),
+                contentAlignment = Alignment.Center,
+            ) {
+                icon()
+            }
+            Spacer(modifier = Modifier.width(width = SettingsDimension.paddingExtraSmall6))
         }
     } else {
-        Spacer(modifier = Modifier.width(width = paddingStart))
+        if (icon != null) {
+            Box(
+                modifier = modifier.size(SettingsDimension.itemIconContainerSize),
+                contentAlignment = Alignment.Center,
+            ) {
+                icon()
+            }
+        } else {
+            Spacer(modifier = Modifier.width(width = paddingStart))
+        }
     }
 }
 
diff --git a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/button/ActionButtonsTest.kt b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/button/ActionButtonsTest.kt
index bab02b0..8d9bac6 100644
--- a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/button/ActionButtonsTest.kt
+++ b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/button/ActionButtonsTest.kt
@@ -16,8 +16,6 @@
 
 package com.android.settingslib.spa.widget.button
 
-import android.platform.test.annotations.RequiresFlagsDisabled
-import android.platform.test.flag.junit.DeviceFlagsValueProvider
 import androidx.compose.material.icons.Icons
 import androidx.compose.material.icons.automirrored.outlined.Launch
 import androidx.compose.material.icons.outlined.Close
@@ -30,7 +28,6 @@
 import androidx.compose.ui.test.onNodeWithText
 import androidx.compose.ui.test.performClick
 import androidx.test.ext.junit.runners.AndroidJUnit4
-import com.android.settingslib.widget.theme.flags.Flags.FLAG_IS_EXPRESSIVE_DESIGN_ENABLED
 import com.google.common.truth.Truth.assertThat
 import org.junit.Rule
 import org.junit.Test
@@ -40,8 +37,6 @@
 class ActionButtonsTest {
     @get:Rule
     val composeTestRule = createComposeRule()
-    @get:Rule
-    val mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule()
 
     @Test
     fun button_displayed() {
@@ -59,7 +54,6 @@
         composeTestRule.onNodeWithText("Open").assertIsDisplayed()
     }
 
-    @RequiresFlagsDisabled(FLAG_IS_EXPRESSIVE_DESIGN_ENABLED)
     @Test
     fun button_clickable() {
         var clicked by mutableStateOf(false)
diff --git a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/scaffold/CustomizedAppBarTest.kt b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/scaffold/CustomizedAppBarTest.kt
index 89206ba..0a4f0d9 100644
--- a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/scaffold/CustomizedAppBarTest.kt
+++ b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/scaffold/CustomizedAppBarTest.kt
@@ -16,8 +16,6 @@
 
 package com.android.settingslib.spa.widget.scaffold
 
-import android.platform.test.annotations.RequiresFlagsDisabled
-import android.platform.test.flag.junit.DeviceFlagsValueProvider
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.lazy.LazyColumn
@@ -54,7 +52,6 @@
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.settingslib.spa.testutils.rootWidth
 import com.android.settingslib.spa.testutils.setContentForSizeAssertions
-import com.android.settingslib.widget.theme.flags.Flags.FLAG_IS_EXPRESSIVE_DESIGN_ENABLED
 import com.google.common.truth.Truth.assertThat
 import org.junit.Rule
 import org.junit.Test
@@ -65,8 +62,6 @@
 class CustomizedAppBarTest {
 
     @get:Rule val rule = createComposeRule()
-    @get:Rule
-    val mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule()
 
     @Test
     fun smallTopAppBar_expandsToScreen() {
@@ -102,7 +97,6 @@
         assertThat(textStyle).isEqualTo(expectedTextStyle)
     }
 
-    @RequiresFlagsDisabled(FLAG_IS_EXPRESSIVE_DESIGN_ENABLED)
     @Test
     fun smallTopAppBar_contentColor() {
         var titleColor: Color = Color.Unspecified
diff --git a/packages/SettingsLib/res/layout-v33/preference_checkable_two_target.xml b/packages/SettingsLib/res/layout-v33/preference_checkable_two_target.xml
index 7ad018c..60d03e3 100644
--- a/packages/SettingsLib/res/layout-v33/preference_checkable_two_target.xml
+++ b/packages/SettingsLib/res/layout-v33/preference_checkable_two_target.xml
@@ -47,7 +47,7 @@
             android:clipToPadding="false"
             android:paddingTop="4dp"
             android:paddingBottom="4dp">
-            <include layout="@layout/preference_widget_checkbox" />
+            <include layout="@layout/settingslib_preference_widget_checkbox" />
         </LinearLayout>
 
         <RelativeLayout
diff --git a/packages/SettingsLib/res/layout/preference_checkable_two_target.xml b/packages/SettingsLib/res/layout/preference_checkable_two_target.xml
index f512f9b..ab7b04b 100644
--- a/packages/SettingsLib/res/layout/preference_checkable_two_target.xml
+++ b/packages/SettingsLib/res/layout/preference_checkable_two_target.xml
@@ -47,7 +47,7 @@
             android:clipToPadding="false"
             android:paddingTop="4dp"
             android:paddingBottom="4dp">
-            <include layout="@layout/preference_widget_checkbox" />
+            <include layout="@layout/settingslib_preference_widget_checkbox" />
         </LinearLayout>
 
         <RelativeLayout
diff --git a/packages/SettingsLib/res/values-ar/strings.xml b/packages/SettingsLib/res/values-ar/strings.xml
index e2487d7..5fbab96 100644
--- a/packages/SettingsLib/res/values-ar/strings.xml
+++ b/packages/SettingsLib/res/values-ar/strings.xml
@@ -386,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>
diff --git a/packages/SettingsLib/res/values-da/strings.xml b/packages/SettingsLib/res/values-da/strings.xml
index 986c40f..ef14483 100644
--- a/packages/SettingsLib/res/values-da/strings.xml
+++ b/packages/SettingsLib/res/values-da/strings.xml
@@ -81,7 +81,7 @@
     <string name="speed_label_fast" msgid="2677719134596044051">"Hurtig"</string>
     <string name="speed_label_very_fast" msgid="8215718029533182439">"Meget hurtig"</string>
     <string name="wifi_passpoint_expired" msgid="6540867261754427561">"Udløbet"</string>
-    <string name="preference_summary_default_combination" msgid="2644094566845577901">"<xliff:g id="STATE">%1$s</xliff:g> – <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string>
+    <string name="preference_summary_default_combination" msgid="2644094566845577901">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string>
     <string name="bluetooth_disconnected" msgid="7739366554710388701">"Afbrudt"</string>
     <string name="bluetooth_disconnecting" msgid="7638892134401574338">"Afbryder ..."</string>
     <string name="bluetooth_connecting" msgid="5871702668260192755">"Opretter forbindelse..."</string>
diff --git a/packages/SettingsLib/res/values-iw/strings.xml b/packages/SettingsLib/res/values-iw/strings.xml
index d4c0773..c39521f 100644
--- a/packages/SettingsLib/res/values-iw/strings.xml
+++ b/packages/SettingsLib/res/values-iw/strings.xml
@@ -386,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">"‏המסך יהבהב כשאפליקציות יבצעו פעולות ארוכות ב-thread הראשי"</string>
     <string name="pointer_location" msgid="7516929526199520173">"מיקום מצביע"</string>
diff --git a/packages/SettingsLib/res/values-pl/strings.xml b/packages/SettingsLib/res/values-pl/strings.xml
index 79be6b3..aed9b06 100644
--- a/packages/SettingsLib/res/values-pl/strings.xml
+++ b/packages/SettingsLib/res/values-pl/strings.xml
@@ -113,17 +113,17 @@
     <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>
-    <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_guest_battery_level" msgid="2820003593899467676">"Urządzenie gościa. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> 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> 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> 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> 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>
-    <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_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> 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> 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>
     <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Urządzenie gościa"</string>
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothEventManager.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothEventManager.java
index ebd5a1d..3625c00 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothEventManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothEventManager.java
@@ -29,6 +29,7 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.os.UserHandle;
+import android.os.UserManager;
 import android.telephony.TelephonyManager;
 import android.util.Log;
 
@@ -37,6 +38,8 @@
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settingslib.R;
+import com.android.settingslib.flags.Flags;
+import com.android.settingslib.utils.ThreadUtils;
 
 import java.util.Collection;
 import java.util.HashMap;
@@ -65,6 +68,7 @@
     private final android.os.Handler mReceiverHandler;
     private final UserHandle mUserHandle;
     private final Context mContext;
+    private boolean mIsWorkProfile = false;
 
     interface Handler {
         void onReceive(Context context, Intent intent, BluetoothDevice device);
@@ -140,6 +144,9 @@
         addHandler(BluetoothAdapter.ACTION_AUTO_ON_STATE_CHANGED, new AutoOnStateChangedHandler());
 
         registerAdapterIntentReceiver();
+
+        UserManager userManager = context.getSystemService(UserManager.class);
+        mIsWorkProfile = userManager != null && userManager.isManagedProfile();
     }
 
     /** Register to start receiving callbacks for Bluetooth events. */
@@ -220,20 +227,32 @@
             callback.onProfileConnectionStateChanged(device, state, bluetoothProfile);
         }
 
+        if (mIsWorkProfile) {
+            Log.d(TAG, "Skip profileConnectionStateChanged for audio sharing, work profile");
+            return;
+        }
+
+        LocalBluetoothLeBroadcast broadcast = mBtManager == null ? null
+                : mBtManager.getProfileManager().getLeAudioBroadcastProfile();
+        LocalBluetoothLeBroadcastAssistant assistant = mBtManager == null ? null
+                : mBtManager.getProfileManager().getLeAudioBroadcastAssistantProfile();
         // Trigger updateFallbackActiveDeviceIfNeeded when ASSISTANT profile disconnected when
         // audio sharing is enabled.
         if (bluetoothProfile == BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT
                 && state == BluetoothAdapter.STATE_DISCONNECTED
-                && BluetoothUtils.isAudioSharingUIAvailable(mContext)) {
-            LocalBluetoothProfileManager profileManager = mBtManager.getProfileManager();
-            if (profileManager != null
-                    && profileManager.getLeAudioBroadcastProfile() != null
-                    && profileManager.getLeAudioBroadcastProfile().isProfileReady()
-                    && profileManager.getLeAudioBroadcastAssistantProfile() != null
-                    && profileManager.getLeAudioBroadcastAssistantProfile().isProfileReady()) {
-                Log.d(TAG, "updateFallbackActiveDeviceIfNeeded, ASSISTANT profile disconnected");
-                profileManager.getLeAudioBroadcastProfile().updateFallbackActiveDeviceIfNeeded();
-            }
+                && BluetoothUtils.isAudioSharingUIAvailable(mContext)
+                && broadcast != null && assistant != null && broadcast.isProfileReady()
+                && assistant.isProfileReady()) {
+            Log.d(TAG, "updateFallbackActiveDeviceIfNeeded, ASSISTANT profile disconnected");
+            broadcast.updateFallbackActiveDeviceIfNeeded();
+        }
+        // Dispatch handleOnProfileStateChanged to local broadcast profile
+        if (Flags.promoteAudioSharingForSecondAutoConnectedLeaDevice()
+                && broadcast != null
+                && state == BluetoothAdapter.STATE_CONNECTED) {
+            Log.d(TAG, "dispatchProfileConnectionStateChanged to local broadcast profile");
+            var unused = ThreadUtils.postOnBackgroundThread(
+                    () -> broadcast.handleProfileConnected(device, bluetoothProfile, mBtManager));
         }
     }
 
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothUtils.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothUtils.java
index 31948e4..e78a692 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothUtils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothUtils.java
@@ -719,6 +719,30 @@
         }
     }
 
+    /** Check if the {@link CachedBluetoothDevice} is a media device */
+    @WorkerThread
+    public static boolean isMediaDevice(@Nullable CachedBluetoothDevice cachedDevice) {
+        if (cachedDevice == null) return false;
+        return cachedDevice.getProfiles().stream()
+                .anyMatch(
+                        profile ->
+                                profile instanceof A2dpProfile
+                                        || profile instanceof HearingAidProfile
+                                        || profile instanceof LeAudioProfile
+                                        || profile instanceof HeadsetProfile);
+    }
+
+    /** Check if the {@link CachedBluetoothDevice} supports LE Audio profile */
+    @WorkerThread
+    public static boolean isLeAudioSupported(@Nullable CachedBluetoothDevice cachedDevice) {
+        if (cachedDevice == null) return false;
+        return cachedDevice.getProfiles().stream()
+                .anyMatch(
+                        profile ->
+                                profile instanceof LeAudioProfile
+                                        && profile.isEnabled(cachedDevice.getDevice()));
+    }
+
     /** Returns if the broadcast is on-going. */
     @WorkerThread
     public static boolean isBroadcasting(@Nullable LocalBluetoothManager manager) {
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcast.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcast.java
index f18a2da..08f7806 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcast.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcast.java
@@ -54,6 +54,7 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.RequiresApi;
+import androidx.annotation.WorkerThread;
 
 import com.android.settingslib.R;
 import com.android.settingslib.flags.Flags;
@@ -64,6 +65,7 @@
 import java.lang.annotation.RetentionPolicy;
 import java.nio.charset.StandardCharsets;
 import java.security.SecureRandom;
+import java.sql.Timestamp;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -107,6 +109,7 @@
     private static final String SETTINGS_PKG = "com.android.settings";
     private static final String SYSUI_PKG = "com.android.systemui";
     private static final String TAG = "LocalBluetoothLeBroadcast";
+    private static final String AUTO_REJOIN_BROADCAST_TAG = "REJOIN_LE_BROADCAST_ID";
     private static final boolean DEBUG = BluetoothUtils.D;
     private static final String VALID_PASSWORD_CHARACTERS =
             "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+[]{}|;:,"
@@ -120,6 +123,7 @@
     // Order of this profile in device profiles list
     private static final int ORDINAL = 1;
     static final int UNKNOWN_VALUE_PLACEHOLDER = -1;
+    private static final int JUST_BOND_MILLIS_THRESHOLD = 30000; // 30s
     private static final Uri[] SETTINGS_URIS =
             new Uri[] {
                 Settings.Secure.getUriFor(Settings.Secure.BLUETOOTH_LE_BROADCAST_NAME),
@@ -1283,4 +1287,87 @@
         UserManager userManager = context.getSystemService(UserManager.class);
         return userManager != null && userManager.isManagedProfile();
     }
+
+    /** Handle profile connected for {@link CachedBluetoothDevice}. */
+    @WorkerThread
+    public void handleProfileConnected(@NonNull CachedBluetoothDevice cachedDevice,
+            int bluetoothProfile, @Nullable LocalBluetoothManager btManager) {
+        if (!Flags.promoteAudioSharingForSecondAutoConnectedLeaDevice()) {
+            Log.d(TAG, "Skip handleProfileConnected, flag off");
+            return;
+        }
+        if (!SYSUI_PKG.equals(mContext.getPackageName())) {
+            Log.d(TAG, "Skip handleProfileConnected, not a valid caller");
+            return;
+        }
+        if (!BluetoothUtils.isMediaDevice(cachedDevice)) {
+            Log.d(TAG, "Skip handleProfileConnected, not a media device");
+            return;
+        }
+        Timestamp bondTimestamp = cachedDevice.getBondTimestamp();
+        if (bondTimestamp != null) {
+            long diff = System.currentTimeMillis() - bondTimestamp.getTime();
+            if (diff <= JUST_BOND_MILLIS_THRESHOLD) {
+                Log.d(TAG, "Skip handleProfileConnected, just bond within " + diff);
+                return;
+            }
+        }
+        if (!isEnabled(null)) {
+            Log.d(TAG, "Skip handleProfileConnected, not broadcasting");
+            return;
+        }
+        BluetoothDevice device = cachedDevice.getDevice();
+        if (device == null) {
+            Log.d(TAG, "Skip handleProfileConnected, null device");
+            return;
+        }
+        // TODO: sync source in a reasonable place
+        if (BluetoothUtils.hasConnectedBroadcastSourceForBtDevice(device, btManager)) {
+            Log.d(TAG, "Skip handleProfileConnected, already has source");
+            return;
+        }
+        if (isAutoRejoinDevice(device)) {
+            Log.d(TAG, "Skip handleProfileConnected, auto rejoin device");
+            return;
+        }
+        boolean isLeAudioSupported = BluetoothUtils.isLeAudioSupported(cachedDevice);
+        // For eligible (LE audio) remote device, we only check assistant profile connected.
+        if (isLeAudioSupported
+                && bluetoothProfile != BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT) {
+            Log.d(TAG, "Skip handleProfileConnected, lea sink, not the assistant profile");
+            return;
+        }
+        boolean isFirstConnectedProfile = isFirstConnectedProfile(cachedDevice, bluetoothProfile);
+        // For ineligible (classic) remote device, we only check its first connected profile.
+        if (!isLeAudioSupported && !isFirstConnectedProfile) {
+            Log.d(TAG, "Skip handleProfileConnected, classic sink, not the first profile");
+            return;
+        }
+
+        Intent intent = new Intent(
+                LocalBluetoothLeBroadcast.ACTION_LE_AUDIO_SHARING_DEVICE_CONNECTED);
+        intent.putExtra(LocalBluetoothLeBroadcast.EXTRA_BLUETOOTH_DEVICE, device);
+        intent.setPackage(SETTINGS_PKG);
+        Log.d(TAG, "notify device connected, device = " + device.getAnonymizedAddress());
+
+        mContext.sendBroadcast(intent);
+    }
+
+    private boolean isAutoRejoinDevice(@Nullable BluetoothDevice bluetoothDevice) {
+        String metadataValue = BluetoothUtils.getFastPairCustomizedField(bluetoothDevice,
+                AUTO_REJOIN_BROADCAST_TAG);
+        return getLatestBroadcastId() != UNKNOWN_VALUE_PLACEHOLDER && Objects.equals(metadataValue,
+                String.valueOf(getLatestBroadcastId()));
+    }
+
+    private boolean isFirstConnectedProfile(@Nullable CachedBluetoothDevice cachedDevice,
+            int bluetoothProfile) {
+        if (cachedDevice == null) return false;
+        return cachedDevice.getProfiles().stream()
+                .noneMatch(
+                        profile ->
+                                profile.getProfileId() != bluetoothProfile
+                                        && profile.getConnectionStatus(cachedDevice.getDevice())
+                                        == BluetoothProfile.STATE_CONNECTED);
+    }
 }
diff --git a/packages/SettingsLib/src/com/android/settingslib/qrcode/QrCamera.java b/packages/SettingsLib/src/com/android/settingslib/qrcode/QrCamera.java
index ae17acb..8bb41cc 100644
--- a/packages/SettingsLib/src/com/android/settingslib/qrcode/QrCamera.java
+++ b/packages/SettingsLib/src/com/android/settingslib/qrcode/QrCamera.java
@@ -16,8 +16,8 @@
 
 package com.android.settingslib.qrcode;
 
+import android.annotation.NonNull;
 import android.content.Context;
-import android.content.res.Configuration;
 import android.graphics.Matrix;
 import android.graphics.Rect;
 import android.graphics.SurfaceTexture;
@@ -75,12 +75,29 @@
 
     @VisibleForTesting
     Camera mCamera;
+    Camera.CameraInfo mCameraInfo;
+
+    /**
+     * The size of the preview image as requested to camera, e.g. 1920x1080.
+     */
     private Size mPreviewSize;
+
+    /**
+     * Whether the preview image would be displayed in "portrait" (width less
+     * than height) orientation in current display orientation.
+     *
+     * Note that we don't distinguish between a rotation of 90 degrees or 270
+     * degrees here, since we center crop all the preview.
+     *
+     * TODO: Handle external camera / multiple display, this likely requires
+     * migrating to newer Camera2 API.
+     */
+    private boolean mPreviewInPortrait;
+
     private WeakReference<Context> mContext;
     private ScannerCallback mScannerCallback;
     private MultiFormatReader mReader;
     private DecodingTask mDecodeTask;
-    private int mCameraOrientation;
     @VisibleForTesting
     Camera.Parameters mParameters;
 
@@ -152,8 +169,14 @@
          * @param previewSize       Is the preview size set by camera
          * @param cameraOrientation Is the orientation of current Camera
          * @return The rectangle would like to crop from the camera preview shot.
+         * @deprecated This is no longer used, and the frame position is
+         *     automatically calculated from the preview size and the
+         *     background View size.
          */
-        Rect getFramePosition(Size previewSize, int cameraOrientation);
+        @Deprecated
+        default @NonNull Rect getFramePosition(@NonNull Size previewSize, int cameraOrientation) {
+            throw new AssertionError("getFramePosition shouldn't be used");
+        }
 
         /**
          * Sets the transform to associate with preview area.
@@ -172,6 +195,41 @@
         boolean isValid(String qrCode);
     }
 
+    private boolean setPreviewDisplayOrientation() {
+        if (mContext.get() == null) {
+            return false;
+        }
+
+        final WindowManager winManager =
+                (WindowManager) mContext.get().getSystemService(Context.WINDOW_SERVICE);
+        final int rotation = winManager.getDefaultDisplay().getRotation();
+        int degrees = 0;
+        switch (rotation) {
+            case Surface.ROTATION_0:
+                degrees = 0;
+                break;
+            case Surface.ROTATION_90:
+                degrees = 90;
+                break;
+            case Surface.ROTATION_180:
+                degrees = 180;
+                break;
+            case Surface.ROTATION_270:
+                degrees = 270;
+                break;
+        }
+        int rotateDegrees = 0;
+        if (mCameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
+            rotateDegrees = (mCameraInfo.orientation + degrees) % 360;
+            rotateDegrees = (360 - rotateDegrees) % 360;  // compensate the mirror
+        } else {
+            rotateDegrees = (mCameraInfo.orientation - degrees + 360) % 360;
+        }
+        mCamera.setDisplayOrientation(rotateDegrees);
+        mPreviewInPortrait = (rotateDegrees == 90 || rotateDegrees == 270);
+        return true;
+    }
+
     @VisibleForTesting
     void setCameraParameter() {
         mParameters = mCamera.getParameters();
@@ -195,37 +253,39 @@
         mCamera.setParameters(mParameters);
     }
 
-    private boolean startPreview() {
-        if (mContext.get() == null) {
-            return false;
-        }
+    /**
+     * Set transform matrix to crop and center the preview picture.
+     */
+    private void setTransformationMatrix() {
+        final Size previewDisplaySize = rotateIfPortrait(mPreviewSize);
+        final Size viewSize = mScannerCallback.getViewSize();
+        final Rect cropRegion = calculateCenteredCrop(previewDisplaySize, viewSize);
 
-        final WindowManager winManager =
-                (WindowManager) mContext.get().getSystemService(Context.WINDOW_SERVICE);
-        final int rotation = winManager.getDefaultDisplay().getRotation();
-        int degrees = 0;
-        switch (rotation) {
-            case Surface.ROTATION_0:
-                degrees = 0;
-                break;
-            case Surface.ROTATION_90:
-                degrees = 90;
-                break;
-            case Surface.ROTATION_180:
-                degrees = 180;
-                break;
-            case Surface.ROTATION_270:
-                degrees = 270;
-                break;
-        }
-        final int rotateDegrees = (mCameraOrientation - degrees + 360) % 360;
-        mCamera.setDisplayOrientation(rotateDegrees);
+        // Note that strictly speaking, since the preview is mirrored in front
+        // camera case, we should also mirror the crop region here. But since
+        // we're cropping at the center, mirroring would result in the same
+        // crop region other than small off-by-one error from floating point
+        // calculation and wouldn't be noticeable.
+
+        // Calculate transformation matrix.
+        float scaleX = previewDisplaySize.getWidth() / (float) cropRegion.width();
+        float scaleY = previewDisplaySize.getHeight() / (float) cropRegion.height();
+        float translateX = -cropRegion.left / (float) cropRegion.width() * viewSize.getWidth();
+        float translateY = -cropRegion.top / (float) cropRegion.height() * viewSize.getHeight();
+
+        // Set the transform matrix.
+        final Matrix matrix = new Matrix();
+        matrix.setScale(scaleX, scaleY);
+        matrix.postTranslate(translateX, translateY);
+        mScannerCallback.setTransform(matrix);
+    }
+
+    private void startPreview() {
         mCamera.startPreview();
         if (Camera.Parameters.FOCUS_MODE_AUTO.equals(mParameters.getFocusMode())) {
             mCamera.autoFocus(/* Camera.AutoFocusCallback */ null);
             sendMessageDelayed(obtainMessage(MSG_AUTO_FOCUS), AUTOFOCUS_INTERVAL_MS);
         }
-        return true;
     }
 
     private class DecodingTask extends AsyncTask<Void, Void, String> {
@@ -300,7 +360,7 @@
                     if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_BACK) {
                         releaseCamera();
                         mCamera = Camera.open(i);
-                        mCameraOrientation = cameraInfo.orientation;
+                        mCameraInfo = cameraInfo;
                         break;
                     }
                 }
@@ -309,7 +369,7 @@
                     Camera.getCameraInfo(0, cameraInfo);
                     releaseCamera();
                     mCamera = Camera.open(0);
-                    mCameraOrientation = cameraInfo.orientation;
+                    mCameraInfo = cameraInfo;
                 }
             } catch (RuntimeException e) {
                 Log.e(TAG, "Fail to open camera: " + e);
@@ -323,11 +383,12 @@
                     throw new IOException("Cannot find available camera");
                 }
                 mCamera.setPreviewTexture(surface);
+                if (!setPreviewDisplayOrientation()) {
+                    throw new IOException("Lost context");
+                }
                 setCameraParameter();
                 setTransformationMatrix();
-                if (!startPreview()) {
-                    throw new IOException("Lost contex");
-                }
+                startPreview();
             } catch (IOException ioe) {
                 Log.e(TAG, "Fail to startPreview camera: " + ioe);
                 mCamera = null;
@@ -345,32 +406,30 @@
         }
     }
 
-    /** Set transform matrix to crop and center the preview picture */
-    private void setTransformationMatrix() {
-        final boolean isPortrait = mContext.get().getResources().getConfiguration().orientation
-                == Configuration.ORIENTATION_PORTRAIT;
-
-        final int previewWidth = isPortrait ? mPreviewSize.getWidth() : mPreviewSize.getHeight();
-        final int previewHeight = isPortrait ? mPreviewSize.getHeight() : mPreviewSize.getWidth();
-        final float ratioPreview = (float) getRatio(previewWidth, previewHeight);
-
-        // Calculate transformation matrix.
-        float scaleX = 1.0f;
-        float scaleY = 1.0f;
-        if (previewWidth > previewHeight) {
-            scaleY = scaleX / ratioPreview;
+    /**
+     * Calculates the crop region in `previewSize` to have the same aspect
+     * ratio as `viewSize` and center aligned.
+     */
+    private Rect calculateCenteredCrop(Size previewSize, Size viewSize) {
+        final double previewRatio = getRatio(previewSize);
+        final double viewRatio = getRatio(viewSize);
+        int width;
+        int height;
+        if (previewRatio > viewRatio) {
+            width = previewSize.getWidth();
+            height = (int) Math.round(width * viewRatio);
         } else {
-            scaleX = scaleY / ratioPreview;
+            height = previewSize.getHeight();
+            width = (int) Math.round(height / viewRatio);
         }
-
-        // Set the transform matrix.
-        final Matrix matrix = new Matrix();
-        matrix.setScale(scaleX, scaleY);
-        mScannerCallback.setTransform(matrix);
+        final int left = (previewSize.getWidth() - width) / 2;
+        final int top = (previewSize.getHeight() - height) / 2;
+        return new Rect(left, top, left + width, top + height);
     }
 
     private QrYuvLuminanceSource getFrameImage(byte[] imageData) {
-        final Rect frame = mScannerCallback.getFramePosition(mPreviewSize, mCameraOrientation);
+        final Size viewSize = mScannerCallback.getViewSize();
+        final Rect frame = calculateCenteredCrop(mPreviewSize, rotateIfPortrait(viewSize));
         final QrYuvLuminanceSource image = new QrYuvLuminanceSource(imageData,
                 mPreviewSize.getWidth(), mPreviewSize.getHeight());
         return (QrYuvLuminanceSource)
@@ -398,17 +457,18 @@
      */
     private Size getBestPreviewSize(Camera.Parameters parameters) {
         final double minRatioDiffPercent = 0.1;
-        final Size windowSize = mScannerCallback.getViewSize();
-        final double winRatio = getRatio(windowSize.getWidth(), windowSize.getHeight());
+        final Size viewSize = rotateIfPortrait(mScannerCallback.getViewSize());
+        final double viewRatio = getRatio(viewSize);
         double bestChoiceRatio = 0;
         Size bestChoice = new Size(0, 0);
         for (Camera.Size size : parameters.getSupportedPreviewSizes()) {
-            double ratio = getRatio(size.width, size.height);
+            final Size newSize = toAndroidSize(size);
+            final double ratio = getRatio(newSize);
             if (size.height * size.width > bestChoice.getWidth() * bestChoice.getHeight()
-                    && (Math.abs(bestChoiceRatio - winRatio) / winRatio > minRatioDiffPercent
-                    || Math.abs(ratio - winRatio) / winRatio <= minRatioDiffPercent)) {
-                bestChoice = new Size(size.width, size.height);
-                bestChoiceRatio = getRatio(size.width, size.height);
+                    && (Math.abs(bestChoiceRatio - viewRatio) / viewRatio > minRatioDiffPercent
+                    || Math.abs(ratio - viewRatio) / viewRatio <= minRatioDiffPercent)) {
+                bestChoice = newSize;
+                bestChoiceRatio = ratio;
             }
         }
         return bestChoice;
@@ -419,25 +479,26 @@
      * picture size and aspect ratio to choose the best one.
      */
     private Size getBestPictureSize(Camera.Parameters parameters) {
-        final Camera.Size previewSize = parameters.getPreviewSize();
-        final double previewRatio = getRatio(previewSize.width, previewSize.height);
+        final Size previewSize = mPreviewSize;
+        final double previewRatio = getRatio(previewSize);
         List<Size> bestChoices = new ArrayList<>();
         final List<Size> similarChoices = new ArrayList<>();
 
         // Filter by ratio
-        for (Camera.Size size : parameters.getSupportedPictureSizes()) {
-            double ratio = getRatio(size.width, size.height);
+        for (Camera.Size picSize : parameters.getSupportedPictureSizes()) {
+            final Size size = toAndroidSize(picSize);
+            final double ratio = getRatio(size);
             if (ratio == previewRatio) {
-                bestChoices.add(new Size(size.width, size.height));
+                bestChoices.add(size);
             } else if (Math.abs(ratio - previewRatio) < MAX_RATIO_DIFF) {
-                similarChoices.add(new Size(size.width, size.height));
+                similarChoices.add(size);
             }
         }
 
         if (bestChoices.size() == 0 && similarChoices.size() == 0) {
             Log.d(TAG, "No proper picture size, return default picture size");
             Camera.Size defaultPictureSize = parameters.getPictureSize();
-            return new Size(defaultPictureSize.width, defaultPictureSize.height);
+            return toAndroidSize(defaultPictureSize);
         }
 
         if (bestChoices.size() == 0) {
@@ -447,7 +508,7 @@
         // Get the best by area
         int bestAreaDifference = Integer.MAX_VALUE;
         Size bestChoice = null;
-        final int previewArea = previewSize.width * previewSize.height;
+        final int previewArea = previewSize.getWidth() * previewSize.getHeight();
         for (Size size : bestChoices) {
             int areaDifference = Math.abs(size.getWidth() * size.getHeight() - previewArea);
             if (areaDifference < bestAreaDifference) {
@@ -458,8 +519,20 @@
         return bestChoice;
     }
 
-    private double getRatio(double x, double y) {
-        return (x < y) ? x / y : y / x;
+    private Size rotateIfPortrait(Size size) {
+        if (mPreviewInPortrait) {
+            return new Size(size.getHeight(), size.getWidth());
+        } else {
+            return size;
+        }
+    }
+
+    private double getRatio(Size size) {
+        return size.getHeight() / (double) size.getWidth();
+    }
+
+    private Size toAndroidSize(Camera.Size size) {
+        return new Size(size.width, size.height);
     }
 
     @VisibleForTesting
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/OWNERS b/packages/SettingsLib/src/com/android/settingslib/wifi/OWNERS
index b9449ac..50bfe8c 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/OWNERS
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/OWNERS
@@ -1,6 +1,5 @@
 # Default reviewers for this and subdirectories.
 andychou@google.com
-arcwang@google.com
 asapperstein@google.com
 changbetty@google.com
 qal@google.com
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/BluetoothEventManagerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/BluetoothEventManagerTest.java
index b86f4b3..eac69234 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/BluetoothEventManagerTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/BluetoothEventManagerTest.java
@@ -23,7 +23,6 @@
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -38,12 +37,14 @@
 import android.content.IntentFilter;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.telephony.TelephonyManager;
 
 import com.android.settingslib.R;
 import com.android.settingslib.flags.Flags;
 import com.android.settingslib.testutils.shadow.ShadowBluetoothAdapter;
+import com.android.settingslib.utils.ThreadUtils;
 
 import org.junit.Before;
 import org.junit.Rule;
@@ -54,6 +55,8 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
 import org.robolectric.shadow.api.Shadow;
 
 import java.util.ArrayList;
@@ -61,7 +64,7 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowBluetoothAdapter.class})
+@Config(shadows = {ShadowBluetoothAdapter.class, BluetoothEventManagerTest.ShadowThreadUtils.class})
 public class BluetoothEventManagerTest {
     @Rule
     public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
@@ -100,6 +103,8 @@
     private BluetoothUtils.ErrorListener mErrorListener;
     @Mock
     private LocalBluetoothLeBroadcast mBroadcast;
+    @Mock
+    private UserManager mUserManager;
 
     private Context mContext;
     private Intent mIntent;
@@ -130,6 +135,7 @@
         mCachedDevice1 = new CachedBluetoothDevice(mContext, mLocalProfileManager, mDevice1);
         mCachedDevice2 = new CachedBluetoothDevice(mContext, mLocalProfileManager, mDevice2);
         mCachedDevice3 = new CachedBluetoothDevice(mContext, mLocalProfileManager, mDevice3);
+        when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
         BluetoothUtils.setErrorListener(mErrorListener);
     }
 
@@ -196,6 +202,7 @@
      * callback.
      */
     @Test
+    @EnableFlags(Flags.FLAG_PROMOTE_AUDIO_SHARING_FOR_SECOND_AUTO_CONNECTED_LEA_DEVICE)
     public void dispatchProfileConnectionStateChanged_registerCallback_shouldDispatchCallback() {
         mBluetoothEventManager.registerCallback(mBluetoothCallback);
 
@@ -208,10 +215,12 @@
 
     /**
      * dispatchProfileConnectionStateChanged should not call {@link
-     * LocalBluetoothLeBroadcast}#updateFallbackActiveDeviceIfNeeded when audio sharing flag is off.
+     * LocalBluetoothLeBroadcast}#updateFallbackActiveDeviceIfNeeded and
+     * {@link LocalBluetoothLeBroadcast}#handleProfileConnected when audio sharing flag is off.
      */
     @Test
-    public void dispatchProfileConnectionStateChanged_flagOff_noUpdateFallbackDevice() {
+    @EnableFlags(Flags.FLAG_PROMOTE_AUDIO_SHARING_FOR_SECOND_AUTO_CONNECTED_LEA_DEVICE)
+    public void dispatchProfileConnectionStateChanged_flagOff_noCallToBroadcastProfile() {
         setUpAudioSharing(/* enableFlag= */ false, /* enableFeature= */ true, /* enableProfile= */
                 true, /* workProfile= */ false);
         mBluetoothEventManager.dispatchProfileConnectionStateChanged(
@@ -219,16 +228,19 @@
                 BluetoothProfile.STATE_DISCONNECTED,
                 BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
 
-        verify(mBroadcast, times(0)).updateFallbackActiveDeviceIfNeeded();
+        verify(mBroadcast, never()).updateFallbackActiveDeviceIfNeeded();
+        verify(mBroadcast, never()).handleProfileConnected(any(), anyInt(), any());
     }
 
     /**
      * dispatchProfileConnectionStateChanged should not call {@link
-     * LocalBluetoothLeBroadcast}#updateFallbackActiveDeviceIfNeeded when the device does not
-     * support audio sharing.
+     * LocalBluetoothLeBroadcast}#updateFallbackActiveDeviceIfNeeded and
+     * {@link LocalBluetoothLeBroadcast}#handleProfileConnected when the device does not support
+     * audio sharing.
      */
     @Test
-    public void dispatchProfileConnectionStateChanged_notSupport_noUpdateFallbackDevice() {
+    @EnableFlags(Flags.FLAG_PROMOTE_AUDIO_SHARING_FOR_SECOND_AUTO_CONNECTED_LEA_DEVICE)
+    public void dispatchProfileConnectionStateChanged_notSupport_noCallToBroadcastProfile() {
         setUpAudioSharing(/* enableFlag= */ true, /* enableFeature= */ false, /* enableProfile= */
                 true, /* workProfile= */ false);
         mBluetoothEventManager.dispatchProfileConnectionStateChanged(
@@ -236,7 +248,8 @@
                 BluetoothProfile.STATE_DISCONNECTED,
                 BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
 
-        verify(mBroadcast, times(0)).updateFallbackActiveDeviceIfNeeded();
+        verify(mBroadcast, never()).updateFallbackActiveDeviceIfNeeded();
+        verify(mBroadcast, never()).handleProfileConnected(any(), anyInt(), any());
     }
 
     /**
@@ -245,6 +258,7 @@
      * not ready.
      */
     @Test
+    @EnableFlags(Flags.FLAG_PROMOTE_AUDIO_SHARING_FOR_SECOND_AUTO_CONNECTED_LEA_DEVICE)
     public void dispatchProfileConnectionStateChanged_profileNotReady_noUpdateFallbackDevice() {
         setUpAudioSharing(/* enableFlag= */ true, /* enableFeature= */ true, /* enableProfile= */
                 false, /* workProfile= */ false);
@@ -253,7 +267,7 @@
                 BluetoothProfile.STATE_DISCONNECTED,
                 BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
 
-        verify(mBroadcast, times(0)).updateFallbackActiveDeviceIfNeeded();
+        verify(mBroadcast, never()).updateFallbackActiveDeviceIfNeeded();
     }
 
     /**
@@ -262,6 +276,7 @@
      * other than LE_AUDIO_BROADCAST_ASSISTANT or state other than STATE_DISCONNECTED.
      */
     @Test
+    @EnableFlags(Flags.FLAG_PROMOTE_AUDIO_SHARING_FOR_SECOND_AUTO_CONNECTED_LEA_DEVICE)
     public void dispatchProfileConnectionStateChanged_notAssistantProfile_noUpdateFallbackDevice() {
         setUpAudioSharing(/* enableFlag= */ true, /* enableFeature= */ true, /* enableProfile= */
                 true, /* workProfile= */ false);
@@ -270,16 +285,17 @@
                 BluetoothProfile.STATE_DISCONNECTED,
                 BluetoothProfile.LE_AUDIO);
 
-        verify(mBroadcast, times(0)).updateFallbackActiveDeviceIfNeeded();
+        verify(mBroadcast, never()).updateFallbackActiveDeviceIfNeeded();
     }
 
     /**
      * dispatchProfileConnectionStateChanged should not call {@link
-     * LocalBluetoothLeBroadcast}#updateFallbackActiveDeviceIfNeeded when triggered for
-     * work profile.
+     * LocalBluetoothLeBroadcast}#updateFallbackActiveDeviceIfNeeded and
+     * {@link LocalBluetoothLeBroadcast}#handleProfileConnected when triggered for work profile.
      */
     @Test
-    public void dispatchProfileConnectionStateChanged_workProfile_noUpdateFallbackDevice() {
+    @EnableFlags(Flags.FLAG_PROMOTE_AUDIO_SHARING_FOR_SECOND_AUTO_CONNECTED_LEA_DEVICE)
+    public void dispatchProfileConnectionStateChanged_workProfile_noCallToBroadcastProfile() {
         setUpAudioSharing(/* enableFlag= */ true, /* enableFeature= */ true, /* enableProfile= */
                 true, /* workProfile= */ true);
         mBluetoothEventManager.dispatchProfileConnectionStateChanged(
@@ -287,7 +303,8 @@
                 BluetoothProfile.STATE_DISCONNECTED,
                 BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
 
-        verify(mBroadcast).updateFallbackActiveDeviceIfNeeded();
+        verify(mBroadcast, never()).updateFallbackActiveDeviceIfNeeded();
+        verify(mBroadcast, never()).handleProfileConnected(any(), anyInt(), any());
     }
 
     /**
@@ -296,7 +313,8 @@
      * disconnected and audio sharing is enabled.
      */
     @Test
-    public void dispatchProfileConnectionStateChanged_audioSharing_updateFallbackDevice() {
+    @EnableFlags(Flags.FLAG_PROMOTE_AUDIO_SHARING_FOR_SECOND_AUTO_CONNECTED_LEA_DEVICE)
+    public void dispatchProfileConnectionStateChanged_assistDisconnected_updateFallbackDevice() {
         setUpAudioSharing(/* enableFlag= */ true, /* enableFeature= */ true, /* enableProfile= */
                 true, /* workProfile= */ false);
         mBluetoothEventManager.dispatchProfileConnectionStateChanged(
@@ -305,6 +323,27 @@
                 BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
 
         verify(mBroadcast).updateFallbackActiveDeviceIfNeeded();
+        verify(mBroadcast, never()).handleProfileConnected(any(), anyInt(), any());
+    }
+
+    /**
+     * dispatchProfileConnectionStateChanged should call {@link
+     * LocalBluetoothLeBroadcast}#handleProfileConnected when assistant profile is connected and
+     * audio sharing is enabled.
+     */
+    @Test
+    @EnableFlags(Flags.FLAG_PROMOTE_AUDIO_SHARING_FOR_SECOND_AUTO_CONNECTED_LEA_DEVICE)
+    public void dispatchProfileConnectionStateChanged_assistConnected_handleStateChanged() {
+        setUpAudioSharing(/* enableFlag= */ true, /* enableFeature= */ true, /* enableProfile= */
+                true, /* workProfile= */ false);
+        mBluetoothEventManager.dispatchProfileConnectionStateChanged(
+                mCachedBluetoothDevice,
+                BluetoothProfile.STATE_CONNECTED,
+                BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
+
+        verify(mBroadcast, never()).updateFallbackActiveDeviceIfNeeded();
+        verify(mBroadcast).handleProfileConnected(mCachedBluetoothDevice,
+                BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT, mBtManager);
     }
 
     private void setUpAudioSharing(boolean enableFlag, boolean enableFeature,
@@ -325,13 +364,19 @@
         LocalBluetoothLeBroadcastAssistant assistant =
                 mock(LocalBluetoothLeBroadcastAssistant.class);
         when(assistant.isProfileReady()).thenReturn(enableProfile);
-        LocalBluetoothProfileManager profileManager = mock(LocalBluetoothProfileManager.class);
-        when(profileManager.getLeAudioBroadcastProfile()).thenReturn(mBroadcast);
-        when(profileManager.getLeAudioBroadcastAssistantProfile()).thenReturn(assistant);
-        when(mBtManager.getProfileManager()).thenReturn(profileManager);
-        UserManager userManager = mock(UserManager.class);
-        when(mContext.getSystemService(UserManager.class)).thenReturn(userManager);
-        when(userManager.isManagedProfile()).thenReturn(workProfile);
+        when(mLocalProfileManager.getLeAudioBroadcastProfile()).thenReturn(mBroadcast);
+        when(mLocalProfileManager.getLeAudioBroadcastAssistantProfile()).thenReturn(assistant);
+        when(mUserManager.isManagedProfile()).thenReturn(workProfile);
+        if (workProfile) {
+            mBluetoothEventManager =
+                    new BluetoothEventManager(
+                            mLocalAdapter,
+                            mBtManager,
+                            mCachedDeviceManager,
+                            mContext,
+                            /* handler= */ null,
+                            /* userHandle= */ null);
+        }
     }
 
     @Test
@@ -665,4 +710,12 @@
 
         verify(mBluetoothCallback).onAutoOnStateChanged(anyInt());
     }
+
+    @Implements(value = ThreadUtils.class)
+    public static class ShadowThreadUtils {
+        @Implementation
+        protected static void postOnBackgroundThread(Runnable runnable) {
+            runnable.run();
+        }
+    }
 }
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 0325c0e..b781412 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
@@ -1349,6 +1349,36 @@
     }
 
     @Test
+    public void isMediaDevice_returnsFalse() {
+        when(mCachedBluetoothDevice.getProfiles()).thenReturn(ImmutableList.of(mAssistant));
+        assertThat(BluetoothUtils.isMediaDevice(mCachedBluetoothDevice)).isFalse();
+    }
+
+    @Test
+    public void isMediaDevice_returnsTrue() {
+        when(mCachedBluetoothDevice.getProfiles()).thenReturn(ImmutableList.of(mLeAudioProfile));
+        assertThat(BluetoothUtils.isMediaDevice(mCachedBluetoothDevice)).isTrue();
+    }
+
+    @Test
+    public void isLeAudioSupported_returnsFalse() {
+        when(mCachedBluetoothDevice.getProfiles()).thenReturn(ImmutableList.of(mLeAudioProfile));
+        when(mCachedBluetoothDevice.getDevice()).thenReturn(mBluetoothDevice);
+        when(mLeAudioProfile.isEnabled(mBluetoothDevice)).thenReturn(false);
+
+        assertThat(BluetoothUtils.isLeAudioSupported(mCachedBluetoothDevice)).isFalse();
+    }
+
+    @Test
+    public void isLeAudioSupported_returnsTrue() {
+        when(mCachedBluetoothDevice.getProfiles()).thenReturn(ImmutableList.of(mLeAudioProfile));
+        when(mCachedBluetoothDevice.getDevice()).thenReturn(mBluetoothDevice);
+        when(mLeAudioProfile.isEnabled(mBluetoothDevice)).thenReturn(true);
+
+        assertThat(BluetoothUtils.isLeAudioSupported(mCachedBluetoothDevice)).isTrue();
+    }
+
+    @Test
     public void isTemporaryBondDevice_hasMetadata_returnsTrue() {
         when(mBluetoothDevice.getMetadata(METADATA_FAST_PAIR_CUSTOMIZED_FIELDS))
                 .thenReturn(TEMP_BOND_METADATA.getBytes());
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/satellite/SatelliteDialogUtilsTest.kt b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/satellite/SatelliteDialogUtilsTest.kt
index 1deb625..71e72fe 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/satellite/SatelliteDialogUtilsTest.kt
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/satellite/SatelliteDialogUtilsTest.kt
@@ -17,7 +17,6 @@
 package com.android.settingslib.satellite
 
 import android.content.Context
-import android.platform.test.annotations.RequiresFlagsEnabled
 import android.telephony.satellite.SatelliteManager
 import android.telephony.satellite.SatelliteManager.SATELLITE_MODEM_STATE_ENABLING_SATELLITE
 import android.telephony.satellite.SatelliteManager.SATELLITE_MODEM_STATE_OFF
@@ -25,7 +24,6 @@
 import android.telephony.satellite.SatelliteModemStateCallback
 import android.util.AndroidRuntimeException
 import androidx.test.core.app.ApplicationProvider
-import com.android.internal.telephony.flags.Flags
 import com.android.settingslib.satellite.SatelliteDialogUtils.TYPE_IS_WIFI
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
@@ -38,12 +36,12 @@
 import org.junit.runner.RunWith
 import org.mockito.Mock
 import org.mockito.Mockito.any
+import org.mockito.Mockito.verify
 import org.mockito.Mockito.`when`
 import org.mockito.Spy
+import org.mockito.internal.verification.Times
 import org.mockito.junit.MockitoJUnit
 import org.mockito.junit.MockitoRule
-import org.mockito.Mockito.verify
-import org.mockito.internal.verification.Times
 import org.robolectric.RobolectricTestRunner
 
 @RunWith(RobolectricTestRunner::class)
@@ -66,7 +64,6 @@
     }
 
     @Test
-    @RequiresFlagsEnabled(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun mayStartSatelliteWarningDialog_satelliteIsOn_showWarningDialog(): Unit = runBlocking {
         `when`(satelliteManager.registerForModemStateChanged(any(), any()))
                 .thenAnswer { invocation ->
@@ -87,7 +84,6 @@
     }
 
     @Test
-    @RequiresFlagsEnabled(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun mayStartSatelliteWarningDialog_satelliteIsOff_notShowWarningDialog() = runBlocking {
         `when`(satelliteManager.registerForModemStateChanged(any(), any()))
                 .thenAnswer { invocation ->
@@ -107,7 +103,6 @@
     }
 
     @Test
-    @RequiresFlagsEnabled(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun mayStartSatelliteWarningDialog_noSatelliteManager_notShowWarningDialog() = runBlocking {
         `when`(context.getSystemService(SatelliteManager::class.java)).thenReturn(null)
 
@@ -120,7 +115,6 @@
     }
 
     @Test
-    @RequiresFlagsEnabled(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun mayStartSatelliteWarningDialog_satelliteErrorResult_notShowWarningDialog() = runBlocking {
         `when`(satelliteManager.registerForModemStateChanged(any(), any()))
                 .thenReturn(SATELLITE_RESULT_MODEM_ERROR)
@@ -134,7 +128,6 @@
     }
 
     @Test
-    @RequiresFlagsEnabled(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun mayStartSatelliteWarningDialog_phoneCrash_notShowWarningDialog() = runBlocking {
         `when`(satelliteManager.registerForModemStateChanged(any(), any()))
                 .thenThrow(IllegalStateException("Telephony is null!!!"))
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/SelectorWithWidgetPreferenceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/SelectorWithWidgetPreferenceTest.java
index c939c77..5076dea 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/SelectorWithWidgetPreferenceTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/SelectorWithWidgetPreferenceTest.java
@@ -78,14 +78,14 @@
     @Test
     public void shouldHaveRadioButtonWidgetLayoutByDefault() {
         assertThat(mPreference.getWidgetLayoutResource())
-                .isEqualTo(R.layout.preference_widget_radiobutton);
+                .isEqualTo(R.layout.settingslib_preference_widget_radiobutton);
     }
 
     @Test
     public void shouldHaveCheckBoxWidgetLayoutIfSet() {
         mPreference = new SelectorWithWidgetPreference(mContext, true);
         assertThat(mPreference.getWidgetLayoutResource())
-                .isEqualTo(R.layout.preference_widget_checkbox);
+                .isEqualTo(R.layout.settingslib_preference_widget_checkbox);
     }
 
     @Test
diff --git a/packages/SettingsLib/tests/robotests/testutils/com/android/settingslib/testutils/shadow/ShadowColorDisplayManager.java b/packages/SettingsLib/tests/robotests/testutils/com/android/settingslib/testutils/shadow/ShadowColorDisplayManager.java
index a9fd380..76b6aa8 100644
--- a/packages/SettingsLib/tests/robotests/testutils/com/android/settingslib/testutils/shadow/ShadowColorDisplayManager.java
+++ b/packages/SettingsLib/tests/robotests/testutils/com/android/settingslib/testutils/shadow/ShadowColorDisplayManager.java
@@ -28,6 +28,7 @@
 public class ShadowColorDisplayManager extends org.robolectric.shadows.ShadowColorDisplayManager {
 
     private boolean mIsReduceBrightColorsActivated;
+    private int mColorMode;
 
     @Implementation
     @SystemApi
@@ -43,4 +44,13 @@
         return mIsReduceBrightColorsActivated;
     }
 
+    @Implementation
+    public int getColorMode() {
+        return mColorMode;
+    }
+
+    @Implementation
+    public void setColorMode(int colorMode) {
+        mColorMode = colorMode;
+    }
 }
diff --git a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java
index 60fe156..f692601e 100644
--- a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java
+++ b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java
@@ -95,6 +95,7 @@
         Settings.Secure.ACCESSIBILITY_AUTOCLICK_IGNORE_MINOR_CURSOR_MOVEMENT,
         Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED,
         Settings.Secure.ACCESSIBILITY_AUTOCLICK_DELAY,
+        Settings.Secure.ACCESSIBILITY_AUTOCLICK_PANEL_POSITION,
         Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON,
         Settings.Secure.PREFERRED_TTY_MODE,
         Settings.Secure.ENHANCED_VOICE_PRIVACY_ENABLED,
diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java
index 3d941e8..e42d3fb 100644
--- a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java
+++ b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java
@@ -146,6 +146,7 @@
                 Secure.ACCESSIBILITY_AUTOCLICK_IGNORE_MINOR_CURSOR_MOVEMENT, BOOLEAN_VALIDATOR);
         VALIDATORS.put(Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, BOOLEAN_VALIDATOR);
         VALIDATORS.put(Secure.ACCESSIBILITY_AUTOCLICK_DELAY, NON_NEGATIVE_INTEGER_VALIDATOR);
+        VALIDATORS.put(Secure.ACCESSIBILITY_AUTOCLICK_PANEL_POSITION, ANY_STRING_VALIDATOR);
         VALIDATORS.put(Secure.ACCESSIBILITY_LARGE_POINTER_ICON, BOOLEAN_VALIDATOR);
         VALIDATORS.put(
                 Secure.PREFERRED_TTY_MODE,
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
index f03a5fb..c29a5a2 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
@@ -1727,6 +1727,8 @@
         dumpSetting(s, p,
                 Settings.Secure.ACCESSIBILITY_AUTOCLICK_DELAY,
                 SecureSettingsProto.Accessibility.AUTOCLICK_DELAY);
+        dumpSetting(s, p, Settings.Secure.ACCESSIBILITY_AUTOCLICK_PANEL_POSITION,
+                SecureSettingsProto.Accessibility.AUTOCLICK_PANEL_POSITION);
         dumpSetting(s, p,
                 Settings.Secure.ACCESSIBILITY_BUTTON_TARGET_COMPONENT,
                 SecureSettingsProto.Accessibility.BUTTON_TARGET_COMPONENT);
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java
index c98a741..99c4e21c 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java
@@ -456,11 +456,16 @@
     @GuardedBy("mLock")
     private void loadAconfigDefaultValuesLocked(List<String> filePaths) {
         for (String fileName : filePaths) {
-            try (FileInputStream inputStream = new FileInputStream(fileName)) {
-                loadAconfigDefaultValues(
-                        inputStream.readAllBytes(), mNamespaceDefaults, mAconfigDefaultFlags);
-            } catch (IOException e) {
-                Slog.e(LOG_TAG, "failed to read protobuf", e);
+            File f = new File(fileName);
+            if (f.isFile() && f.canRead()) {
+                try (FileInputStream inputStream = new FileInputStream(fileName)) {
+                    loadAconfigDefaultValues(
+                            inputStream.readAllBytes(), mNamespaceDefaults, mAconfigDefaultFlags);
+                } catch (IOException e) {
+                    Slog.e(LOG_TAG, "failed to read protobuf", e);
+                }
+            } else {
+                Slog.d(LOG_TAG, "No protobuf file at " + fileName);
             }
         }
     }
diff --git a/packages/Shell/OWNERS b/packages/Shell/OWNERS
index 576afdc..2fa707e 100644
--- a/packages/Shell/OWNERS
+++ b/packages/Shell/OWNERS
@@ -7,9 +7,7 @@
 svetoslavganov@google.com
 hackbod@google.com
 yamasani@google.com
-toddke@google.com
 patb@google.com
-cbrubaker@google.com
 omakoto@google.com
 michaelwr@google.com
 ronish@google.com
diff --git a/packages/Shell/res/values-sv/strings.xml b/packages/Shell/res/values-sv/strings.xml
index d887777..8a636e1 100644
--- a/packages/Shell/res/values-sv/strings.xml
+++ b/packages/Shell/res/values-sv/strings.xml
@@ -18,8 +18,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_label" msgid="3701846017049540910">"Skal"</string>
     <string name="bugreport_notification_channel" msgid="2574150205913861141">"Felrapporter"</string>
-    <string name="bugreport_in_progress_title" msgid="4311705936714972757">"Felrapporten <xliff:g id="ID">#%d</xliff:g> genereras"</string>
-    <string name="bugreport_finished_title" msgid="4429132808670114081">"Felrapporten <xliff:g id="ID">#%d</xliff:g> har skapats"</string>
+    <string name="bugreport_in_progress_title" msgid="4311705936714972757">"Felrapport <xliff:g id="ID">#%d</xliff:g> genereras"</string>
+    <string name="bugreport_finished_title" msgid="4429132808670114081">"Felrapport <xliff:g id="ID">#%d</xliff:g> har skapats"</string>
     <string name="bugreport_updating_title" msgid="4423539949559634214">"Lägger till information i felrapporten"</string>
     <string name="bugreport_updating_wait" msgid="3322151947853929470">"Vänta …"</string>
     <string name="bugreport_finished_text" product="watch" msgid="1223616207145252689">"Felrapporten visas på mobilen inom kort"</string>
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/TEST_MAPPING b/packages/SystemUI/TEST_MAPPING
index cc01071..1362ffe 100644
--- a/packages/SystemUI/TEST_MAPPING
+++ b/packages/SystemUI/TEST_MAPPING
@@ -24,6 +24,17 @@
       "name": "SystemUIGoogleTests"
     },
     {
+      "name": "SystemUIClocksTests",
+      "options": [
+        {
+          "exclude-annotation": "org.junit.Ignore"
+        },
+        {
+          "exclude-annotation": "androidx.test.filters.FlakyTest"
+        }
+      ]
+    },
+    {
       // Permission indicators
       "name": "CtsPermissionUiTestCases",
       "options": [
diff --git a/packages/SystemUI/aconfig/systemui.aconfig b/packages/SystemUI/aconfig/systemui.aconfig
index f2c76ba..7e8d549 100644
--- a/packages/SystemUI/aconfig/systemui.aconfig
+++ b/packages/SystemUI/aconfig/systemui.aconfig
@@ -203,6 +203,16 @@
 }
 
 flag {
+    name: "notifications_hun_shared_animation_values"
+    namespace: "systemui"
+    description: "Adds a shared class for fetching HUN animation values."
+    bug: "393369891"
+    metadata {
+        purpose: PURPOSE_BUGFIX
+    }
+}
+
+flag {
     name: "notification_undo_guts_on_config_changed"
     namespace: "systemui"
     description: "Fixes a bug where a theme or font change while notification guts were open"
diff --git a/packages/SystemUI/animation/src/com/android/systemui/animation/ComposableControllerFactory.kt b/packages/SystemUI/animation/src/com/android/systemui/animation/ComposableControllerFactory.kt
new file mode 100644
index 0000000..c842159
--- /dev/null
+++ b/packages/SystemUI/animation/src/com/android/systemui/animation/ComposableControllerFactory.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.animation
+
+import android.content.ComponentName
+import android.util.Log
+import com.android.systemui.animation.ActivityTransitionAnimator.Controller
+import com.android.systemui.animation.ActivityTransitionAnimator.ControllerFactory
+import kotlinx.coroutines.flow.MutableStateFlow
+
+private const val TAG = "ComposableControllerFactory"
+
+/**
+ * [ControllerFactory] extension for Compose. Since composables are not guaranteed to be part of the
+ * composition when [ControllerFactory.createController] is called, this class provides a way for
+ * the composable to register itself at the time of composition, and deregister itself when
+ * disposed.
+ */
+abstract class ComposableControllerFactory(
+    cookie: ActivityTransitionAnimator.TransitionCookie,
+    component: ComponentName?,
+    launchCujType: Int? = null,
+    returnCujType: Int? = null,
+) : ControllerFactory(cookie, component, launchCujType, returnCujType) {
+    /**
+     * The object to be used to create [Controller]s, when its associate composable is in the
+     * composition.
+     */
+    protected val expandable = MutableStateFlow<Expandable?>(null)
+
+    /** To be called when the composable to be animated enters composition. */
+    fun onCompose(expandable: Expandable) {
+        if (TransitionAnimator.DEBUG) {
+            Log.d(TAG, "Composable entered composition (expandable=$expandable")
+        }
+        this.expandable.value = expandable
+    }
+
+    /** To be called when the composable to be animated exits composition. */
+    fun onDispose() {
+        if (TransitionAnimator.DEBUG) {
+            Log.d(TAG, "Composable left composition (expandable=${this.expandable.value}")
+        }
+        this.expandable.value = null
+    }
+}
diff --git a/packages/SystemUI/compose/core/src/com/android/compose/animation/Expandable.kt b/packages/SystemUI/compose/core/src/com/android/compose/animation/Expandable.kt
index 8739919..a352b1e 100644
--- a/packages/SystemUI/compose/core/src/com/android/compose/animation/Expandable.kt
+++ b/packages/SystemUI/compose/core/src/com/android/compose/animation/Expandable.kt
@@ -84,6 +84,7 @@
 import androidx.savedstate.setViewTreeSavedStateRegistryOwner
 import com.android.compose.modifiers.thenIf
 import com.android.compose.ui.graphics.FullScreenComposeViewInOverlay
+import com.android.systemui.animation.ComposableControllerFactory
 import com.android.systemui.animation.Expandable
 import com.android.systemui.animation.TransitionAnimator
 import kotlin.math.max
@@ -119,6 +120,10 @@
  *    }
  * ```
  *
+ * [transitionControllerFactory] must be defined when this [Expandable] is registered for a
+ * long-term launch or return animation, to ensure that animation controllers can be created
+ * correctly.
+ *
  * @sample com.android.systemui.compose.gallery.ActivityLaunchScreen
  * @sample com.android.systemui.compose.gallery.DialogLaunchScreen
  */
@@ -134,10 +139,17 @@
     // TODO(b/285250939): Default this to true then remove once the Compose QS expandables have
     // proven that the new implementation is robust.
     useModifierBasedImplementation: Boolean = false,
+    transitionControllerFactory: ComposableControllerFactory? = null,
     content: @Composable (Expandable) -> Unit,
 ) {
     Expandable(
-        rememberExpandableController(color, shape, contentColor, borderStroke),
+        rememberExpandableController(
+            color,
+            shape,
+            contentColor,
+            borderStroke,
+            transitionControllerFactory,
+        ),
         modifier,
         onClick,
         interactionSource,
@@ -183,6 +195,17 @@
 ) {
     val controller = controller as ExpandableControllerImpl
 
+    if (controller.transitionControllerFactory != null) {
+        DisposableEffect(controller.transitionControllerFactory) {
+            // Notify the transition controller factory that the expandable is now available, so it
+            // can move forward with any pending requests.
+            controller.transitionControllerFactory.onCompose(controller.expandable)
+            // Once this composable is gone, the transition controller factory must be notified so
+            // it doesn't accepts requests providing stale content.
+            onDispose { controller.transitionControllerFactory.onDispose() }
+        }
+    }
+
     if (useModifierBasedImplementation) {
         Box(modifier.expandable(controller, onClick, interactionSource)) {
             WrappedContent(controller.expandable, controller.contentColor, content)
@@ -308,34 +331,28 @@
     interactionSource: MutableInteractionSource? = null,
 ): Modifier {
     val controller = controller as ExpandableControllerImpl
+    val graphicsLayer = rememberGraphicsLayer()
 
     val isAnimating = controller.isAnimating
-    val drawInOverlayModifier =
-        if (isAnimating) {
-            val graphicsLayer = rememberGraphicsLayer()
-
-            FullScreenComposeViewInOverlay { view ->
-                Modifier.then(DrawExpandableInOverlayElement(view, controller, graphicsLayer))
-            }
-
-            Modifier.drawWithContent { graphicsLayer.record { this@drawWithContent.drawContent() } }
-        } else {
-            null
+    if (isAnimating) {
+        FullScreenComposeViewInOverlay(controller.overlay) { view ->
+            Modifier.then(DrawExpandableInOverlayElement(view, controller, graphicsLayer))
         }
+    }
 
+    val drawContent = !isAnimating && !controller.isDialogShowing
     return this.thenIf(onClick != null) { Modifier.minimumInteractiveComponentSize() }
-        .thenIf(!isAnimating) {
+        .thenIf(drawContent) {
             Modifier.border(controller)
                 .then(clickModifier(controller, onClick, interactionSource))
                 .background(controller.color, controller.shape)
         }
-        .thenIf(drawInOverlayModifier != null) { drawInOverlayModifier!! }
         .onPlaced { controller.boundsInComposeViewRoot = it.boundsInRoot() }
-        .thenIf(!isAnimating && controller.isDialogShowing) {
-            Modifier.layout { measurable, constraints ->
-                measurable.measure(constraints).run {
-                    layout(width, height) { /* Do not place/draw. */ }
-                }
+        .drawWithContent {
+            graphicsLayer.record { this@drawWithContent.drawContent() }
+
+            if (drawContent) {
+                drawLayer(graphicsLayer)
             }
         }
 }
@@ -397,7 +414,7 @@
     }
 
     override fun ContentDrawScope.draw() {
-        val state = controller.animatorState ?: return
+        val state = controller.animatorState?.takeIf { it.visible } ?: return
         val topOffset = state.top.toFloat() - composeViewLocationOnScreen[1]
         val leftOffset = state.left.toFloat() - composeViewLocationOnScreen[0]
 
diff --git a/packages/SystemUI/compose/core/src/com/android/compose/animation/ExpandableController.kt b/packages/SystemUI/compose/core/src/com/android/compose/animation/ExpandableController.kt
index a03c896..72da175e 100644
--- a/packages/SystemUI/compose/core/src/com/android/compose/animation/ExpandableController.kt
+++ b/packages/SystemUI/compose/core/src/com/android/compose/animation/ExpandableController.kt
@@ -47,6 +47,7 @@
 import androidx.compose.ui.unit.LayoutDirection
 import com.android.internal.jank.InteractionJankMonitor
 import com.android.systemui.animation.ActivityTransitionAnimator
+import com.android.systemui.animation.ComposableControllerFactory
 import com.android.systemui.animation.DialogCuj
 import com.android.systemui.animation.DialogTransitionAnimator
 import com.android.systemui.animation.Expandable
@@ -77,6 +78,7 @@
     shape: Shape,
     contentColor: Color = contentColorFor(color),
     borderStroke: BorderStroke? = null,
+    transitionControllerFactory: ComposableControllerFactory? = null,
 ): ExpandableController {
     val composeViewRoot = LocalView.current
     val density = LocalDensity.current
@@ -95,6 +97,7 @@
             composeViewRoot,
             density,
             layoutDirection,
+            transitionControllerFactory,
         ) {
             ExpandableControllerImpl(
                 color,
@@ -103,6 +106,7 @@
                 borderStroke,
                 composeViewRoot,
                 density,
+                transitionControllerFactory,
                 layoutDirection,
                 { isComposed },
             )
@@ -127,6 +131,7 @@
     internal val borderStroke: BorderStroke?,
     internal val composeViewRoot: View,
     internal val density: Density,
+    internal val transitionControllerFactory: ComposableControllerFactory?,
     private val layoutDirection: LayoutDirection,
     private val isComposed: () -> Boolean,
 ) : ExpandableController {
diff --git a/packages/SystemUI/compose/core/src/com/android/compose/theme/AndroidColorScheme.kt b/packages/SystemUI/compose/core/src/com/android/compose/theme/AndroidColorScheme.kt
index 1256641..375dade 100644
--- a/packages/SystemUI/compose/core/src/com/android/compose/theme/AndroidColorScheme.kt
+++ b/packages/SystemUI/compose/core/src/com/android/compose/theme/AndroidColorScheme.kt
@@ -41,6 +41,7 @@
  */
 @Immutable
 class AndroidColorScheme(
+    // fixed tokens
     val primaryFixed: Color,
     val primaryFixedDim: Color,
     val onPrimaryFixed: Color,
@@ -53,6 +54,34 @@
     val tertiaryFixedDim: Color,
     val onTertiaryFixed: Color,
     val onTertiaryFixedVariant: Color,
+
+    // custom tokens
+    val brandA: Color,
+    val brandB: Color,
+    val brandC: Color,
+    val brandD: Color,
+    val clockHour: Color,
+    val clockMinute: Color,
+    val clockSecond: Color,
+    val onShadeActive: Color,
+    val onShadeActiveVariant: Color,
+    val onShadeInactive: Color,
+    val onShadeInactiveVariant: Color,
+    val onThemeApp: Color,
+    val overviewBackground: Color,
+    val shadeActive: Color,
+    val shadeDisabled: Color,
+    val shadeInactive: Color,
+    val themeApp: Color,
+    val themeAppRing: Color,
+    val themeNotif: Color,
+    val underSurface: Color,
+    val weatherTemp: Color,
+    val widgetBackground: Color,
+    val surfaceEffect0: Color,
+    val surfaceEffect1: Color,
+    val surfaceEffect2: Color,
+    val surfaceEffect3: Color,
 ) {
     companion object {
         internal fun color(context: Context, @ColorRes id: Int): Color {
@@ -61,6 +90,7 @@
 
         operator fun invoke(context: Context): AndroidColorScheme {
             return AndroidColorScheme(
+                // Fixed tokens.
                 primaryFixed = color(context, R.color.system_primary_fixed),
                 primaryFixedDim = color(context, R.color.system_primary_fixed_dim),
                 onPrimaryFixed = color(context, R.color.system_on_primary_fixed),
@@ -73,6 +103,34 @@
                 tertiaryFixedDim = color(context, R.color.system_tertiary_fixed_dim),
                 onTertiaryFixed = color(context, R.color.system_on_tertiary_fixed),
                 onTertiaryFixedVariant = color(context, R.color.system_on_tertiary_fixed_variant),
+
+                // Custom tokens.
+                brandA = color(context, R.color.customColorBrandA),
+                brandB = color(context, R.color.customColorBrandB),
+                brandC = color(context, R.color.customColorBrandC),
+                brandD = color(context, R.color.customColorBrandD),
+                clockHour = color(context, R.color.customColorClockHour),
+                clockMinute = color(context, R.color.customColorClockMinute),
+                clockSecond = color(context, R.color.customColorClockSecond),
+                onShadeActive = color(context, R.color.customColorOnShadeActive),
+                onShadeActiveVariant = color(context, R.color.customColorOnShadeActiveVariant),
+                onShadeInactive = color(context, R.color.customColorOnShadeInactive),
+                onShadeInactiveVariant = color(context, R.color.customColorOnShadeInactiveVariant),
+                onThemeApp = color(context, R.color.customColorOnThemeApp),
+                overviewBackground = color(context, R.color.customColorOverviewBackground),
+                shadeActive = color(context, R.color.customColorShadeActive),
+                shadeDisabled = color(context, R.color.customColorShadeDisabled),
+                shadeInactive = color(context, R.color.customColorShadeInactive),
+                themeApp = color(context, R.color.customColorThemeApp),
+                themeAppRing = color(context, R.color.customColorThemeAppRing),
+                themeNotif = color(context, R.color.customColorThemeNotif),
+                underSurface = color(context, R.color.customColorUnderSurface),
+                weatherTemp = color(context, R.color.customColorWeatherTemp),
+                widgetBackground = color(context, R.color.customColorWidgetBackground),
+                surfaceEffect0 = color(context, R.color.surface_effect_0),
+                surfaceEffect1 = color(context, R.color.surface_effect_1),
+                surfaceEffect2 = color(context, R.color.surface_effect_2),
+                surfaceEffect3 = color(context, R.color.surface_effect_3),
             )
         }
     }
diff --git a/packages/SystemUI/compose/core/src/com/android/compose/theme/PlatformTheme.kt b/packages/SystemUI/compose/core/src/com/android/compose/theme/PlatformTheme.kt
index 71ec63c..84370ed 100644
--- a/packages/SystemUI/compose/core/src/com/android/compose/theme/PlatformTheme.kt
+++ b/packages/SystemUI/compose/core/src/com/android/compose/theme/PlatformTheme.kt
@@ -31,6 +31,7 @@
 import com.android.compose.theme.typography.TypefaceNames
 import com.android.compose.theme.typography.TypefaceTokens
 import com.android.compose.theme.typography.TypographyTokens
+import com.android.compose.theme.typography.VariableFontTypeScaleEmphasizedTokens
 import com.android.compose.theme.typography.platformTypography
 import com.android.compose.windowsizeclass.LocalWindowSizeClass
 import com.android.compose.windowsizeclass.calculateWindowSizeClass
@@ -44,9 +45,15 @@
     val colorScheme = remember(context, isDarkTheme) { platformColorScheme(isDarkTheme, context) }
     val androidColorScheme = remember(context) { AndroidColorScheme(context) }
     val typefaceNames = remember(context) { TypefaceNames.get(context) }
+    val typefaceTokens = remember(typefaceNames) { TypefaceTokens(typefaceNames) }
     val typography =
-        remember(typefaceNames) {
-            platformTypography(TypographyTokens(TypeScaleTokens(TypefaceTokens(typefaceNames))))
+        remember(typefaceTokens) {
+            platformTypography(
+                TypographyTokens(
+                    TypeScaleTokens(typefaceTokens),
+                    VariableFontTypeScaleEmphasizedTokens(typefaceTokens),
+                )
+            )
         }
     val windowSizeClass = calculateWindowSizeClass()
 
diff --git a/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/PlatformTypography.kt b/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/PlatformTypography.kt
index 1ce1ae3..652f946 100644
--- a/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/PlatformTypography.kt
+++ b/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/PlatformTypography.kt
@@ -16,6 +16,7 @@
 
 package com.android.compose.theme.typography
 
+import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
 import androidx.compose.material3.MaterialTheme
 import androidx.compose.material3.Typography
 
@@ -25,6 +26,7 @@
  * Do not use directly and call [MaterialTheme.typography] instead to access the different text
  * styles.
  */
+@OptIn(ExperimentalMaterial3ExpressiveApi::class)
 internal fun platformTypography(typographyTokens: TypographyTokens): Typography {
     return Typography(
         displayLarge = typographyTokens.displayLarge,
@@ -42,5 +44,21 @@
         labelLarge = typographyTokens.labelLarge,
         labelMedium = typographyTokens.labelMedium,
         labelSmall = typographyTokens.labelSmall,
+        // GSF emphasized tokens
+        displayLargeEmphasized = typographyTokens.displayLargeEmphasized,
+        displayMediumEmphasized = typographyTokens.displayMediumEmphasized,
+        displaySmallEmphasized = typographyTokens.displaySmallEmphasized,
+        headlineLargeEmphasized = typographyTokens.headlineLargeEmphasized,
+        headlineMediumEmphasized = typographyTokens.headlineMediumEmphasized,
+        headlineSmallEmphasized = typographyTokens.headlineSmallEmphasized,
+        titleLargeEmphasized = typographyTokens.titleLargeEmphasized,
+        titleMediumEmphasized = typographyTokens.titleMediumEmphasized,
+        titleSmallEmphasized = typographyTokens.titleSmallEmphasized,
+        bodyLargeEmphasized = typographyTokens.bodyLargeEmphasized,
+        bodyMediumEmphasized = typographyTokens.bodyMediumEmphasized,
+        bodySmallEmphasized = typographyTokens.bodySmallEmphasized,
+        labelLargeEmphasized = typographyTokens.labelLargeEmphasized,
+        labelMediumEmphasized = typographyTokens.labelMediumEmphasized,
+        labelSmallEmphasized = typographyTokens.labelSmallEmphasized,
     )
 }
diff --git a/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/TypefaceTokens.kt b/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/TypefaceTokens.kt
index 13acfd6..280b8d9 100644
--- a/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/TypefaceTokens.kt
+++ b/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/TypefaceTokens.kt
@@ -34,6 +34,29 @@
     private val brandFont = DeviceFontFamilyName(typefaceNames.brand)
     private val plainFont = DeviceFontFamilyName(typefaceNames.plain)
 
+    // Google Sans Flex emphasized styles
+    private val displayLargeEmphasizedFont =
+        DeviceFontFamilyName("variable-display-large-emphasized")
+    private val displayMediumEmphasizedFont =
+        DeviceFontFamilyName("variable-display-medium-emphasized")
+    private val displaySmallEmphasizedFont =
+        DeviceFontFamilyName("variable-display-small-emphasized")
+    private val headlineLargeEmphasizedFont =
+        DeviceFontFamilyName("variable-headline-large-emphasized")
+    private val headlineMediumEmphasizedFont =
+        DeviceFontFamilyName("variable-headline-medium-emphasized")
+    private val headlineSmallEmphasizedFont =
+        DeviceFontFamilyName("variable-headline-small-emphasized")
+    private val titleLargeEmphasizedFont = DeviceFontFamilyName("variable-title-large-emphasized")
+    private val titleMediumEmphasizedFont = DeviceFontFamilyName("variable-title-medium-emphasized")
+    private val titleSmallEmphasizedFont = DeviceFontFamilyName("variable-title-small-emphasized")
+    private val bodyLargeEmphasizedFont = DeviceFontFamilyName("variable-body-large-emphasized")
+    private val bodyMediumEmphasizedFont = DeviceFontFamilyName("variable-body-medium-emphasized")
+    private val bodySmallEmphasizedFont = DeviceFontFamilyName("variable-body-small-emphasized")
+    private val labelLargeEmphasizedFont = DeviceFontFamilyName("variable-label-large-emphasized")
+    private val labelMediumEmphasizedFont = DeviceFontFamilyName("variable-label-medium-emphasized")
+    private val labelSmallEmphasizedFont = DeviceFontFamilyName("variable-label-small-emphasized")
+
     val brand =
         FontFamily(
             Font(brandFont, weight = WeightMedium),
@@ -44,6 +67,22 @@
             Font(plainFont, weight = WeightMedium),
             Font(plainFont, weight = WeightRegular),
         )
+
+    val displayLargeEmphasized = FontFamily(Font(displayLargeEmphasizedFont))
+    val displayMediumEmphasized = FontFamily(Font(displayMediumEmphasizedFont))
+    val displaySmallEmphasized = FontFamily(Font(displaySmallEmphasizedFont))
+    val headlineLargeEmphasized = FontFamily(Font(headlineLargeEmphasizedFont))
+    val headlineMediumEmphasized = FontFamily(Font(headlineMediumEmphasizedFont))
+    val headlineSmallEmphasized = FontFamily(Font(headlineSmallEmphasizedFont))
+    val titleLargeEmphasized = FontFamily(Font(titleLargeEmphasizedFont))
+    val titleMediumEmphasized = FontFamily(Font(titleMediumEmphasizedFont))
+    val titleSmallEmphasized = FontFamily(Font(titleSmallEmphasizedFont))
+    val bodyLargeEmphasized = FontFamily(Font(bodyLargeEmphasizedFont))
+    val bodyMediumEmphasized = FontFamily(Font(bodyMediumEmphasizedFont))
+    val bodySmallEmphasized = FontFamily(Font(bodySmallEmphasizedFont))
+    val labelLargeEmphasized = FontFamily(Font(labelLargeEmphasizedFont))
+    val labelMediumEmphasized = FontFamily(Font(labelMediumEmphasizedFont))
+    val labelSmallEmphasized = FontFamily(Font(labelSmallEmphasizedFont))
 }
 
 internal data class TypefaceNames
diff --git a/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/TypographyTokens.kt b/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/TypographyTokens.kt
index 38aadb8..4115647 100644
--- a/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/TypographyTokens.kt
+++ b/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/TypographyTokens.kt
@@ -18,7 +18,10 @@
 
 import androidx.compose.ui.text.TextStyle
 
-internal class TypographyTokens(typeScaleTokens: TypeScaleTokens) {
+internal class TypographyTokens(
+    typeScaleTokens: TypeScaleTokens,
+    variableTypeScaleTokens: VariableFontTypeScaleEmphasizedTokens,
+) {
     val bodyLarge =
         TextStyle(
             fontFamily = typeScaleTokens.bodyLargeFont,
@@ -139,4 +142,112 @@
             lineHeight = typeScaleTokens.titleSmallLineHeight,
             letterSpacing = typeScaleTokens.titleSmallTracking,
         )
+    // GSF emphasized styles
+    // note: we don't need to define fontWeight or axes values because they are pre-defined
+    // as part of the font family in fonts_customization.xml (for performance optimization)
+    val displayLargeEmphasized =
+        TextStyle(
+            fontFamily = variableTypeScaleTokens.displayLargeFont,
+            fontSize = variableTypeScaleTokens.displayLargeSize,
+            lineHeight = variableTypeScaleTokens.displayLargeLineHeight,
+            letterSpacing = variableTypeScaleTokens.displayLargeTracking,
+        )
+    val displayMediumEmphasized =
+        TextStyle(
+            fontFamily = variableTypeScaleTokens.displayMediumFont,
+            fontSize = variableTypeScaleTokens.displayMediumSize,
+            lineHeight = variableTypeScaleTokens.displayMediumLineHeight,
+            letterSpacing = variableTypeScaleTokens.displayMediumTracking,
+        )
+    val displaySmallEmphasized =
+        TextStyle(
+            fontFamily = variableTypeScaleTokens.displaySmallFont,
+            fontSize = variableTypeScaleTokens.displaySmallSize,
+            lineHeight = variableTypeScaleTokens.displaySmallLineHeight,
+            letterSpacing = variableTypeScaleTokens.displaySmallTracking,
+        )
+    val headlineLargeEmphasized =
+        TextStyle(
+            fontFamily = variableTypeScaleTokens.headlineLargeFont,
+            fontSize = variableTypeScaleTokens.headlineLargeSize,
+            lineHeight = variableTypeScaleTokens.headlineLargeLineHeight,
+            letterSpacing = variableTypeScaleTokens.headlineLargeTracking,
+        )
+    val headlineMediumEmphasized =
+        TextStyle(
+            fontFamily = variableTypeScaleTokens.headlineMediumFont,
+            fontSize = variableTypeScaleTokens.headlineMediumSize,
+            lineHeight = variableTypeScaleTokens.headlineMediumLineHeight,
+            letterSpacing = variableTypeScaleTokens.headlineMediumTracking,
+        )
+    val headlineSmallEmphasized =
+        TextStyle(
+            fontFamily = variableTypeScaleTokens.headlineSmallFont,
+            fontSize = variableTypeScaleTokens.headlineSmallSize,
+            lineHeight = variableTypeScaleTokens.headlineSmallLineHeight,
+            letterSpacing = variableTypeScaleTokens.headlineSmallTracking,
+        )
+    val titleLargeEmphasized =
+        TextStyle(
+            fontFamily = variableTypeScaleTokens.titleLargeFont,
+            fontSize = variableTypeScaleTokens.titleLargeSize,
+            lineHeight = variableTypeScaleTokens.titleLargeLineHeight,
+            letterSpacing = variableTypeScaleTokens.titleLargeTracking,
+        )
+    val titleMediumEmphasized =
+        TextStyle(
+            fontFamily = variableTypeScaleTokens.titleMediumFont,
+            fontSize = variableTypeScaleTokens.titleMediumSize,
+            lineHeight = variableTypeScaleTokens.titleMediumLineHeight,
+            letterSpacing = variableTypeScaleTokens.titleMediumTracking,
+        )
+    val titleSmallEmphasized =
+        TextStyle(
+            fontFamily = variableTypeScaleTokens.titleSmallFont,
+            fontSize = variableTypeScaleTokens.titleSmallSize,
+            lineHeight = variableTypeScaleTokens.titleSmallLineHeight,
+            letterSpacing = variableTypeScaleTokens.titleSmallTracking,
+        )
+    val bodyLargeEmphasized =
+        TextStyle(
+            fontFamily = variableTypeScaleTokens.bodyLargeFont,
+            fontSize = variableTypeScaleTokens.bodyLargeSize,
+            lineHeight = variableTypeScaleTokens.bodyLargeLineHeight,
+            letterSpacing = variableTypeScaleTokens.bodyLargeTracking,
+        )
+    val bodyMediumEmphasized =
+        TextStyle(
+            fontFamily = variableTypeScaleTokens.bodyMediumFont,
+            fontSize = variableTypeScaleTokens.bodyMediumSize,
+            lineHeight = variableTypeScaleTokens.bodyMediumLineHeight,
+            letterSpacing = variableTypeScaleTokens.bodyMediumTracking,
+        )
+    val bodySmallEmphasized =
+        TextStyle(
+            fontFamily = variableTypeScaleTokens.bodySmallFont,
+            fontSize = variableTypeScaleTokens.bodySmallSize,
+            lineHeight = variableTypeScaleTokens.bodySmallLineHeight,
+            letterSpacing = variableTypeScaleTokens.bodySmallTracking,
+        )
+    val labelLargeEmphasized =
+        TextStyle(
+            fontFamily = variableTypeScaleTokens.labelLargeFont,
+            fontSize = variableTypeScaleTokens.labelLargeSize,
+            lineHeight = variableTypeScaleTokens.labelLargeLineHeight,
+            letterSpacing = variableTypeScaleTokens.labelLargeTracking,
+        )
+    val labelMediumEmphasized =
+        TextStyle(
+            fontFamily = variableTypeScaleTokens.labelMediumFont,
+            fontSize = variableTypeScaleTokens.labelMediumSize,
+            lineHeight = variableTypeScaleTokens.labelMediumLineHeight,
+            letterSpacing = variableTypeScaleTokens.labelMediumTracking,
+        )
+    val labelSmallEmphasized =
+        TextStyle(
+            fontFamily = variableTypeScaleTokens.labelSmallFont,
+            fontSize = variableTypeScaleTokens.labelSmallSize,
+            lineHeight = variableTypeScaleTokens.labelSmallLineHeight,
+            letterSpacing = variableTypeScaleTokens.labelSmallTracking,
+        )
 }
diff --git a/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/VariableFontTypeScaleEmphasizedTokens.kt b/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/VariableFontTypeScaleEmphasizedTokens.kt
new file mode 100644
index 0000000..52b9390
--- /dev/null
+++ b/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/VariableFontTypeScaleEmphasizedTokens.kt
@@ -0,0 +1,82 @@
+/*
+ * 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.compose.theme.typography
+
+import androidx.compose.ui.unit.sp
+
+internal class VariableFontTypeScaleEmphasizedTokens(typefaceTokens: TypefaceTokens) {
+    val bodyLargeFont = typefaceTokens.bodyLargeEmphasized
+    val bodyLargeLineHeight = 24.0.sp
+    val bodyLargeSize = 16.sp
+    val bodyLargeTracking = 0.0.sp
+    val bodyMediumFont = typefaceTokens.bodyMediumEmphasized
+    val bodyMediumLineHeight = 20.0.sp
+    val bodyMediumSize = 14.sp
+    val bodyMediumTracking = 0.0.sp
+    val bodySmallFont = typefaceTokens.bodySmallEmphasized
+    val bodySmallLineHeight = 16.0.sp
+    val bodySmallSize = 12.sp
+    val bodySmallTracking = 0.0.sp
+    val displayLargeFont = typefaceTokens.displayLargeEmphasized
+    val displayLargeLineHeight = 64.0.sp
+    val displayLargeSize = 57.sp
+    val displayLargeTracking = 0.0.sp
+    val displayMediumFont = typefaceTokens.displayMediumEmphasized
+    val displayMediumLineHeight = 52.0.sp
+    val displayMediumSize = 45.sp
+    val displayMediumTracking = 0.0.sp
+    val displaySmallFont = typefaceTokens.displaySmallEmphasized
+    val displaySmallLineHeight = 44.0.sp
+    val displaySmallSize = 36.sp
+    val displaySmallTracking = 0.0.sp
+    val headlineLargeFont = typefaceTokens.headlineLargeEmphasized
+    val headlineLargeLineHeight = 40.0.sp
+    val headlineLargeSize = 32.sp
+    val headlineLargeTracking = 0.0.sp
+    val headlineMediumFont = typefaceTokens.headlineMediumEmphasized
+    val headlineMediumLineHeight = 36.0.sp
+    val headlineMediumSize = 28.sp
+    val headlineMediumTracking = 0.0.sp
+    val headlineSmallFont = typefaceTokens.headlineSmallEmphasized
+    val headlineSmallLineHeight = 32.0.sp
+    val headlineSmallSize = 24.sp
+    val headlineSmallTracking = 0.0.sp
+    val labelLargeFont = typefaceTokens.labelLargeEmphasized
+    val labelLargeLineHeight = 20.0.sp
+    val labelLargeSize = 14.sp
+    val labelLargeTracking = 0.0.sp
+    val labelMediumFont = typefaceTokens.labelMediumEmphasized
+    val labelMediumLineHeight = 16.0.sp
+    val labelMediumSize = 12.sp
+    val labelMediumTracking = 0.0.sp
+    val labelSmallFont = typefaceTokens.labelSmallEmphasized
+    val labelSmallLineHeight = 16.0.sp
+    val labelSmallSize = 11.sp
+    val labelSmallTracking = 0.0.sp
+    val titleLargeFont = typefaceTokens.titleLargeEmphasized
+    val titleLargeLineHeight = 28.0.sp
+    val titleLargeSize = 22.sp
+    val titleLargeTracking = 0.0.sp
+    val titleMediumFont = typefaceTokens.titleMediumEmphasized
+    val titleMediumLineHeight = 24.0.sp
+    val titleMediumSize = 16.sp
+    val titleMediumTracking = 0.0.sp
+    val titleSmallFont = typefaceTokens.titleSmallEmphasized
+    val titleSmallLineHeight = 20.0.sp
+    val titleSmallSize = 14.sp
+    val titleSmallTracking = 0.0.sp
+}
diff --git a/packages/SystemUI/compose/core/src/com/android/compose/ui/graphics/DrawInOverlay.kt b/packages/SystemUI/compose/core/src/com/android/compose/ui/graphics/DrawInOverlay.kt
index 089da4b..d5436d3 100644
--- a/packages/SystemUI/compose/core/src/com/android/compose/ui/graphics/DrawInOverlay.kt
+++ b/packages/SystemUI/compose/core/src/com/android/compose/ui/graphics/DrawInOverlay.kt
@@ -47,15 +47,18 @@
 }
 
 @Composable
-internal fun FullScreenComposeViewInOverlay(modifier: (ComposeView) -> Modifier = { Modifier }) {
+internal fun FullScreenComposeViewInOverlay(
+    overlay: ViewGroupOverlay? = null,
+    modifier: (ComposeView) -> Modifier = { Modifier },
+) {
     val context = LocalContext.current
     val localView = LocalView.current
     val compositionContext = rememberCompositionContext()
     val displayMetrics = context.resources.displayMetrics
     val displaySize = IntSize(displayMetrics.widthPixels, displayMetrics.heightPixels)
+    val overlay = overlay ?: localView.rootView.overlay as ViewGroupOverlay
 
-    DisposableEffect(context, localView, compositionContext, displaySize) {
-        val overlay = localView.rootView.overlay as ViewGroupOverlay
+    DisposableEffect(context, localView, overlay, compositionContext, displaySize) {
         val view =
             ComposeView(context).apply {
                 setParentCompositionContext(compositionContext)
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerOverlay.kt b/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerOverlay.kt
index 48dee24..f1b273a 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerOverlay.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerOverlay.kt
@@ -24,6 +24,7 @@
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.DisposableEffect
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.platform.testTag
 import com.android.compose.animation.scene.ContentScope
 import com.android.compose.animation.scene.ElementKey
 import com.android.compose.animation.scene.UserAction
@@ -102,6 +103,8 @@
             viewModel,
             dialogFactory,
             Modifier.element(Bouncer.Elements.Content)
+                // TODO(b/393516240): Use the same sysuiResTag() as views instead.
+                .testTag(Bouncer.Elements.Content.testTag)
                 .overscroll(verticalOverscrollEffect)
                 .sysuiResTag(Bouncer.TestTags.Root)
                 .fillMaxSize(),
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt b/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt
index 9b76f15..4e1aab5 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt
@@ -282,6 +282,7 @@
             CommunalBackgroundType.ANIMATED -> AnimatedLinearGradient()
             CommunalBackgroundType.NONE -> BackgroundTopScrim()
             CommunalBackgroundType.BLUR -> Background()
+            CommunalBackgroundType.SCRIM -> Scrimmed()
         }
 
         with(content) {
@@ -304,6 +305,11 @@
     Box(modifier = Modifier.matchParentSize().background(Color(backgroundColor.toArgb())))
 }
 
+@Composable
+private fun BoxScope.Scrimmed() {
+    Box(modifier = Modifier.matchParentSize().alpha(0.34f).background(Color.Black))
+}
+
 /** Experimental hub background, static linear gradient */
 @Composable
 private fun BoxScope.StaticLinearGradient() {
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContent.kt b/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContent.kt
index 2c6d09a..2d03e2b 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContent.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContent.kt
@@ -23,7 +23,6 @@
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.layout.Layout
-import androidx.compose.ui.layout.Measurable
 import androidx.compose.ui.unit.Constraints
 import androidx.compose.ui.unit.Dp
 import androidx.compose.ui.unit.IntRect
@@ -35,7 +34,6 @@
 import com.android.systemui.communal.ui.compose.section.AmbientStatusBarSection
 import com.android.systemui.communal.ui.compose.section.CommunalLockSection
 import com.android.systemui.communal.ui.compose.section.CommunalPopupSection
-import com.android.systemui.communal.ui.compose.section.CommunalToDreamButtonSection
 import com.android.systemui.communal.ui.compose.section.HubOnboardingSection
 import com.android.systemui.communal.ui.view.layout.sections.CommunalAppWidgetSection
 import com.android.systemui.communal.ui.viewmodel.CommunalViewModel
@@ -61,7 +59,6 @@
     private val ambientStatusBarSection: AmbientStatusBarSection,
     private val communalPopupSection: CommunalPopupSection,
     private val widgetSection: CommunalAppWidgetSection,
-    private val communalToDreamButtonSection: CommunalToDreamButtonSection,
     private val hubOnboardingSection: HubOnboardingSection,
 ) {
 
@@ -103,13 +100,11 @@
                             Modifier.element(Communal.Elements.IndicationArea).fillMaxWidth()
                         )
                     }
-                    with(communalToDreamButtonSection) { Button() }
                 },
             ) { measurables, constraints ->
                 val communalGridMeasurable = measurables[0]
                 val lockIconMeasurable = measurables[1]
                 val bottomAreaMeasurable = measurables[2]
-                val screensaverButtonMeasurable: Measurable? = measurables.getOrNull(3)
 
                 val noMinConstraints = constraints.copy(minWidth = 0, minHeight = 0)
 
@@ -152,9 +147,6 @@
 
                 val bottomAreaPlaceable = bottomAreaMeasurable.measure(noMinConstraints)
 
-                val screensaverButtonPlaceable =
-                    screensaverButtonMeasurable?.measure(noMinConstraints)
-
                 val communalGridPlaceable =
                     communalGridMeasurable.measure(
                         noMinConstraints.copy(maxHeight = lockIconBounds.top)
@@ -166,26 +158,12 @@
 
                     val bottomAreaTop = constraints.maxHeight - bottomAreaPlaceable.height
                     bottomAreaPlaceable.place(x = 0, y = bottomAreaTop)
-
-                    val screensaverButtonPaddingInt = screensaverButtonPadding.roundToPx()
-                    screensaverButtonPlaceable?.place(
-                        x =
-                            constraints.maxWidth -
-                                screensaverButtonPaddingInt -
-                                screensaverButtonPlaceable.width,
-                        y =
-                            constraints.maxHeight -
-                                screensaverButtonPaddingInt -
-                                screensaverButtonPlaceable.height,
-                    )
                 }
             }
         }
     }
 
     companion object {
-        private val screensaverButtonPadding: Dp = 24.dp
-
         // TODO(b/382739998): Remove these hardcoded values once lock icon size and bottom area
         // position are sorted.
         private val lockIconSize: Dp = 54.dp
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/section/CommunalToDreamButtonSection.kt b/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/section/CommunalToDreamButtonSection.kt
deleted file mode 100644
index acaf43a..0000000
--- a/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/section/CommunalToDreamButtonSection.kt
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.communal.ui.compose.section
-
-import androidx.compose.animation.AnimatedVisibility
-import androidx.compose.animation.core.MutableTransitionState
-import androidx.compose.animation.expandVertically
-import androidx.compose.animation.fadeIn
-import androidx.compose.animation.fadeOut
-import androidx.compose.animation.shrinkVertically
-import androidx.compose.foundation.layout.Column
-import androidx.compose.foundation.layout.Spacer
-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.CornerSize
-import androidx.compose.material3.IconButtonDefaults
-import androidx.compose.material3.MaterialTheme
-import androidx.compose.material3.Surface
-import androidx.compose.material3.Text
-import androidx.compose.runtime.Composable
-import androidx.compose.runtime.LaunchedEffect
-import androidx.compose.runtime.getValue
-import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.remember
-import androidx.compose.runtime.setValue
-import androidx.compose.ui.Alignment
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.geometry.CornerRadius
-import androidx.compose.ui.geometry.Offset
-import androidx.compose.ui.geometry.RoundRect
-import androidx.compose.ui.geometry.Size
-import androidx.compose.ui.geometry.toRect
-import androidx.compose.ui.graphics.Outline
-import androidx.compose.ui.graphics.Path
-import androidx.compose.ui.graphics.Shape
-import androidx.compose.ui.input.pointer.pointerInput
-import androidx.compose.ui.res.dimensionResource
-import androidx.compose.ui.res.stringResource
-import androidx.compose.ui.unit.Density
-import androidx.compose.ui.unit.Dp
-import androidx.compose.ui.unit.LayoutDirection
-import androidx.compose.ui.unit.dp
-import com.android.compose.PlatformIconButton
-import com.android.systemui.communal.domain.interactor.CommunalSettingsInteractor
-import com.android.systemui.communal.ui.compose.extensions.observeTaps
-import com.android.systemui.communal.ui.viewmodel.CommunalToDreamButtonViewModel
-import com.android.systemui.lifecycle.rememberViewModel
-import com.android.systemui.res.R
-import javax.inject.Inject
-import kotlin.time.Duration.Companion.seconds
-import kotlinx.coroutines.delay
-
-class CommunalToDreamButtonSection
-@Inject
-constructor(
-    private val communalSettingsInteractor: CommunalSettingsInteractor,
-    private val viewModelFactory: CommunalToDreamButtonViewModel.Factory,
-) {
-    @Composable
-    fun Button() {
-        if (!communalSettingsInteractor.isV2FlagEnabled()) {
-            return
-        }
-
-        val viewModel =
-            rememberViewModel("CommunalToDreamButtonSection") { viewModelFactory.create() }
-
-        if (!viewModel.shouldShowDreamButtonOnHub) {
-            return
-        }
-
-        val buttonSize = dimensionResource(R.dimen.communal_to_dream_button_size)
-
-        if (viewModel.shouldShowTooltip) {
-            val tooltipVisibleState = remember { MutableTransitionState(false) }
-
-            Column(
-                modifier =
-                    Modifier.widthIn(max = tooltipMaxWidth).pointerInput(Unit) {
-                        observeTaps {
-                            if (tooltipVisibleState.isCurrentlyVisible()) {
-                                tooltipVisibleState.targetState = false
-                            }
-                        }
-                    }
-            ) {
-                var waitingToShowTooltip by remember { mutableStateOf(true) }
-
-                LaunchedEffect(tooltipVisibleState.targetState) {
-                    delay(3.seconds)
-                    tooltipVisibleState.targetState = true
-                    waitingToShowTooltip = false
-                }
-
-                // This LaunchedEffect is used to wait for the tooltip dismiss animation to
-                // complete before setting the tooltip dismissed. Otherwise, the composable would
-                // be removed before the animation can start.
-                LaunchedEffect(
-                    tooltipVisibleState.currentState,
-                    tooltipVisibleState.isIdle,
-                    waitingToShowTooltip,
-                ) {
-                    if (
-                        !waitingToShowTooltip &&
-                            !tooltipVisibleState.currentState &&
-                            tooltipVisibleState.isIdle
-                    ) {
-                        viewModel.setDreamButtonTooltipDismissed()
-                    }
-                }
-
-                AnimatedVisibility(
-                    visibleState = tooltipVisibleState,
-                    enter = fadeIn() + expandVertically(expandFrom = Alignment.Bottom),
-                    exit = fadeOut() + shrinkVertically(shrinkTowards = Alignment.Bottom),
-                ) {
-                    Tooltip(
-                        pointerOffsetDp = buttonSize.div(2),
-                        text = stringResource(R.string.glanceable_hub_to_dream_button_tooltip),
-                    )
-                }
-
-                GoToDreamButton(
-                    modifier = Modifier.width(buttonSize).height(buttonSize).align(Alignment.End)
-                ) {
-                    viewModel.onShowDreamButtonTap()
-                }
-            }
-        } else {
-            GoToDreamButton(modifier = Modifier.width(buttonSize).height(buttonSize)) {
-                viewModel.onShowDreamButtonTap()
-            }
-        }
-    }
-
-    private fun MutableTransitionState<Boolean>.isCurrentlyVisible() = currentState && isIdle
-
-    companion object {
-        private val tooltipMaxWidth = 350.dp
-    }
-}
-
-@Composable
-private fun GoToDreamButton(modifier: Modifier, onClick: () -> Unit) {
-    PlatformIconButton(
-        modifier = modifier,
-        onClick = onClick,
-        iconResource = R.drawable.ic_screensaver_auto,
-        contentDescription = stringResource(R.string.accessibility_glanceable_hub_to_dream_button),
-        colors =
-            IconButtonDefaults.filledIconButtonColors(
-                contentColor = MaterialTheme.colorScheme.onPrimaryContainer,
-                containerColor = MaterialTheme.colorScheme.primaryContainer,
-            ),
-    )
-}
-
-@Composable
-private fun Tooltip(pointerOffsetDp: Dp, text: String) {
-    Surface(
-        color = MaterialTheme.colorScheme.surface,
-        shape = TooltipShape(pointerSizeDp = 12.dp, pointerOffsetDp = pointerOffsetDp),
-    ) {
-        Text(
-            modifier = Modifier.padding(start = 32.dp, top = 16.dp, end = 32.dp, bottom = 32.dp),
-            color = MaterialTheme.colorScheme.onSurface,
-            text = text,
-        )
-    }
-
-    Spacer(modifier = Modifier.height(4.dp))
-}
-
-private class TooltipShape(private val pointerSizeDp: Dp, private val pointerOffsetDp: Dp) : Shape {
-
-    override fun createOutline(
-        size: Size,
-        layoutDirection: LayoutDirection,
-        density: Density,
-    ): Outline {
-
-        val pointerSizePx = with(density) { pointerSizeDp.toPx() }
-        val pointerOffsetPx = with(density) { pointerOffsetDp.toPx() }
-        val cornerRadius = CornerRadius(CornerSize(16.dp).toPx(size, density))
-        val bubbleSize = size.copy(height = size.height - pointerSizePx)
-
-        val path =
-            Path().apply {
-                addRoundRect(
-                    RoundRect(
-                        rect = bubbleSize.toRect(),
-                        topLeft = cornerRadius,
-                        topRight = cornerRadius,
-                        bottomRight = cornerRadius,
-                        bottomLeft = cornerRadius,
-                    )
-                )
-                addPath(
-                    Path().apply {
-                        moveTo(0f, 0f)
-                        lineTo(pointerSizePx / 2f, pointerSizePx)
-                        lineTo(pointerSizePx, 0f)
-                        close()
-                    },
-                    offset =
-                        Offset(
-                            x = bubbleSize.width - pointerOffsetPx - pointerSizePx / 2f,
-                            y = bubbleSize.height,
-                        ),
-                )
-            }
-
-        return Outline.Generic(path)
-    }
-}
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/LockscreenScene.kt b/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/LockscreenScene.kt
index 5e61af6..aa07370 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/LockscreenScene.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/LockscreenScene.kt
@@ -19,6 +19,7 @@
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.platform.testTag
 import com.android.compose.animation.scene.ContentScope
 import com.android.compose.animation.scene.UserAction
 import com.android.compose.animation.scene.UserActionResult
@@ -55,7 +56,11 @@
 
     @Composable
     override fun ContentScope.Content(modifier: Modifier) {
-        LockscreenScene(lockscreenContent = lockscreenContent, modifier = modifier)
+        LockscreenScene(
+            lockscreenContent = lockscreenContent,
+            // TODO(b/393516240): Use the same sysuiResTag() as views instead.
+            modifier = modifier.testTag(key.rootElementKey.testTag),
+        )
     }
 }
 
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/section/BottomAreaSection.kt b/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/section/BottomAreaSection.kt
index 52ccab3..ec7e495 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/section/BottomAreaSection.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/section/BottomAreaSection.kt
@@ -70,33 +70,29 @@
             key = if (isStart) StartButtonElementKey else EndButtonElementKey,
             modifier = modifier,
         ) {
-            content {
-                Shortcut(
-                    viewId = if (isStart) R.id.start_button else R.id.end_button,
-                    viewModel = if (isStart) viewModel.startButton else viewModel.endButton,
-                    transitionAlpha = viewModel.transitionAlpha,
-                    indicationController = indicationController,
-                    binder = keyguardQuickAffordanceViewBinder,
-                    modifier =
-                        if (applyPadding) {
-                            Modifier.shortcutPadding()
-                        } else {
-                            Modifier
-                        },
-                )
-            }
+            Shortcut(
+                viewId = if (isStart) R.id.start_button else R.id.end_button,
+                viewModel = if (isStart) viewModel.startButton else viewModel.endButton,
+                transitionAlpha = viewModel.transitionAlpha,
+                indicationController = indicationController,
+                binder = keyguardQuickAffordanceViewBinder,
+                modifier =
+                    if (applyPadding) {
+                        Modifier.shortcutPadding()
+                    } else {
+                        Modifier
+                    },
+            )
         }
     }
 
     @Composable
     fun ContentScope.IndicationArea(modifier: Modifier = Modifier) {
         Element(key = IndicationAreaElementKey, modifier = modifier.indicationAreaPadding()) {
-            content {
-                IndicationArea(
-                    indicationAreaViewModel = indicationAreaViewModel,
-                    indicationController = indicationController,
-                )
-            }
+            IndicationArea(
+                indicationAreaViewModel = indicationAreaViewModel,
+                indicationController = indicationController,
+            )
         }
     }
 
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/section/DefaultClockSection.kt b/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/section/DefaultClockSection.kt
index ae541dd..0583e8a 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/section/DefaultClockSection.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/section/DefaultClockSection.kt
@@ -26,11 +26,9 @@
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.LaunchedEffect
 import androidx.compose.runtime.getValue
-import androidx.compose.runtime.key
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.res.dimensionResource
 import androidx.compose.ui.viewinterop.AndroidView
-import androidx.core.view.contains
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.compose.animation.scene.ContentScope
 import com.android.compose.modifiers.padding
@@ -132,18 +130,16 @@
         }
 
         Element(key = largeClockElementKey, modifier = modifier) {
-            content {
-                ClockView(
-                    checkNotNull(currentClock).largeClock.view,
-                    modifier =
-                        Modifier.fillMaxSize()
-                            .burnInAware(
-                                viewModel = aodBurnInViewModel,
-                                params = burnInParams,
-                                isClock = true,
-                            ),
-                )
-            }
+            ClockView(
+                checkNotNull(currentClock).largeClock.view,
+                modifier =
+                    Modifier.fillMaxSize()
+                        .burnInAware(
+                            viewModel = aodBurnInViewModel,
+                            params = burnInParams,
+                            isClock = true,
+                        ),
+            )
         }
     }
 
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/section/SmartSpaceSection.kt b/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/section/SmartSpaceSection.kt
index c3ba7ab..505044a 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/section/SmartSpaceSection.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/section/SmartSpaceSection.kt
@@ -66,64 +66,61 @@
         val resources = LocalContext.current.resources
 
         Element(key = ClockElementKeys.smartspaceElementKey, modifier = modifier) {
-            content {
-                Column(
-                    modifier =
-                        modifier
-                            .onTopPlacementChanged(onTopChanged)
-                            .padding(
-                                top = { smartSpacePaddingTop(resources) },
-                                bottom = {
-                                    resources.getDimensionPixelSize(
-                                        R.dimen.keyguard_status_view_bottom_margin
-                                    )
-                                },
-                            )
-                ) {
-                    if (!keyguardSmartspaceViewModel.isSmartspaceEnabled) {
-                        return@Column
-                    }
+            Column(
+                modifier =
+                    modifier
+                        .onTopPlacementChanged(onTopChanged)
+                        .padding(
+                            top = { smartSpacePaddingTop(resources) },
+                            bottom = {
+                                resources.getDimensionPixelSize(
+                                    R.dimen.keyguard_status_view_bottom_margin
+                                )
+                            },
+                        )
+            ) {
+                if (!keyguardSmartspaceViewModel.isSmartspaceEnabled) {
+                    return@Column
+                }
 
-                    val paddingBelowClockStart =
-                        dimensionResource(R.dimen.below_clock_padding_start)
-                    val paddingBelowClockEnd = dimensionResource(R.dimen.below_clock_padding_end)
-                    val paddingCardHorizontal = paddingBelowClockEnd
+                val paddingBelowClockStart = dimensionResource(R.dimen.below_clock_padding_start)
+                val paddingBelowClockEnd = dimensionResource(R.dimen.below_clock_padding_end)
+                val paddingCardHorizontal = paddingBelowClockEnd
 
-                    if (keyguardSmartspaceViewModel.isDateWeatherDecoupled) {
-                        Row(
-                            verticalAlignment = Alignment.CenterVertically,
-                            modifier =
-                                Modifier.fillMaxWidth()
-                                    // All items will be constrained to be as tall as the shortest
-                                    // item.
-                                    .height(IntrinsicSize.Min)
-                                    .padding(start = paddingBelowClockStart),
-                        ) {
-                            Date(
-                                modifier =
-                                    Modifier.burnInAware(
-                                        viewModel = aodBurnInViewModel,
-                                        params = burnInParams,
-                                    )
-                            )
-                            Spacer(modifier = Modifier.width(4.dp))
-                            Weather(
-                                modifier =
-                                    Modifier.burnInAware(
-                                        viewModel = aodBurnInViewModel,
-                                        params = burnInParams,
-                                    )
-                            )
-                        }
-                    }
-
-                    Card(
+                if (keyguardSmartspaceViewModel.isDateWeatherDecoupled) {
+                    Row(
+                        verticalAlignment = Alignment.CenterVertically,
                         modifier =
                             Modifier.fillMaxWidth()
-                                .padding(start = paddingCardHorizontal, end = paddingCardHorizontal)
-                                .burnInAware(viewModel = aodBurnInViewModel, params = burnInParams)
-                    )
+                                // All items will be constrained to be as tall as the shortest
+                                // item.
+                                .height(IntrinsicSize.Min)
+                                .padding(start = paddingBelowClockStart),
+                    ) {
+                        Date(
+                            modifier =
+                                Modifier.burnInAware(
+                                    viewModel = aodBurnInViewModel,
+                                    params = burnInParams,
+                                )
+                        )
+                        Spacer(modifier = Modifier.width(4.dp))
+                        Weather(
+                            modifier =
+                                Modifier.burnInAware(
+                                    viewModel = aodBurnInViewModel,
+                                    params = burnInParams,
+                                )
+                        )
+                    }
                 }
+
+                Card(
+                    modifier =
+                        Modifier.fillMaxWidth()
+                            .padding(start = paddingCardHorizontal, end = paddingCardHorizontal)
+                            .burnInAware(viewModel = aodBurnInViewModel, params = burnInParams)
+                )
             }
         }
     }
@@ -162,7 +159,7 @@
             factory = { context ->
                 FrameLayout(context).apply {
                     addView(
-                        lockscreenSmartspaceController.buildAndConnectWeatherView(this).apply {
+                        lockscreenSmartspaceController.buildAndConnectWeatherView(this, false).apply {
                             layoutParams =
                                 FrameLayout.LayoutParams(
                                     FrameLayout.LayoutParams.WRAP_CONTENT,
@@ -187,7 +184,7 @@
             factory = { context ->
                 FrameLayout(context).apply {
                     addView(
-                        lockscreenSmartspaceController.buildAndConnectDateView(this).apply {
+                        lockscreenSmartspaceController.buildAndConnectDateView(this, false).apply {
                             layoutParams =
                                 FrameLayout.LayoutParams(
                                     FrameLayout.LayoutParams.WRAP_CONTENT,
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/section/WeatherClockSection.kt b/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/section/WeatherClockSection.kt
index 4fcb5ca..a8b2b13 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/section/WeatherClockSection.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/keyguard/ui/composable/section/WeatherClockSection.kt
@@ -24,7 +24,6 @@
 import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.wrapContentSize
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.key
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.res.dimensionResource
@@ -109,14 +108,10 @@
         modifier: Modifier = Modifier,
     ) {
         Element(key = elementKey, modifier) {
-            content {
-                ClockView(
-                    clock.largeClock.layout.views.firstOrNull {
-                        it.id == weatherClockElementViewId
-                    },
-                    modifier,
-                )
-            }
+            ClockView(
+                clock.largeClock.layout.views.firstOrNull { it.id == weatherClockElementViewId },
+                modifier,
+            )
         }
     }
 
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/qs/footer/ui/compose/FooterActions.kt b/packages/SystemUI/compose/features/src/com/android/systemui/qs/footer/ui/compose/FooterActions.kt
index 9c85c96..60c01722 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/qs/footer/ui/compose/FooterActions.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/qs/footer/ui/compose/FooterActions.kt
@@ -116,11 +116,9 @@
         QuickSettingsTheme {
             // This view has its own horizontal padding
             // TODO(b/321716470) This should use a lifecycle tied to the scene.
-            FooterActions(
-                viewModel = viewModel,
-                qsVisibilityLifecycleOwner = lifecycleOwner,
-                modifier = Modifier.element(QuickSettings.Elements.FooterActions),
-            )
+            Element(QuickSettings.Elements.FooterActions, Modifier) {
+                FooterActions(viewModel = viewModel, qsVisibilityLifecycleOwner = lifecycleOwner)
+            }
         }
     }
 }
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/ShadeHeader.kt b/packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/ShadeHeader.kt
index db9035b..23baeac 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/ShadeHeader.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/ShadeHeader.kt
@@ -440,33 +440,36 @@
 private fun ContentScope.Clock(scale: Float, onClick: () -> Unit, modifier: Modifier = Modifier) {
     val layoutDirection = LocalLayoutDirection.current
 
-    Element(key = ShadeHeader.Elements.Clock, modifier = modifier) {
+    ElementWithValues(key = ShadeHeader.Elements.Clock, modifier = modifier) {
         val animatedScale by animateElementFloatAsState(scale, ClockScale, canOverflow = false)
-        AndroidView(
-            factory = { context ->
-                Clock(
-                    ContextThemeWrapper(context, R.style.Theme_SystemUI_QuickSettings_Header),
-                    null,
-                )
-            },
-            modifier =
-                modifier
-                    // use graphicsLayer instead of Modifier.scale to anchor transform
-                    // to the (start, top) corner
-                    .graphicsLayer {
-                        scaleX = animatedScale
-                        scaleY = animatedScale
-                        transformOrigin =
-                            TransformOrigin(
-                                when (layoutDirection) {
-                                    LayoutDirection.Ltr -> 0f
-                                    LayoutDirection.Rtl -> 1f
-                                },
-                                0.5f,
-                            )
-                    }
-                    .clickable { onClick() },
-        )
+
+        content {
+            AndroidView(
+                factory = { context ->
+                    Clock(
+                        ContextThemeWrapper(context, R.style.Theme_SystemUI_QuickSettings_Header),
+                        null,
+                    )
+                },
+                modifier =
+                    modifier
+                        // use graphicsLayer instead of Modifier.scale to anchor transform to the
+                        // (start, top) corner
+                        .graphicsLayer {
+                            scaleX = animatedScale
+                            scaleY = animatedScale
+                            transformOrigin =
+                                TransformOrigin(
+                                    when (layoutDirection) {
+                                        LayoutDirection.Ltr -> 0f
+                                        LayoutDirection.Rtl -> 1f
+                                    },
+                                    0.5f,
+                                )
+                        }
+                        .clickable { onClick() },
+            )
+        }
     }
 }
 
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/volume/panel/component/volume/ui/composable/VolumeSlider.kt b/packages/SystemUI/compose/features/src/com/android/systemui/volume/panel/component/volume/ui/composable/VolumeSlider.kt
index b11c83c..4b3ebc2 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/volume/panel/component/volume/ui/composable/VolumeSlider.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/volume/panel/component/volume/ui/composable/VolumeSlider.kt
@@ -35,9 +35,9 @@
 import androidx.compose.foundation.layout.height
 import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.size
+import androidx.compose.material3.ExperimentalMaterial3Api
 import androidx.compose.material3.Icon as MaterialIcon
 import androidx.compose.material3.MaterialTheme
-import androidx.compose.material3.Slider
 import androidx.compose.material3.Text
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.LaunchedEffect
@@ -73,11 +73,15 @@
 import com.android.systemui.res.R
 import com.android.systemui.volume.haptics.ui.VolumeHapticsConfigsProvider
 import com.android.systemui.volume.panel.component.volume.slider.ui.viewmodel.SliderState
+import com.android.systemui.volume.ui.slider.AccessibilityParams
+import com.android.systemui.volume.ui.slider.Haptics
+import com.android.systemui.volume.ui.slider.Slider
 import kotlin.math.round
 import kotlinx.coroutines.flow.distinctUntilChanged
 import kotlinx.coroutines.flow.filter
 import kotlinx.coroutines.flow.map
 
+@OptIn(ExperimentalMaterial3Api::class)
 @Composable
 fun VolumeSlider(
     state: SliderState,
@@ -102,17 +106,6 @@
         return
     }
 
-    val value by valueState(state)
-    val interactionSource = remember { MutableInteractionSource() }
-    val hapticsViewModel: SliderHapticsViewModel? =
-        setUpHapticsViewModel(
-            value,
-            state.valueRange,
-            state.hapticFilter,
-            interactionSource,
-            hapticsViewModelFactory,
-        )
-
     Column(modifier = modifier.animateContentSize(), verticalArrangement = Arrangement.Top) {
         Row(
             horizontalArrangement = Arrangement.spacedBy(12.dp),
@@ -134,60 +127,30 @@
             )
             button?.invoke()
         }
+
         Slider(
-            value = value,
+            value = state.value,
             valueRange = state.valueRange,
-            onValueChange = { newValue ->
-                hapticsViewModel?.addVelocityDataPoint(newValue)
-                onValueChange(newValue)
-            },
-            onValueChangeFinished = {
-                hapticsViewModel?.onValueChangeEnded()
-                onValueChangeFinished?.invoke()
-            },
-            enabled = state.isEnabled,
+            onValueChanged = onValueChange,
+            onValueChangeFinished = { onValueChangeFinished?.invoke() },
+            isEnabled = state.isEnabled,
+            stepDistance = state.a11yStep,
+            accessibilityParams =
+                AccessibilityParams(
+                    label = state.label,
+                    disabledMessage = state.disabledMessage,
+                    currentStateDescription = state.a11yStateDescription,
+                ),
+            haptics =
+                hapticsViewModelFactory?.let {
+                    Haptics.Enabled(
+                        hapticsViewModelFactory = it,
+                        hapticFilter = state.hapticFilter,
+                        orientation = Orientation.Horizontal,
+                    )
+                } ?: Haptics.Disabled,
             modifier =
-                Modifier.height(40.dp)
-                    .padding(top = 4.dp, bottom = 12.dp)
-                    .sysuiResTag(state.label)
-                    .clearAndSetSemantics {
-                        if (state.isEnabled) {
-                            contentDescription = state.label
-                            state.a11yClickDescription?.let {
-                                customActions =
-                                    listOf(
-                                        CustomAccessibilityAction(it) {
-                                            onIconTapped()
-                                            true
-                                        }
-                                    )
-                            }
-
-                            state.a11yStateDescription?.let { stateDescription = it }
-                            progressBarRangeInfo =
-                                ProgressBarRangeInfo(state.value, state.valueRange)
-                        } else {
-                            disabled()
-                            contentDescription =
-                                state.disabledMessage?.let { "${state.label}, $it" } ?: state.label
-                        }
-                        setProgress { targetValue ->
-                            val targetDirection =
-                                when {
-                                    targetValue > value -> 1
-                                    targetValue < value -> -1
-                                    else -> 0
-                                }
-
-                            val newValue =
-                                (value + targetDirection * state.a11yStep).coerceIn(
-                                    state.valueRange.start,
-                                    state.valueRange.endInclusive,
-                                )
-                            onValueChange(newValue)
-                            true
-                        }
-                    },
+                Modifier.height(40.dp).padding(top = 4.dp, bottom = 12.dp).sysuiResTag(state.label),
         )
         state.disabledMessage?.let { disabledMessage ->
             AnimatedVisibility(visible = !state.isEnabled) {
@@ -348,7 +311,7 @@
 }
 
 @Composable
-fun setUpHapticsViewModel(
+private fun setUpHapticsViewModel(
     value: Float,
     valueRange: ClosedFloatingPointRange<Float>,
     hapticFilter: SliderHapticFeedbackFilter,
diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/Element.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/Element.kt
index 907b5bc..05958a2 100644
--- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/Element.kt
+++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/Element.kt
@@ -169,7 +169,7 @@
             Modifier.maybeElevateInContent(layoutImpl, content, key, currentTransitionStates)
         }
         .then(ElementModifier(layoutImpl, currentTransitionStates, content, key))
-        .testTag(key.testTag)
+        .thenIf(layoutImpl.implicitTestTags) { Modifier.testTag(key.testTag) }
 }
 
 /**
diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/MovableElement.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/MovableElement.kt
index f4af5f0..eab5206 100644
--- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/MovableElement.kt
+++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/MovableElement.kt
@@ -35,6 +35,21 @@
     sceneOrOverlay: Content,
     key: ElementKey,
     modifier: Modifier,
+    content: @Composable BoxScope.() -> Unit,
+) {
+    Box(
+        modifier.element(layoutImpl, sceneOrOverlay, key),
+        propagateMinConstraints = true,
+        content = content,
+    )
+}
+
+@Composable
+internal fun ElementWithValues(
+    layoutImpl: SceneTransitionLayoutImpl,
+    sceneOrOverlay: Content,
+    key: ElementKey,
+    modifier: Modifier,
     content: @Composable ElementScope<ElementContentScope>.() -> Unit,
 ) {
     Box(modifier.element(layoutImpl, sceneOrOverlay, key), propagateMinConstraints = true) {
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 f423bab..404f1b2 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
@@ -22,6 +22,7 @@
 import androidx.compose.foundation.OverscrollEffect
 import androidx.compose.foundation.OverscrollFactory
 import androidx.compose.foundation.gestures.Orientation
+import androidx.compose.foundation.layout.BoxScope
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.SideEffect
 import androidx.compose.runtime.Stable
@@ -65,6 +66,8 @@
     swipeSourceDetector: SwipeSourceDetector = DefaultEdgeDetector,
     swipeDetector: SwipeDetector = DefaultSwipeDetector,
     @FloatRange(from = 0.0, to = 0.5) transitionInterceptionThreshold: Float = 0.05f,
+    // TODO(b/240432457) Remove this once test utils can access the internal STLForTesting().
+    implicitTestTags: Boolean = false,
     builder: SceneTransitionLayoutScope<ContentScope>.() -> Unit,
 ) {
     SceneTransitionLayoutForTesting(
@@ -73,6 +76,7 @@
         swipeSourceDetector,
         swipeDetector,
         transitionInterceptionThreshold,
+        implicitTestTags = implicitTestTags,
         onLayoutImpl = null,
         builder = builder,
     )
@@ -188,7 +192,7 @@
      * Additionally, this [key] will be used to detect elements that are shared between contents to
      * automatically interpolate their size and offset. If you need to animate shared element values
      * (i.e. values associated to this element that change depending on which content it is composed
-     * in), use [Element] instead.
+     * in), use [ElementWithValues] instead.
      *
      * Note that shared elements tagged using this function will be duplicated in each content they
      * are part of, so any **internal** state (e.g. state created using `remember {
@@ -196,9 +200,12 @@
      * [MovableElement] instead.
      *
      * @see Element
+     * @see ElementWithValues
      * @see MovableElement
      */
-    fun Modifier.element(key: ElementKey): Modifier
+    // TODO(b/389985793): Does replacing this by Element have a noticeable impact on performance and
+    // should we deprecate it?
+    @Stable fun Modifier.element(key: ElementKey): Modifier
 
     /**
      * Create an element identified by [key].
@@ -207,17 +214,29 @@
      * in multiple contents and that can be transformed during transitions, the same way that
      * [element] does.
      *
-     * The only difference with [element] is that the provided [ElementScope] allows you to
-     * [animate element values][ElementScope.animateElementValueAsState] or specify its
-     * [movable content][Element.movableContent] that will be "moved" and composed only once during
-     * transitions (as opposed to [element] that duplicates shared elements) so that any internal
-     * state is preserved during and after the transition.
+     * The only difference with [element] is that [Element] introduces its own recomposition scope
+     * and layout node, which can be helpful to avoid expensive recompositions when a transition is
+     * started or finished (see b/389985793#comment103 for details).
      *
      * @see element
+     * @see ElementWithValues
      * @see MovableElement
      */
     @Composable
-    fun Element(
+    fun Element(key: ElementKey, modifier: Modifier, content: @Composable BoxScope.() -> Unit)
+
+    /**
+     * Create an element identified by [key].
+     *
+     * The only difference with [Element] is that the provided [ElementScope] allows you to
+     * [animate element values][ElementScope.animateElementValueAsState].
+     *
+     * @see element
+     * @see Element
+     * @see MovableElement
+     */
+    @Composable
+    fun ElementWithValues(
         key: ElementKey,
         modifier: Modifier,
 
@@ -230,17 +249,19 @@
     /**
      * Create a *movable* element identified by [key].
      *
-     * Similar to [Element], this creates an element that will be automatically shared when present
-     * in multiple contents and that can be transformed during transitions, and you can also use the
-     * provided [ElementScope] to [animate element values][ElementScope.animateElementValueAsState].
+     * Similar to [ElementWithValues], this creates an element that will be automatically shared
+     * when present in multiple contents and that can be transformed during transitions, and you can
+     * also use the provided [ElementScope] to
+     * [animate element values][ElementScope.animateElementValueAsState].
      *
-     * The important difference with [element] and [Element] is that this element
-     * [content][ElementScope.content] will be "moved" and composed only once during transitions, as
-     * opposed to [element] and [Element] that duplicates shared elements, so that any internal
-     * state is preserved during and after the transition.
+     * The important difference with [element], [Element] and [ElementWithValues] is that this
+     * element [content][ElementScope.content] will be "moved" and composed only once during
+     * transitions, as opposed to [element], [Element] and [ElementWithValues] that duplicates
+     * shared elements, so that any internal state is preserved during and after the transition.
      *
      * @see element
      * @see Element
+     * @see ElementWithValues
      */
     @Composable
     fun MovableElement(
@@ -415,7 +436,7 @@
  *
  * We can't reuse BoxScope directly because of the @LayoutScopeMarker annotation on it, which would
  * prevent us from calling Modifier.element() and other methods of [ContentScope] inside any Box {}
- * in the [content][ElementScope.content] of a [ContentScope.Element] or a
+ * in the [content][ElementScope.content] of a [ContentScope.ElementWithValues] or a
  * [ContentScope.MovableElement].
  */
 @Stable
@@ -709,10 +730,8 @@
 }
 
 /**
- * An internal version of [SceneTransitionLayout] to be used for tests.
- *
- * Important: You should use this only in tests and if you need to access the underlying
- * [SceneTransitionLayoutImpl]. In other cases, you should use [SceneTransitionLayout].
+ * An internal version of [SceneTransitionLayout] to be used for tests, that provides access to the
+ * internal [SceneTransitionLayoutImpl] and implicitly tags all scenes and elements.
  */
 @Composable
 internal fun SceneTransitionLayoutForTesting(
@@ -725,6 +744,7 @@
     sharedElementMap: MutableMap<ElementKey, Element> = remember { mutableMapOf() },
     ancestors: List<Ancestor> = remember { emptyList() },
     lookaheadScope: LookaheadScope? = null,
+    implicitTestTags: Boolean = true,
     builder: SceneTransitionLayoutScope<InternalContentScope>.() -> Unit,
 ) {
     val density = LocalDensity.current
@@ -749,6 +769,7 @@
                 directionChangeSlop = directionChangeSlop,
                 defaultEffectFactory = defaultEffectFactory,
                 decayAnimationSpec = decayAnimationSpec,
+                implicitTestTags = implicitTestTags,
             )
             .also { onLayoutImpl?.invoke(it) }
     }
diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayoutImpl.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayoutImpl.kt
index 53996d2..e3c4eb0 100644
--- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayoutImpl.kt
+++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayoutImpl.kt
@@ -122,6 +122,9 @@
      * This is used to enable transformations and shared elements across NestedSTLs.
      */
     internal val ancestors: List<Ancestor> = emptyList(),
+
+    /** Whether elements and scene should be tagged using `Modifier.testTag`. */
+    internal val implicitTestTags: Boolean = false,
     lookaheadScope: LookaheadScope? = null,
     defaultEffectFactory: OverscrollFactory,
 ) {
diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/content/Content.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/content/Content.kt
index 95d6440..149a9e7 100644
--- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/content/Content.kt
+++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/content/Content.kt
@@ -21,6 +21,7 @@
 import androidx.compose.foundation.OverscrollEffect
 import androidx.compose.foundation.OverscrollFactory
 import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.BoxScope
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.CompositionLocalProvider
 import androidx.compose.runtime.Stable
@@ -45,6 +46,7 @@
 import com.android.compose.animation.scene.ElementKey
 import com.android.compose.animation.scene.ElementScope
 import com.android.compose.animation.scene.ElementStateScope
+import com.android.compose.animation.scene.ElementWithValues
 import com.android.compose.animation.scene.InternalContentScope
 import com.android.compose.animation.scene.MovableElement
 import com.android.compose.animation.scene.MovableElementContentScope
@@ -171,7 +173,7 @@
                 .thenIf(layoutImpl.state.isElevationPossible(content = key, element = null)) {
                     Modifier.container(containerState)
                 }
-                .testTag(key.testTag)
+                .thenIf(layoutImpl.implicitTestTags) { Modifier.testTag(key.testTag) }
         ) {
             CompositionLocalProvider(LocalOverscrollFactory provides lastFactory) {
                 scope.content()
@@ -222,12 +224,21 @@
     override fun Element(
         key: ElementKey,
         modifier: Modifier,
-        content: @Composable (ElementScope<ElementContentScope>.() -> Unit),
+        content: @Composable BoxScope.() -> Unit,
     ) {
         Element(layoutImpl, this@ContentScopeImpl.content, key, modifier, content)
     }
 
     @Composable
+    override fun ElementWithValues(
+        key: ElementKey,
+        modifier: Modifier,
+        content: @Composable (ElementScope<ElementContentScope>.() -> Unit),
+    ) {
+        ElementWithValues(layoutImpl, this@ContentScopeImpl.content, key, modifier, content)
+    }
+
+    @Composable
     override fun MovableElement(
         key: MovableElementKey,
         modifier: Modifier,
@@ -290,6 +301,7 @@
             sharedElementMap = layoutImpl.elements,
             ancestors = ancestors,
             lookaheadScope = layoutImpl.lookaheadScope,
+            implicitTestTags = layoutImpl.implicitTestTags,
         )
     }
 }
diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/AnimatedSharedAsStateTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/AnimatedSharedAsStateTest.kt
index d11e6da1..d06e040 100644
--- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/AnimatedSharedAsStateTest.kt
+++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/AnimatedSharedAsStateTest.kt
@@ -67,7 +67,7 @@
     @Composable
     private fun ContentScope.Foo(targetValues: Values, onCurrentValueChanged: (Values) -> Unit) {
         val key = TestElements.Foo
-        Element(key, Modifier) {
+        ElementWithValues(key, Modifier) {
             val int by animateElementIntAsState(targetValues.int, key = TestValues.Value1)
             val float by animateElementFloatAsState(targetValues.float, key = TestValues.Value2)
             val dp by animateElementDpAsState(targetValues.dp, key = TestValues.Value3)
diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/ElementTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/ElementTest.kt
index 698a808..86cbfe4 100644
--- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/ElementTest.kt
+++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/ElementTest.kt
@@ -227,7 +227,7 @@
             to = SceneB,
             transitionLayout = { state ->
                 coroutineScope = rememberCoroutineScope()
-                SceneTransitionLayout(state) {
+                SceneTransitionLayoutForTesting(state) {
                     scene(SceneA) {
                         Box(Modifier.size(layoutSize)) {
                             // Transformed element
@@ -633,7 +633,7 @@
 
         val scope =
             rule.setContentAndCreateMainScope {
-                SceneTransitionLayout(state) {
+                SceneTransitionLayoutForTesting(state) {
                     scene(SceneA) { Box(Modifier.element(TestElements.Foo).size(20.dp)) }
                     scene(SceneB) {}
                 }
@@ -674,7 +674,7 @@
             CompositionLocalProvider(
                 LocalOverscrollFactory provides rememberOffsetOverscrollEffectFactory()
             ) {
-                SceneTransitionLayout(state, Modifier.size(layoutWidth, layoutHeight)) {
+                SceneTransitionLayoutForTesting(state, Modifier.size(layoutWidth, layoutHeight)) {
                     scene(key = SceneA, userActions = mapOf(Swipe.Down to SceneB)) {
                         Spacer(Modifier.fillMaxSize())
                     }
@@ -734,7 +734,7 @@
             CompositionLocalProvider(
                 LocalOverscrollFactory provides rememberOffsetOverscrollEffectFactory()
             ) {
-                SceneTransitionLayout(state, Modifier.size(layoutWidth, layoutHeight)) {
+                SceneTransitionLayoutForTesting(state, Modifier.size(layoutWidth, layoutHeight)) {
                     scene(key = SceneA, userActions = mapOf(Swipe.Down to SceneB)) {
                         Spacer(
                             Modifier.overscroll(verticalOverscrollEffect)
@@ -834,7 +834,7 @@
             CompositionLocalProvider(
                 LocalOverscrollFactory provides rememberOffsetOverscrollEffectFactory()
             ) {
-                SceneTransitionLayout(state, Modifier.size(layoutWidth, layoutHeight)) {
+                SceneTransitionLayoutForTesting(state, Modifier.size(layoutWidth, layoutHeight)) {
                     scene(key = SceneA, userActions = mapOf(Swipe.Down to SceneB)) {
                         Spacer(Modifier.fillMaxSize())
                     }
@@ -893,7 +893,7 @@
             CompositionLocalProvider(
                 LocalOverscrollFactory provides rememberOffsetOverscrollEffectFactory()
             ) {
-                SceneTransitionLayout(
+                SceneTransitionLayoutForTesting(
                     state = state,
                     modifier = Modifier.size(layoutWidth, layoutHeight),
                 ) {
@@ -970,7 +970,7 @@
 
         rule.setContent {
             touchSlop = LocalViewConfiguration.current.touchSlop
-            SceneTransitionLayout(
+            SceneTransitionLayoutForTesting(
                 state = state,
                 modifier = Modifier.size(layoutWidth, layoutHeight),
             ) {
@@ -1057,7 +1057,7 @@
         rule.setContent {
             coroutineScope = rememberCoroutineScope()
 
-            SceneTransitionLayout(state) {
+            SceneTransitionLayoutForTesting(state) {
                 scene(SceneA) {
                     Box(Modifier.size(layoutSize)) {
                         Box(
@@ -1163,7 +1163,7 @@
         @Composable
         fun ContentScope.Foo(size: Dp, value: Float, modifier: Modifier = Modifier) {
             val contentKey = this.contentKey
-            Element(TestElements.Foo, modifier.size(size)) {
+            ElementWithValues(TestElements.Foo, modifier.size(size)) {
                 val animatedValue = animateElementFloatAsState(value, TestValues.Value1)
                 LaunchedEffect(animatedValue) {
                     snapshotFlow { animatedValue.value }.collect { lastValues[contentKey] = it }
@@ -1374,7 +1374,7 @@
 
         val scope =
             rule.setContentAndCreateMainScope {
-                SceneTransitionLayout(state, Modifier.size(layoutSize)) {
+                SceneTransitionLayoutForTesting(state, Modifier.size(layoutSize)) {
                     scene(SceneA) {
                         Box(Modifier.fillMaxSize()) { Foo(Modifier.align(Alignment.TopStart)) }
                     }
@@ -1742,7 +1742,7 @@
 
         val scope =
             rule.setContentAndCreateMainScope {
-                SceneTransitionLayout(state, Modifier.size(200.dp)) {
+                SceneTransitionLayoutForTesting(state, Modifier.size(200.dp)) {
                     scene(SceneA) { Foo(offset = 0.dp) }
                     scene(SceneB) { Foo(offset = 20.dp) }
                     scene(SceneC) { Foo(offset = 40.dp) }
@@ -1828,7 +1828,7 @@
 
         val scope =
             rule.setContentAndCreateMainScope {
-                SceneTransitionLayout(state) {
+                SceneTransitionLayoutForTesting(state) {
                     scene(SceneB) { Foo(Modifier.offset(40.dp, 60.dp)) }
 
                     // Define A after B so that Foo is placed in A during A <=> B.
@@ -1887,7 +1887,7 @@
 
         val scope =
             rule.setContentAndCreateMainScope {
-                SceneTransitionLayout(state) {
+                SceneTransitionLayoutForTesting(state) {
                     scene(SceneA) { Foo() }
                     scene(SceneB) { Foo(Modifier.offset(40.dp, 60.dp)) }
                 }
@@ -2090,11 +2090,9 @@
             TestContentScope(currentScene = SceneA) {
                 Column {
                     Element(TestElements.Foo, Modifier.size(40.dp)) {
-                        content {
-                            // Modifier.size() sets a preferred size and this should be ignored
-                            // because of the previously set 40dp size.
-                            Box(Modifier.testTag(contentTestTag).size(20.dp))
-                        }
+                        // Modifier.size() sets a preferred size and this should be ignored because
+                        // of the previously set 40dp size.
+                        Box(Modifier.testTag(contentTestTag).size(20.dp))
                     }
 
                     MovableElement(movable, Modifier.size(40.dp)) {
@@ -2283,4 +2281,35 @@
             .assertSizeIsEqualTo(50.dp)
             .assertPositionInRootIsEqualTo(100.dp, 100.dp)
     }
+
+    @Test
+    fun elementContentIsNotRecomposedWhenATransitionStarts() {
+        var compositions = 0
+        val state = rule.runOnUiThread { MutableSceneTransitionLayoutStateForTests(SceneA) }
+        val scope =
+            rule.setContentAndCreateMainScope {
+                SceneTransitionLayoutForTesting(state) {
+                    scene(SceneA) {
+                        Box(Modifier.fillMaxSize()) {
+                            Element(TestElements.Foo, Modifier) { SideEffect { compositions++ } }
+                        }
+                    }
+                    scene(SceneB) { Box(Modifier.fillMaxSize()) }
+                    scene(SceneC) { Box(Modifier.fillMaxSize()) }
+                }
+            }
+
+        assertThat(compositions).isEqualTo(1)
+
+        scope.launch { state.startTransition(transition(SceneA, SceneB)) }
+        rule.waitForIdle()
+
+        scope.launch { state.startTransition(transition(SceneA, SceneC)) }
+        rule.waitForIdle()
+
+        scope.launch { state.startTransition(transition(SceneA, SceneB)) }
+        rule.waitForIdle()
+
+        assertThat(compositions).isEqualTo(1)
+    }
 }
diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/MovableElementTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/MovableElementTest.kt
index e023936..ebbde70 100644
--- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/MovableElementTest.kt
+++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/MovableElementTest.kt
@@ -313,7 +313,7 @@
     fun elementScopeExtendsBoxScope() {
         rule.setContent {
             TestContentScope {
-                Element(TestElements.Foo, Modifier.size(200.dp)) {
+                ElementWithValues(TestElements.Foo, Modifier.size(200.dp)) {
                     content {
                         Box {
                             Box(Modifier.testTag("bottomEnd").align(Alignment.BottomEnd))
diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/OverlayTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/OverlayTest.kt
index 04c762f..98ecb64 100644
--- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/OverlayTest.kt
+++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/OverlayTest.kt
@@ -90,7 +90,7 @@
         lateinit var coroutineScope: CoroutineScope
         rule.setContent {
             coroutineScope = rememberCoroutineScope()
-            SceneTransitionLayout(state, Modifier.size(200.dp)) {
+            SceneTransitionLayoutForTesting(state, Modifier.size(200.dp)) {
                 scene(SceneA) { Box(Modifier.fillMaxSize()) { Foo() } }
                 overlay(OverlayA) { Foo() }
             }
@@ -132,7 +132,7 @@
         lateinit var coroutineScope: CoroutineScope
         rule.setContent {
             coroutineScope = rememberCoroutineScope()
-            SceneTransitionLayout(state, Modifier.size(200.dp)) {
+            SceneTransitionLayoutForTesting(state, Modifier.size(200.dp)) {
                 scene(SceneA) { Box(Modifier.fillMaxSize()) { Foo() } }
                 overlay(OverlayA) { Foo() }
                 overlay(OverlayB) { Foo() }
@@ -230,7 +230,7 @@
         lateinit var coroutineScope: CoroutineScope
         rule.setContent {
             coroutineScope = rememberCoroutineScope()
-            SceneTransitionLayout(state, Modifier.size(200.dp)) {
+            SceneTransitionLayoutForTesting(state, Modifier.size(200.dp)) {
                 scene(SceneA) { Box(Modifier.fillMaxSize()) { MovableBar() } }
                 overlay(OverlayA) { MovableBar() }
                 overlay(OverlayB) { MovableBar() }
@@ -302,7 +302,7 @@
             }
         var alignment by mutableStateOf(Alignment.Center)
         rule.setContent {
-            SceneTransitionLayout(state, Modifier.size(200.dp)) {
+            SceneTransitionLayoutForTesting(state, Modifier.size(200.dp)) {
                 scene(SceneA) { Box(Modifier.fillMaxSize()) { Foo() } }
                 overlay(OverlayA, alignment = alignment) { Foo() }
             }
@@ -761,7 +761,7 @@
         val movableElementChildTag = "movableElementChildTag"
         val scope =
             rule.setContentAndCreateMainScope {
-                SceneTransitionLayout(state) {
+                SceneTransitionLayoutForTesting(state) {
                     scene(SceneA) {
                         MovableElement(key, Modifier) {
                             content { Box(Modifier.testTag(movableElementChildTag).size(100.dp)) }
diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/PredictiveBackHandlerTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/PredictiveBackHandlerTest.kt
index 2bf2358..366b11d 100644
--- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/PredictiveBackHandlerTest.kt
+++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/PredictiveBackHandlerTest.kt
@@ -250,7 +250,7 @@
             }
 
         rule.setContent {
-            SceneTransitionLayout(state, Modifier.size(200.dp)) {
+            SceneTransitionLayoutForTesting(state, Modifier.size(200.dp)) {
                 scene(SceneA) { Box(Modifier.fillMaxSize()) }
                 overlay(OverlayA) { Box(Modifier.fillMaxSize()) }
                 overlay(OverlayB) { Box(Modifier.fillMaxSize()) }
diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SceneTransitionLayoutTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SceneTransitionLayoutTest.kt
index 3578be4..fa7661b6 100644
--- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SceneTransitionLayoutTest.kt
+++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SceneTransitionLayoutTest.kt
@@ -97,7 +97,7 @@
             MutableSceneTransitionLayoutStateForTests(SceneA, EmptyTestTransitions)
         }
 
-        SceneTransitionLayout(state = layoutState, modifier = Modifier.size(LayoutSize)) {
+        SceneTransitionLayoutForTesting(state = layoutState, modifier = Modifier.size(LayoutSize)) {
             scene(SceneA, userActions = mapOf(Back to SceneB)) {
                 Box(Modifier.fillMaxSize()) {
                     SharedFoo(size = 50.dp, childOffset = 0.dp, Modifier.align(Alignment.TopEnd))
@@ -129,7 +129,7 @@
 
     @Composable
     private fun ContentScope.SharedFoo(size: Dp, childOffset: Dp, modifier: Modifier = Modifier) {
-        Element(TestElements.Foo, modifier.size(size).background(Color.Red)) {
+        ElementWithValues(TestElements.Foo, modifier.size(size).background(Color.Red)) {
             // Offset the single child of Foo by some animated shared offset.
             val offset by animateElementDpAsState(childOffset, TestValues.Value1)
 
diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SwipeToSceneTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SwipeToSceneTest.kt
index 751b314..11abbbe 100644
--- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SwipeToSceneTest.kt
+++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SwipeToSceneTest.kt
@@ -763,7 +763,7 @@
         var touchSlop = 0f
         rule.setContent {
             touchSlop = LocalViewConfiguration.current.touchSlop
-            SceneTransitionLayout(state, Modifier.size(layoutSize)) {
+            SceneTransitionLayoutForTesting(state, Modifier.size(layoutSize)) {
                 scene(SceneA, userActions = mapOf(Swipe.Start to SceneB, Swipe.End to SceneC)) {
                     Box(Modifier.fillMaxSize())
                 }
@@ -837,7 +837,7 @@
         rule.setContent {
             touchSlop = LocalViewConfiguration.current.touchSlop
             CompositionLocalProvider(LocalLayoutDirection provides LayoutDirection.Rtl) {
-                SceneTransitionLayout(state, Modifier.size(layoutSize)) {
+                SceneTransitionLayoutForTesting(state, Modifier.size(layoutSize)) {
                     scene(SceneA, userActions = mapOf(Swipe.Start to SceneB, Swipe.End to SceneC)) {
                         Box(Modifier.fillMaxSize())
                     }
diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/transformation/NestedElementTransformationTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/transformation/NestedElementTransformationTest.kt
index bb511bc..8b56892 100644
--- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/transformation/NestedElementTransformationTest.kt
+++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/transformation/NestedElementTransformationTest.kt
@@ -40,7 +40,7 @@
 import com.android.compose.animation.scene.MutableSceneTransitionLayoutStateForTests
 import com.android.compose.animation.scene.Scale
 import com.android.compose.animation.scene.SceneKey
-import com.android.compose.animation.scene.SceneTransitionLayout
+import com.android.compose.animation.scene.SceneTransitionLayoutForTesting
 import com.android.compose.animation.scene.SceneTransitions
 import com.android.compose.animation.scene.TestScenes
 import com.android.compose.animation.scene.testNestedTransition
@@ -114,7 +114,7 @@
         @Composable
         (states: List<MutableSceneTransitionLayoutState>) -> Unit =
         { states ->
-            SceneTransitionLayout(states[0]) {
+            SceneTransitionLayoutForTesting(states[0]) {
                 scene(TestScenes.SceneA, content = { TestElement(elementVariant0A) })
                 scene(
                     TestScenes.SceneB,
diff --git a/packages/SystemUI/compose/scene/tests/utils/src/com/android/compose/animation/scene/TestContentScope.kt b/packages/SystemUI/compose/scene/tests/utils/src/com/android/compose/animation/scene/TestContentScope.kt
index 6d47bab..e56d1be 100644
--- a/packages/SystemUI/compose/scene/tests/utils/src/com/android/compose/animation/scene/TestContentScope.kt
+++ b/packages/SystemUI/compose/scene/tests/utils/src/com/android/compose/animation/scene/TestContentScope.kt
@@ -30,5 +30,7 @@
     content: @Composable ContentScope.() -> Unit,
 ) {
     val state = rememberMutableSceneTransitionLayoutState(currentScene)
-    SceneTransitionLayout(state, modifier) { scene(currentScene, content = content) }
+    SceneTransitionLayout(state, modifier, implicitTestTags = true) {
+        scene(currentScene, content = content)
+    }
 }
diff --git a/packages/SystemUI/compose/scene/tests/utils/src/com/android/compose/animation/scene/TestTransition.kt b/packages/SystemUI/compose/scene/tests/utils/src/com/android/compose/animation/scene/TestTransition.kt
index f94a7ed..a362a37 100644
--- a/packages/SystemUI/compose/scene/tests/utils/src/com/android/compose/animation/scene/TestTransition.kt
+++ b/packages/SystemUI/compose/scene/tests/utils/src/com/android/compose/animation/scene/TestTransition.kt
@@ -137,7 +137,7 @@
         },
         changeState = changeState,
         transitionLayout = { state ->
-            SceneTransitionLayout(state, layoutModifier) {
+            SceneTransitionLayout(state, layoutModifier, implicitTestTags = true) {
                 scene(fromScene, content = fromSceneContent)
                 scene(toScene, content = toSceneContent)
             }
@@ -163,7 +163,7 @@
             )
         },
         transitionLayout = { state ->
-            SceneTransitionLayout(state) {
+            SceneTransitionLayout(state, implicitTestTags = true) {
                 scene(fromScene) { fromSceneContent() }
                 overlay(overlay) { overlayContent() }
             }
@@ -191,7 +191,7 @@
             )
         },
         transitionLayout = { state ->
-            SceneTransitionLayout(state) {
+            SceneTransitionLayout(state, implicitTestTags = true) {
                 scene(toScene) { toSceneContent() }
                 overlay(overlay) { overlayContent() }
             }
@@ -223,7 +223,7 @@
             )
         },
         transitionLayout = { state ->
-            SceneTransitionLayout(state) {
+            SceneTransitionLayout(state, implicitTestTags = true) {
                 scene(currentScene) { currentSceneContent() }
                 overlay(from, alignment = fromAlignment) { fromContent() }
                 overlay(to, alignment = toAlignment) { toContent() }
@@ -273,7 +273,7 @@
                 }
             }
 
-            SceneTransitionLayout(state, layoutModifier) {
+            SceneTransitionLayout(state, layoutModifier, implicitTestTags = true) {
                 scene(fromScene, content = fromSceneContent)
                 scene(toScene, content = toSceneContent)
             }
diff --git a/packages/SystemUI/customization/res/values/dimens.xml b/packages/SystemUI/customization/res/values/dimens.xml
index 2bb5541..723f9bff 100644
--- a/packages/SystemUI/customization/res/values/dimens.xml
+++ b/packages/SystemUI/customization/res/values/dimens.xml
@@ -34,6 +34,7 @@
     <dimen name="small_clock_padding_top">28dp</dimen>
     <dimen name="clock_padding_start">28dp</dimen>
     <dimen name="weather_date_icon_padding">28dp</dimen>
+    <dimen name="clock_vertical_digit_buffer">8dp</dimen>
 
     <!-- When large clock is showing, offset the smartspace by this amount -->
     <dimen name="keyguard_smartspace_top_offset">12dp</dimen>
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/CanvasUtil.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/CanvasUtil.kt
new file mode 100644
index 0000000..dd1599e
--- /dev/null
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/CanvasUtil.kt
@@ -0,0 +1,32 @@
+/*
+ * 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 android.graphics.Canvas
+
+object CanvasUtil {
+    fun Canvas.translate(pt: VPointF) = this.translate(pt.x, pt.y)
+
+    fun Canvas.translate(pt: VPoint) = this.translate(pt.x.toFloat(), pt.y.toFloat())
+
+    fun <T> Canvas.use(func: (Canvas) -> T): T {
+        val saveNum = save()
+        val result = func(this)
+        restoreToCount(saveNum)
+        return result
+    }
+}
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/ComposedDigitalLayerController.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/ComposedDigitalLayerController.kt
index f905527..b9200c1 100644
--- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/ComposedDigitalLayerController.kt
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/ComposedDigitalLayerController.kt
@@ -55,7 +55,6 @@
         val layerCfg =
             LayerConfig(
                 style = FontTextStyle(lineHeight = 147.25f),
-                timespec = DigitalTimespec.DIGIT_PAIR,
                 alignment = DigitalAlignment(HorizontalAlignment.CENTER, VerticalAlignment.CENTER),
                 aodStyle =
                     FontTextStyle(
@@ -63,12 +62,23 @@
                         transitionDuration = 750,
                     ),
 
-                // Placeholder
+                // Placeholders
+                timespec = DigitalTimespec.TIME_FULL_FORMAT,
                 dateTimeFormat = "hh:mm",
             )
 
-        createController(layerCfg.copy(dateTimeFormat = "hh"))
-        createController(layerCfg.copy(dateTimeFormat = "mm"))
+        createController(
+            layerCfg.copy(timespec = DigitalTimespec.FIRST_DIGIT, dateTimeFormat = "hh")
+        )
+        createController(
+            layerCfg.copy(timespec = DigitalTimespec.SECOND_DIGIT, dateTimeFormat = "hh")
+        )
+        createController(
+            layerCfg.copy(timespec = DigitalTimespec.FIRST_DIGIT, dateTimeFormat = "mm")
+        )
+        createController(
+            layerCfg.copy(timespec = DigitalTimespec.SECOND_DIGIT, dateTimeFormat = "mm")
+        )
     }
 
     private fun refreshTime() {
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockProvider.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockProvider.kt
index aad1276..654478a 100644
--- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockProvider.kt
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockProvider.kt
@@ -28,6 +28,7 @@
 import com.android.systemui.plugins.clocks.ClockPickerConfig
 import com.android.systemui.plugins.clocks.ClockProvider
 import com.android.systemui.plugins.clocks.ClockSettings
+import com.android.systemui.shared.clocks.FlexClockController.Companion.AXIS_PRESETS
 import com.android.systemui.shared.clocks.FlexClockController.Companion.getDefaultAxes
 
 private val TAG = DefaultClockProvider::class.simpleName
@@ -98,16 +99,16 @@
             throw IllegalArgumentException("${settings.clockId} is unsupported by $TAG")
         }
 
-        val fontAxes =
-            if (!isClockReactiveVariantsEnabled) listOf()
-            else getDefaultAxes(settings).merge(settings.axes)
         return ClockPickerConfig(
             settings.clockId ?: DEFAULT_CLOCK_ID,
             resources.getString(R.string.clock_default_name),
             resources.getString(R.string.clock_default_description),
             resources.getDrawable(R.drawable.clock_default_thumbnail, null),
             isReactiveToTone = true,
-            axes = fontAxes,
+            axes =
+                if (!isClockReactiveVariantsEnabled) emptyList()
+                else getDefaultAxes(settings).merge(settings.axes),
+            axisPresets = if (!isClockReactiveVariantsEnabled) emptyList() else AXIS_PRESETS,
         )
     }
 
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DigitTranslateAnimator.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DigitTranslateAnimator.kt
index 3869706..f5ccc52 100644
--- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DigitTranslateAnimator.kt
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DigitTranslateAnimator.kt
@@ -20,57 +20,42 @@
 import android.animation.AnimatorListenerAdapter
 import android.animation.TimeInterpolator
 import android.animation.ValueAnimator
-import android.graphics.Point
+import com.android.systemui.shared.clocks.VPointF.Companion.times
 
-class DigitTranslateAnimator(val updateCallback: () -> Unit) {
-    val DEFAULT_ANIMATION_DURATION = 500L
-    val updatedTranslate = Point(0, 0)
+class DigitTranslateAnimator(private val updateCallback: (VPointF) -> Unit) {
+    var currentTranslation = VPointF.ZERO
+    var baseTranslation = VPointF.ZERO
+    var targetTranslation = VPointF.ZERO
 
-    val baseTranslation = Point(0, 0)
-    var targetTranslation: Point? = null
-    val bounceAnimator: ValueAnimator =
+    private val bounceAnimator: ValueAnimator =
         ValueAnimator.ofFloat(1f).apply {
-            duration = DEFAULT_ANIMATION_DURATION
-            addUpdateListener {
-                updateTranslation(it.animatedFraction, updatedTranslate)
-                updateCallback()
-            }
+            addUpdateListener { updateCallback(getInterpolatedTranslation(it.animatedFraction)) }
             addListener(
                 object : AnimatorListenerAdapter() {
                     override fun onAnimationEnd(animation: Animator) {
-                        rebase()
+                        baseTranslation = currentTranslation
                     }
 
                     override fun onAnimationCancel(animation: Animator) {
-                        rebase()
+                        baseTranslation = currentTranslation
                     }
                 }
             )
         }
 
-    fun rebase() {
-        baseTranslation.x = updatedTranslate.x
-        baseTranslation.y = updatedTranslate.y
-    }
-
     fun animatePosition(
         animate: Boolean = true,
         delay: Long = 0,
-        duration: Long = -1L,
+        duration: Long,
         interpolator: TimeInterpolator? = null,
-        targetTranslation: Point? = null,
+        targetTranslation: VPointF,
         onAnimationEnd: Runnable? = null,
     ) {
-        this.targetTranslation = targetTranslation ?: Point(0, 0)
+        this.targetTranslation = targetTranslation
         if (animate) {
             bounceAnimator.cancel()
             bounceAnimator.startDelay = delay
-            bounceAnimator.duration =
-                if (duration == -1L) {
-                    DEFAULT_ANIMATION_DURATION
-                } else {
-                    duration
-                }
+            bounceAnimator.duration = duration
             interpolator?.let { bounceAnimator.interpolator = it }
             if (onAnimationEnd != null) {
                 val listener =
@@ -89,16 +74,13 @@
             bounceAnimator.start()
         } else {
             // No animation is requested, thus set base and target state to the same state.
-            updateTranslation(1F, updatedTranslate)
-            rebase()
-            updateCallback()
+            currentTranslation = targetTranslation
+            baseTranslation = targetTranslation
+            updateCallback(targetTranslation)
         }
     }
 
-    fun updateTranslation(progress: Float, outPoint: Point) {
-        outPoint.x =
-            (baseTranslation.x + progress * (targetTranslation!!.x - baseTranslation.x)).toInt()
-        outPoint.y =
-            (baseTranslation.y + progress * (targetTranslation!!.y - baseTranslation.y)).toInt()
+    fun getInterpolatedTranslation(progress: Float): VPointF {
+        return baseTranslation + progress * (targetTranslation - baseTranslation)
     }
 }
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 ac1c5a8..1a1033b 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
@@ -132,7 +132,7 @@
             listOf(
                 GSFAxes.WEIGHT.toClockAxis(
                     type = AxisType.Float,
-                    currentValue = 400f,
+                    currentValue = 475f,
                     name = "Weight",
                     description = "Glyph Weight",
                 ),
@@ -161,5 +161,59 @@
                 GSFAxes.ROUND.toClockAxisSetting(100f),
                 GSFAxes.SLANT.toClockAxisSetting(0f),
             )
+
+        val AXIS_PRESETS =
+            listOf(
+                FONT_AXES.map { it.toSetting() },
+                LEGACY_FLEX_SETTINGS,
+                listOf( // Porcelain
+                    GSFAxes.WEIGHT.toClockAxisSetting(500f),
+                    GSFAxes.WIDTH.toClockAxisSetting(100f),
+                    GSFAxes.ROUND.toClockAxisSetting(0f),
+                    GSFAxes.SLANT.toClockAxisSetting(0f),
+                ),
+                listOf( // Midnight
+                    GSFAxes.WEIGHT.toClockAxisSetting(300f),
+                    GSFAxes.WIDTH.toClockAxisSetting(100f),
+                    GSFAxes.ROUND.toClockAxisSetting(100f),
+                    GSFAxes.SLANT.toClockAxisSetting(-10f),
+                ),
+                listOf( // Sterling
+                    GSFAxes.WEIGHT.toClockAxisSetting(1000f),
+                    GSFAxes.WIDTH.toClockAxisSetting(100f),
+                    GSFAxes.ROUND.toClockAxisSetting(0f),
+                    GSFAxes.SLANT.toClockAxisSetting(0f),
+                ),
+                listOf( // Smoky Green
+                    GSFAxes.WEIGHT.toClockAxisSetting(150f),
+                    GSFAxes.WIDTH.toClockAxisSetting(50f),
+                    GSFAxes.ROUND.toClockAxisSetting(0f),
+                    GSFAxes.SLANT.toClockAxisSetting(0f),
+                ),
+                listOf( // Iris
+                    GSFAxes.WEIGHT.toClockAxisSetting(500f),
+                    GSFAxes.WIDTH.toClockAxisSetting(100f),
+                    GSFAxes.ROUND.toClockAxisSetting(100f),
+                    GSFAxes.SLANT.toClockAxisSetting(0f),
+                ),
+                listOf( // Margarita
+                    GSFAxes.WEIGHT.toClockAxisSetting(300f),
+                    GSFAxes.WIDTH.toClockAxisSetting(30f),
+                    GSFAxes.ROUND.toClockAxisSetting(100f),
+                    GSFAxes.SLANT.toClockAxisSetting(-10f),
+                ),
+                listOf( // Raspberry
+                    GSFAxes.WEIGHT.toClockAxisSetting(700f),
+                    GSFAxes.WIDTH.toClockAxisSetting(140f),
+                    GSFAxes.ROUND.toClockAxisSetting(100f),
+                    GSFAxes.SLANT.toClockAxisSetting(-7f),
+                ),
+                listOf( // Ultra Blue
+                    GSFAxes.WEIGHT.toClockAxisSetting(850f),
+                    GSFAxes.WIDTH.toClockAxisSetting(130f),
+                    GSFAxes.ROUND.toClockAxisSetting(0f),
+                    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 b4c2f5d..2282863 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
@@ -35,12 +35,14 @@
 import com.android.systemui.plugins.clocks.ThemeConfig
 import com.android.systemui.plugins.clocks.WeatherData
 import com.android.systemui.plugins.clocks.ZenData
+import com.android.systemui.shared.clocks.ViewUtils.computeLayoutDiff
 import com.android.systemui.shared.clocks.view.FlexClockView
 import com.android.systemui.shared.clocks.view.HorizontalAlignment
 import com.android.systemui.shared.clocks.view.VerticalAlignment
 import java.util.Locale
 import java.util.TimeZone
 import kotlin.math.max
+import kotlin.math.roundToInt
 
 // TODO(b/364680879): Merge w/ ComposedDigitalLayerController
 class FlexClockFaceController(clockCtx: ClockContext, private val isLargeClock: Boolean) :
@@ -168,17 +170,17 @@
                         else targetRegion.height() / maxHeight
 
                     FrameLayout.LayoutParams(
-                        (maxWidth * scale).toInt(),
-                        (maxHeight * scale).toInt(),
+                        (maxWidth * scale).roundToInt(),
+                        (maxHeight * scale).roundToInt(),
                     )
                 }
 
             lp.gravity = Gravity.CENTER
             view.layoutParams = lp
             targetRegion?.let {
-                val (xDiff, yDiff) = computeLayoutDiff(view, it, isLargeClock)
-                view.translationX = xDiff
-                view.translationY = yDiff
+                val diff = view.computeLayoutDiff(it, isLargeClock)
+                view.translationX = diff.x
+                view.translationY = diff.y
             }
         }
 
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/LayoutUtils.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/LayoutUtils.kt
deleted file mode 100644
index ef8bee0..0000000
--- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/LayoutUtils.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.shared.clocks
-
-import android.graphics.Rect
-import android.view.View
-
-fun computeLayoutDiff(
-    view: View,
-    targetRegion: Rect,
-    isLargeClock: Boolean,
-): Pair<Float, Float> {
-    val parent = view.parent
-    if (parent is View && parent.isLaidOut() && isLargeClock) {
-        return Pair(
-            targetRegion.centerX() - parent.width / 2f,
-            targetRegion.centerY() - parent.height / 2f
-        )
-    }
-    return Pair(0f, 0f)
-}
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/VPoint.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/VPoint.kt
new file mode 100644
index 0000000..3dae530
--- /dev/null
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/VPoint.kt
@@ -0,0 +1,224 @@
+/*
+ * 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 android.graphics.Point
+import android.graphics.PointF
+import android.graphics.Rect
+import android.graphics.RectF
+import kotlin.math.abs
+import kotlin.math.max
+import kotlin.math.min
+import kotlin.math.sqrt
+
+private val X_MASK: ULong = 0xFFFFFFFF00000000U
+private val Y_MASK: ULong = 0x00000000FFFFFFFFU
+
+private fun unpackX(data: ULong): Int = ((data and X_MASK) shr 32).toInt()
+
+private fun unpackY(data: ULong): Int = (data and Y_MASK).toInt()
+
+private fun pack(x: Int, y: Int): ULong {
+    return ((x.toULong() shl 32) and X_MASK) or (y.toULong() and Y_MASK)
+}
+
+@JvmInline
+value class VPointF(private val data: ULong) {
+    val x: Float
+        get() = Float.fromBits(unpackX(data))
+
+    val y: Float
+        get() = Float.fromBits(unpackY(data))
+
+    constructor() : this(0f, 0f)
+
+    constructor(pt: PointF) : this(pt.x, pt.y)
+
+    constructor(x: Int, y: Int) : this(x.toFloat(), y.toFloat())
+
+    constructor(x: Int, y: Float) : this(x.toFloat(), y)
+
+    constructor(x: Float, y: Int) : this(x, y.toFloat())
+
+    constructor(x: Float, y: Float) : this(pack(x.toBits(), y.toBits()))
+
+    fun toPointF() = PointF(x, y)
+
+    fun lengthSq(): Float = x * x + y * y
+
+    fun length(): Float = sqrt(lengthSq())
+
+    fun abs() = VPointF(abs(x), abs(y))
+
+    fun dot(pt: VPointF): Float = x * pt.x + y * pt.y
+
+    fun normalize(): VPointF {
+        val length = this.length()
+        return VPointF(x / length, y / length)
+    }
+
+    operator fun component1(): Float = x
+
+    operator fun component2(): Float = y
+
+    override fun toString() = "($x, $y)"
+
+    operator fun plus(pt: VPoint) = VPointF(x + pt.x, y + pt.y)
+
+    operator fun plus(pt: VPointF) = VPointF(x + pt.x, y + pt.y)
+
+    operator fun plus(value: Int) = VPointF(x + value, y + value)
+
+    operator fun plus(value: Float) = VPointF(x + value, y + value)
+
+    operator fun minus(pt: VPoint) = VPointF(x - pt.x, y - pt.y)
+
+    operator fun minus(pt: VPointF) = VPointF(x - pt.x, y - pt.y)
+
+    operator fun minus(value: Int) = VPointF(x - value, y - value)
+
+    operator fun minus(value: Float) = VPointF(x - value, y - value)
+
+    operator fun times(pt: VPoint) = VPointF(x * pt.x, y * pt.y)
+
+    operator fun times(pt: VPointF) = VPointF(x * pt.x, y * pt.y)
+
+    operator fun times(value: Int) = VPointF(x * value, y * value)
+
+    operator fun times(value: Float) = VPointF(x * value, y * value)
+
+    operator fun div(pt: VPoint) = VPointF(x / pt.x, y / pt.y)
+
+    operator fun div(pt: VPointF) = VPointF(x / pt.x, y / pt.y)
+
+    operator fun div(value: Int) = VPointF(x / value, y / value)
+
+    operator fun div(value: Float) = VPointF(x / value, y / value)
+
+    companion object {
+        val ZERO = VPointF(0, 0)
+
+        fun max(lhs: VPointF, rhs: VPointF) = VPointF(max(lhs.x, rhs.x), max(lhs.y, rhs.y))
+
+        fun min(lhs: VPointF, rhs: VPointF) = VPointF(min(lhs.x, rhs.x), min(lhs.y, rhs.y))
+
+        operator fun Float.plus(value: VPointF) = VPointF(this + value.x, this + value.y)
+
+        operator fun Int.minus(value: VPointF) = VPointF(this - value.x, this - value.y)
+
+        operator fun Float.minus(value: VPointF) = VPointF(this - value.x, this - value.y)
+
+        operator fun Int.times(value: VPointF) = VPointF(this * value.x, this * value.y)
+
+        operator fun Float.times(value: VPointF) = VPointF(this * value.x, this * value.y)
+
+        operator fun Int.div(value: VPointF) = VPointF(this / value.x, this / value.y)
+
+        operator fun Float.div(value: VPointF) = VPointF(this / value.x, this / value.y)
+
+        val RectF.center: VPointF
+            get() = VPointF(centerX(), centerY())
+
+        val RectF.size: VPointF
+            get() = VPointF(width(), height())
+    }
+}
+
+@JvmInline
+value class VPoint(private val data: ULong) {
+    val x: Int
+        get() = unpackX(data)
+
+    val y: Int
+        get() = unpackY(data)
+
+    constructor() : this(0, 0)
+
+    constructor(x: Int, y: Int) : this(pack(x, y))
+
+    fun toPoint() = Point(x, y)
+
+    fun abs() = VPoint(abs(x), abs(y))
+
+    operator fun component1(): Int = x
+
+    operator fun component2(): Int = y
+
+    override fun toString() = "($x, $y)"
+
+    operator fun plus(pt: VPoint) = VPoint(x + pt.x, y + pt.y)
+
+    operator fun plus(pt: VPointF) = VPointF(x + pt.x, y + pt.y)
+
+    operator fun plus(value: Int) = VPoint(x + value, y + value)
+
+    operator fun plus(value: Float) = VPointF(x + value, y + value)
+
+    operator fun minus(pt: VPoint) = VPoint(x - pt.x, y - pt.y)
+
+    operator fun minus(pt: VPointF) = VPointF(x - pt.x, y - pt.y)
+
+    operator fun minus(value: Int) = VPoint(x - value, y - value)
+
+    operator fun minus(value: Float) = VPointF(x - value, y - value)
+
+    operator fun times(pt: VPoint) = VPoint(x * pt.x, y * pt.y)
+
+    operator fun times(pt: VPointF) = VPointF(x * pt.x, y * pt.y)
+
+    operator fun times(value: Int) = VPoint(x * value, y * value)
+
+    operator fun times(value: Float) = VPointF(x * value, y * value)
+
+    operator fun div(pt: VPoint) = VPoint(x / pt.x, y / pt.y)
+
+    operator fun div(pt: VPointF) = VPointF(x / pt.x, y / pt.y)
+
+    operator fun div(value: Int) = VPoint(x / value, y / value)
+
+    operator fun div(value: Float) = VPointF(x / value, y / value)
+
+    companion object {
+        val ZERO = VPoint(0, 0)
+
+        fun max(lhs: VPoint, rhs: VPoint) = VPoint(max(lhs.x, rhs.x), max(lhs.y, rhs.y))
+
+        fun min(lhs: VPoint, rhs: VPoint) = VPoint(min(lhs.x, rhs.x), min(lhs.y, rhs.y))
+
+        operator fun Int.plus(value: VPoint) = VPoint(this + value.x, this + value.y)
+
+        operator fun Float.plus(value: VPoint) = VPointF(this + value.x, this + value.y)
+
+        operator fun Int.minus(value: VPoint) = VPoint(this - value.x, this - value.y)
+
+        operator fun Float.minus(value: VPoint) = VPointF(this - value.x, this - value.y)
+
+        operator fun Int.times(value: VPoint) = VPoint(this * value.x, this * value.y)
+
+        operator fun Float.times(value: VPoint) = VPointF(this * value.x, this * value.y)
+
+        operator fun Int.div(value: VPoint) = VPoint(this / value.x, this / value.y)
+
+        operator fun Float.div(value: VPoint) = VPointF(this / value.x, this / value.y)
+
+        val Rect.center: VPoint
+            get() = VPoint(centerX(), centerY())
+
+        val Rect.size: VPoint
+            get() = VPoint(width(), height())
+    }
+}
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/ViewUtils.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/ViewUtils.kt
new file mode 100644
index 0000000..1e90a23
--- /dev/null
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/ViewUtils.kt
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.shared.clocks
+
+import android.graphics.Rect
+import android.view.View
+import com.android.systemui.shared.clocks.VPoint.Companion.center
+import com.android.systemui.shared.clocks.VPointF.Companion.center
+
+object ViewUtils {
+    fun View.computeLayoutDiff(targetRegion: Rect, isLargeClock: Boolean): VPointF {
+        val parent = this.parent
+        if (parent is View && parent.isLaidOut() && isLargeClock) {
+            return targetRegion.center - parent.size / 2f
+        }
+        return VPointF.ZERO
+    }
+
+    val View.size: VPointF
+        get() = VPointF(width, height)
+
+    val View.measuredSize: VPointF
+        get() = VPointF(measuredWidth, measuredHeight)
+}
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/FlexClockView.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/FlexClockView.kt
index a9f91e0..2d0ca53 100644
--- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/FlexClockView.kt
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/FlexClockView.kt
@@ -17,28 +17,37 @@
 package com.android.systemui.shared.clocks.view
 
 import android.graphics.Canvas
-import android.graphics.Point
+import android.graphics.RectF
 import android.icu.text.NumberFormat
 import android.util.MathUtils.constrainedMap
 import android.view.View
 import android.view.ViewGroup
-import android.widget.FrameLayout
 import android.widget.RelativeLayout
 import androidx.annotation.VisibleForTesting
+import androidx.core.view.children
 import com.android.app.animation.Interpolators
 import com.android.systemui.customization.R
 import com.android.systemui.plugins.clocks.ClockFontAxisSetting
 import com.android.systemui.plugins.clocks.ClockLogger
+import com.android.systemui.shared.clocks.CanvasUtil.translate
+import com.android.systemui.shared.clocks.CanvasUtil.use
 import com.android.systemui.shared.clocks.ClockContext
 import com.android.systemui.shared.clocks.DigitTranslateAnimator
+import com.android.systemui.shared.clocks.VPointF
+import com.android.systemui.shared.clocks.VPointF.Companion.max
+import com.android.systemui.shared.clocks.VPointF.Companion.times
+import com.android.systemui.shared.clocks.ViewUtils.measuredSize
 import java.util.Locale
+import kotlin.collections.filterNotNull
+import kotlin.collections.map
 import kotlin.math.abs
 import kotlin.math.max
 import kotlin.math.min
+import kotlin.math.roundToInt
 
 fun clamp(value: Float, minVal: Float, maxVal: Float): Float = max(min(value, maxVal), minVal)
 
-class FlexClockView(clockCtx: ClockContext) : FrameLayout(clockCtx.context) {
+class FlexClockView(clockCtx: ClockContext) : ViewGroup(clockCtx.context) {
     protected val logger = ClockLogger(this, clockCtx.messageBuffer, this::class.simpleName!!)
         get() = field ?: ClockLogger.INIT_LOGGER
 
@@ -46,13 +55,13 @@
     var isAnimationEnabled = true
         set(value) {
             field = value
-            digitalClockTextViewMap.forEach { _, view -> view.isAnimationEnabled = value }
+            childViews.forEach { view -> view.isAnimationEnabled = value }
         }
 
     var dozeFraction: Float = 0F
         set(value) {
             field = value
-            digitalClockTextViewMap.forEach { _, view -> view.dozeFraction = field }
+            childViews.forEach { view -> view.dozeFraction = field }
         }
 
     var isReactiveTouchInteractionEnabled = false
@@ -60,12 +69,20 @@
             field = value
         }
 
-    var digitalClockTextViewMap = mutableMapOf<Int, SimpleDigitalClockTextView>()
-    private val digitLeftTopMap = mutableMapOf<Int, Point>()
+    var _childViews: List<SimpleDigitalClockTextView>? = null
+    val childViews: List<SimpleDigitalClockTextView>
+        get() {
+            return _childViews
+                ?: this.children
+                    .map { child -> child as? SimpleDigitalClockTextView }
+                    .filterNotNull()
+                    .toList()
+                    .also { _childViews = it }
+        }
 
-    private var maxSingleDigitSize = Point(-1, -1)
-    private val lockscreenTranslate = Point(0, 0)
-    private var aodTranslate = Point(0, 0)
+    private var maxChildSize = VPointF(-1, -1)
+    private val lockscreenTranslate = VPointF.ZERO
+    private var aodTranslate = VPointF.ZERO
 
     private var onAnimateDoze: (() -> Unit)? = null
     private var isDozeReadyToAnimate = false
@@ -85,63 +102,53 @@
 
     private val digitOffsets = mutableMapOf<Int, Float>()
 
-    protected fun calculateSize(widthMeasureSpec: Int, heightMeasureSpec: Int): Point? {
-        maxSingleDigitSize = Point(-1, -1)
-        val viewHeight: (textView: SimpleDigitalClockTextView) -> Int = { textView ->
-            if (isMonoVerticalNumericLineSpacing) {
-                maxSingleDigitSize.y
-            } else {
-                (textView.paint.fontMetrics.descent - textView.paint.fontMetrics.ascent).toInt()
-            }
-        }
+    protected fun calculateSize(
+        widthMeasureSpec: Int,
+        heightMeasureSpec: Int,
+        shouldMeasureChildren: Boolean,
+    ): VPointF {
+        maxChildSize = VPointF(-1, -1)
+        fun SimpleDigitalClockTextView.getSize() = VPointF(measuredWidth, measuredHeight)
 
-        digitalClockTextViewMap.forEach { (_, textView) ->
-            textView.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED)
-            maxSingleDigitSize.x = max(maxSingleDigitSize.x, textView.measuredWidth)
-            maxSingleDigitSize.y = max(viewHeight(textView), textView.measuredHeight)
+        childViews.forEach { textView ->
+            if (shouldMeasureChildren) {
+                textView.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED)
+            }
+            maxChildSize = max(maxChildSize, textView.getSize())
         }
-        aodTranslate = Point(0, 0)
+        aodTranslate = VPointF.ZERO
         // TODO(b/364680879): Cleanup
         /*
-        aodTranslate = Point(
-            (maxSingleDigitSize.x * AOD_HORIZONTAL_TRANSLATE_RATIO).toInt(),
-            (maxSingleDigitSize.y * AOD_VERTICAL_TRANSLATE_RATIO).toInt())
-        */
-        return Point(
-            ((maxSingleDigitSize.x + abs(aodTranslate.x)) * 2),
-            ((maxSingleDigitSize.y + abs(aodTranslate.y)) * 2),
+        aodTranslate = VPointF(
+            maxChildSize.x * AOD_HORIZONTAL_TRANSLATE_RATIO,
+            maxChildSize.y * AOD_VERTICAL_TRANSLATE_RATIO
         )
+        */
+
+        val xScale = if (childViews.size < 4) 1f else 2f
+        val yBuffer = context.resources.getDimensionPixelSize(R.dimen.clock_vertical_digit_buffer)
+        return (maxChildSize + aodTranslate.abs()) * VPointF(xScale, 2f) + VPointF(0f, yBuffer)
     }
 
-    protected fun calculateLeftTopPosition() {
-        digitLeftTopMap[R.id.HOUR_FIRST_DIGIT] = Point(0, 0)
-        digitLeftTopMap[R.id.HOUR_SECOND_DIGIT] = Point(maxSingleDigitSize.x, 0)
-        digitLeftTopMap[R.id.MINUTE_FIRST_DIGIT] = Point(0, maxSingleDigitSize.y)
-        digitLeftTopMap[R.id.MINUTE_SECOND_DIGIT] = Point(maxSingleDigitSize)
-        digitLeftTopMap[R.id.HOUR_DIGIT_PAIR] = Point(maxSingleDigitSize.x / 2, 0)
-        // Add a small vertical buffer for the second digit pair
-        digitLeftTopMap[R.id.MINUTE_DIGIT_PAIR] =
-            Point(maxSingleDigitSize.x / 2, (maxSingleDigitSize.y * 1.05f).toInt())
-        digitLeftTopMap.forEach { (_, point) ->
-            point.x += abs(aodTranslate.x)
-            point.y += abs(aodTranslate.y)
-        }
-    }
-
-    override fun addView(child: View?) {
+    override fun onViewAdded(child: View?) {
         if (child == null) return
-        logger.addView(child)
-        super.addView(child)
+        logger.onViewAdded(child)
+        super.onViewAdded(child)
         (child as? SimpleDigitalClockTextView)?.let {
-            it.digitTranslateAnimator = DigitTranslateAnimator(::invalidate)
-            digitalClockTextViewMap[child.id] = child
+            it.digitTranslateAnimator = DigitTranslateAnimator { invalidate() }
         }
         child.setWillNotDraw(true)
+        _childViews = null
+    }
+
+    override fun onViewRemoved(child: View?) {
+        super.onViewRemoved(child)
+        _childViews = null
     }
 
     fun refreshTime() {
         logger.refreshTime()
-        digitalClockTextViewMap.forEach { (_, textView) -> textView.refreshText() }
+        childViews.forEach { textView -> textView.refreshText() }
     }
 
     override fun setVisibility(visibility: Int) {
@@ -164,38 +171,97 @@
         super.requestLayout()
     }
 
+    fun updateMeasuredSize() =
+        updateMeasuredSize(
+            measuredWidthAndState,
+            measuredHeightAndState,
+            shouldMeasureChildren = false,
+        )
+
+    private fun updateMeasuredSize(
+        widthMeasureSpec: Int = measuredWidthAndState,
+        heightMeasureSpec: Int = measuredHeightAndState,
+        shouldMeasureChildren: Boolean,
+    ) {
+        val size = calculateSize(widthMeasureSpec, heightMeasureSpec, shouldMeasureChildren)
+        setMeasuredDimension(size.x.roundToInt(), size.y.roundToInt())
+    }
+
+    fun updateLocation() {
+        val layoutBounds = this.layoutBounds ?: return
+        setFrame(
+            (layoutBounds.centerX() - measuredWidth / 2f).roundToInt(),
+            (layoutBounds.centerY() - measuredHeight / 2f).roundToInt(),
+            (layoutBounds.centerX() + measuredWidth / 2f).roundToInt(),
+            (layoutBounds.centerY() + measuredHeight / 2f).roundToInt(),
+        )
+        updateChildFrames(isLayout = false)
+    }
+
     override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
-        logger.onMeasure()
-        calculateSize(widthMeasureSpec, heightMeasureSpec)?.let { size ->
-            setMeasuredDimension(size.x, size.y)
-        } ?: run { super.onMeasure(widthMeasureSpec, heightMeasureSpec) }
-        calculateLeftTopPosition()
+        logger.onMeasure(widthMeasureSpec, heightMeasureSpec)
+        updateMeasuredSize(widthMeasureSpec, heightMeasureSpec, shouldMeasureChildren = true)
 
         isDozeReadyToAnimate = true
         onAnimateDoze?.invoke()
         onAnimateDoze = null
     }
 
+    private val layoutBounds = RectF()
+
     override fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int) {
-        logger.onLayout()
-        super.onLayout(changed, left, top, right, bottom)
+        logger.onLayout(changed, left, top, right, bottom)
+
+        layoutBounds.left = left.toFloat()
+        layoutBounds.top = top.toFloat()
+        layoutBounds.right = right.toFloat()
+        layoutBounds.bottom = bottom.toFloat()
+
+        updateChildFrames(isLayout = true)
+    }
+
+    private fun updateChildFrames(isLayout: Boolean) {
+        val yBuffer = context.resources.getDimensionPixelSize(R.dimen.clock_vertical_digit_buffer)
+        childViews.forEach { child ->
+            var offset =
+                maxChildSize.run {
+                    when (child.id) {
+                        R.id.HOUR_FIRST_DIGIT -> VPointF.ZERO
+                        R.id.HOUR_SECOND_DIGIT -> VPointF(x, 0f)
+                        R.id.HOUR_DIGIT_PAIR -> VPointF.ZERO
+                        // Add a small vertical buffer for second line views
+                        R.id.MINUTE_DIGIT_PAIR -> VPointF(0f, y + yBuffer)
+                        R.id.MINUTE_FIRST_DIGIT -> VPointF(0f, y + yBuffer)
+                        R.id.MINUTE_SECOND_DIGIT -> VPointF(x, y + yBuffer)
+                        else -> VPointF.ZERO
+                    }
+                }
+
+            val childSize = child.measuredSize
+            offset += aodTranslate.abs()
+
+            // Horizontal offset to center each view in the available space
+            val midX = if (childViews.size < 4) measuredWidth / 2f else measuredWidth / 4f
+            offset += VPointF(midX - childSize.x / 2f, 0f)
+
+            val setPos = if (isLayout) child::layout else child::setLeftTopRightBottom
+            setPos(
+                offset.x.roundToInt(),
+                offset.y.roundToInt(),
+                (offset.x + childSize.x).roundToInt(),
+                (offset.y + childSize.y).roundToInt(),
+            )
+        }
     }
 
     override fun onDraw(canvas: Canvas) {
         logger.onDraw()
-        super.onDraw(canvas)
-
-        digitalClockTextViewMap.forEach { (id, textView) ->
-            // save canvas location in anticipation of restoration later
-            canvas.save()
-            val xTranslateAmount =
-                digitOffsets.getOrDefault(id, 0f) + (digitLeftTopMap[id]?.x?.toFloat() ?: 0f)
-            // move canvas to location that the textView would like
-            canvas.translate(xTranslateAmount, digitLeftTopMap[id]?.y?.toFloat() ?: 0f)
-            // draw the textView at the location of the canvas above
-            textView.draw(canvas)
-            // reset the canvas location back to 0 without drawing
-            canvas.restore()
+        childViews.forEach { child ->
+            canvas.use { canvas ->
+                canvas.translate(digitOffsets.getOrDefault(child.id, 0f), 0f)
+                canvas.translate(child.left.toFloat(), child.top.toFloat())
+                child.draw(canvas)
+            }
         }
     }
 
@@ -205,26 +271,26 @@
     }
 
     fun updateColor(color: Int) {
-        digitalClockTextViewMap.forEach { _, view -> view.updateColor(color) }
+        childViews.forEach { view -> view.updateColor(color) }
         invalidate()
     }
 
     fun updateAxes(axes: List<ClockFontAxisSetting>) {
-        digitalClockTextViewMap.forEach { _, view -> view.updateAxes(axes) }
+        childViews.forEach { view -> view.updateAxes(axes) }
         requestLayout()
     }
 
     fun onFontSettingChanged(fontSizePx: Float) {
-        digitalClockTextViewMap.forEach { _, view -> view.applyTextSize(fontSizePx) }
+        childViews.forEach { view -> view.applyTextSize(fontSizePx) }
     }
 
     fun animateDoze(isDozing: Boolean, isAnimated: Boolean) {
         fun executeDozeAnimation() {
-            digitalClockTextViewMap.forEach { _, view -> view.animateDoze(isDozing, isAnimated) }
-            if (maxSingleDigitSize.x < 0 || maxSingleDigitSize.y < 0) {
+            childViews.forEach { view -> view.animateDoze(isDozing, isAnimated) }
+            if (maxChildSize.x < 0 || maxChildSize.y < 0) {
                 measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED)
             }
-            digitalClockTextViewMap.forEach { (id, textView) ->
+            childViews.forEach { textView ->
                 textView.digitTranslateAnimator?.let {
                     if (!isDozing) {
                         it.animatePosition(
@@ -252,8 +318,8 @@
     }
 
     fun animateCharge() {
-        digitalClockTextViewMap.forEach { _, view -> view.animateCharge() }
-        digitalClockTextViewMap.forEach { (id, textView) ->
+        childViews.forEach { view -> view.animateCharge() }
+        childViews.forEach { textView ->
             textView.digitTranslateAnimator?.let {
                 it.animatePosition(
                     animate = isAnimationEnabled,
@@ -266,14 +332,14 @@
                             duration = CHARGING_TRANSITION_DURATION,
                             targetTranslation =
                                 updateDirectionalTargetTranslate(
-                                    id,
+                                    textView.id,
                                     if (dozeFraction == 1F) aodTranslate else lockscreenTranslate,
                                 ),
                         )
                     },
                     targetTranslation =
                         updateDirectionalTargetTranslate(
-                            id,
+                            textView.id,
                             if (dozeFraction == 1F) lockscreenTranslate else aodTranslate,
                         ),
                 )
@@ -282,7 +348,7 @@
     }
 
     fun animateFidget(x: Float, y: Float) {
-        digitalClockTextViewMap.forEach { _, view -> view.animateFidget(x, y) }
+        childViews.forEach { view -> view.animateFidget(x, y) }
     }
 
     private fun updateLocale(locale: Locale) {
@@ -321,7 +387,7 @@
         // so we no longer need to multiply direct sign to moveAmountDeltaForDigit
         val currentMoveAmount = left - clockStartLeft
         var index = 0
-        digitalClockTextViewMap.forEach { id, _ ->
+        childViews.forEach { child ->
             val digitFraction =
                 getDigitFraction(
                     digit = index++,
@@ -332,7 +398,7 @@
             val moveAmountForDigit = currentMoveAmount * digitFraction
             var moveAmountDeltaForDigit = moveAmountForDigit - currentMoveAmount
             if (isMovingToCenter && moveAmountForDigit < 0) moveAmountDeltaForDigit *= -1
-            digitOffsets[id] = moveAmountDeltaForDigit
+            digitOffsets[child.id] = moveAmountDeltaForDigit
             invalidate()
         }
     }
@@ -353,8 +419,7 @@
                 /* rangeMin= */ 0.0f,
                 /* rangeMax= */ 1.0f,
                 /* valueMin= */ digitInitialDelay,
-                /* valueMax= */ digitInitialDelay +
-                    availableAnimationTime(digitalClockTextViewMap.size),
+                /* valueMax= */ digitInitialDelay + availableAnimationTime(childViews.size),
                 /* value= */ fraction,
             )
         )
@@ -401,35 +466,17 @@
             )
 
         // Use the sign of targetTranslation to control the direction of digit translation
-        fun updateDirectionalTargetTranslate(id: Int, targetTranslation: Point): Point {
-            val outPoint = Point(targetTranslation)
-            when (id) {
-                R.id.HOUR_FIRST_DIGIT -> {
-                    outPoint.x *= -1
-                    outPoint.y *= -1
+        fun updateDirectionalTargetTranslate(id: Int, targetTranslation: VPointF): VPointF {
+            return targetTranslation *
+                when (id) {
+                    R.id.HOUR_FIRST_DIGIT -> VPointF(-1, -1)
+                    R.id.HOUR_SECOND_DIGIT -> VPointF(1, -1)
+                    R.id.MINUTE_FIRST_DIGIT -> VPointF(-1, 1)
+                    R.id.MINUTE_SECOND_DIGIT -> VPointF(1, 1)
+                    R.id.HOUR_DIGIT_PAIR -> VPointF(-1, -1)
+                    R.id.MINUTE_DIGIT_PAIR -> VPointF(-1, 1)
+                    else -> VPointF(1, 1)
                 }
-                R.id.HOUR_SECOND_DIGIT -> {
-                    outPoint.x *= 1
-                    outPoint.y *= -1
-                }
-                R.id.MINUTE_FIRST_DIGIT -> {
-                    outPoint.x *= -1
-                    outPoint.y *= 1
-                }
-                R.id.MINUTE_SECOND_DIGIT -> {
-                    outPoint.x *= 1
-                    outPoint.y *= 1
-                }
-                R.id.HOUR_DIGIT_PAIR -> {
-                    outPoint.x *= -1
-                    outPoint.y *= -1
-                }
-                R.id.MINUTE_DIGIT_PAIR -> {
-                    outPoint.x *= -1
-                    outPoint.y *= 1
-                }
-            }
-            return outPoint
         }
     }
 }
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 b7ce20e..015a827 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
@@ -20,16 +20,16 @@
 import android.graphics.Canvas
 import android.graphics.Color
 import android.graphics.Paint
-import android.graphics.Point
 import android.graphics.PorterDuff
 import android.graphics.PorterDuffXfermode
 import android.graphics.Rect
+import android.graphics.RectF
 import android.os.VibrationEffect
 import android.text.Layout
 import android.text.TextPaint
 import android.util.AttributeSet
 import android.util.Log
-import android.util.MathUtils
+import android.util.MathUtils.lerp
 import android.util.TypedValue
 import android.view.View.MeasureSpec.EXACTLY
 import android.view.animation.Interpolator
@@ -44,18 +44,33 @@
 import com.android.systemui.plugins.clocks.ClockFontAxisSetting.Companion.replace
 import com.android.systemui.plugins.clocks.ClockFontAxisSetting.Companion.toFVar
 import com.android.systemui.plugins.clocks.ClockLogger
+import com.android.systemui.shared.clocks.CanvasUtil.translate
+import com.android.systemui.shared.clocks.CanvasUtil.use
 import com.android.systemui.shared.clocks.ClockContext
 import com.android.systemui.shared.clocks.DigitTranslateAnimator
 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.VPoint
+import com.android.systemui.shared.clocks.VPointF
+import com.android.systemui.shared.clocks.VPointF.Companion.size
+import com.android.systemui.shared.clocks.ViewUtils.measuredSize
+import com.android.systemui.shared.clocks.ViewUtils.size
 import com.android.systemui.shared.clocks.toClockAxisSetting
 import java.lang.Thread
 import kotlin.math.max
 import kotlin.math.min
+import kotlin.math.roundToInt
 
 private val TAG = SimpleDigitalClockTextView::class.simpleName!!
 
+private fun Paint.getTextBounds(text: CharSequence, result: RectF = RectF()): RectF {
+    val rect = Rect()
+    this.getTextBounds(text, 0, text.length, rect)
+    result.set(rect)
+    return result
+}
+
 enum class VerticalAlignment {
     TOP,
     BOTTOM,
@@ -103,27 +118,27 @@
     }
 
     private val parser = DimensionParser(clockCtx.context)
-    var maxSingleDigitHeight = -1
-    var maxSingleDigitWidth = -1
+    var maxSingleDigitHeight = -1f
+    var maxSingleDigitWidth = -1f
     var digitTranslateAnimator: DigitTranslateAnimator? = null
-    var aodFontSizePx: Float = -1F
+    var aodFontSizePx = -1f
 
     // Store the font size when there's no height constraint as a reference when adjusting font size
-    private var lastUnconstrainedTextSize: Float = Float.MAX_VALUE
+    private var lastUnconstrainedTextSize = Float.MAX_VALUE
     // Calculated by height of styled text view / text size
     // Used as a factor to calculate a smaller font size when text height is constrained
-    @VisibleForTesting var fontSizeAdjustFactor = 1F
+    @VisibleForTesting var fontSizeAdjustFactor = 1f
 
     private val initThread = Thread.currentThread()
 
     // textBounds is the size of text in LS, which only measures current text in lockscreen style
-    var textBounds = Rect()
+    var textBounds = RectF()
     // prevTextBounds and targetTextBounds are to deal with dozing animation between LS and AOD
     // especially for the textView which has different bounds during the animation
     // prevTextBounds holds the state we are transitioning from
-    private val prevTextBounds = Rect()
+    private val prevTextBounds = RectF()
     // targetTextBounds holds the state we are interpolating to
-    private val targetTextBounds = Rect()
+    private val targetTextBounds = RectF()
     protected val logger = ClockLogger(this, clockCtx.messageBuffer, this::class.simpleName!!)
         get() = field ?: ClockLogger.INIT_LOGGER
 
@@ -141,14 +156,14 @@
     var verticalAlignment: VerticalAlignment = VerticalAlignment.BASELINE
     var horizontalAlignment: HorizontalAlignment = HorizontalAlignment.LEFT
     var isAnimationEnabled = true
-    var dozeFraction: Float = 0F
+    var dozeFraction: Float = 0f
         set(value) {
             field = value
             invalidate()
         }
 
-    var textBorderWidth = 0F
-    var baselineFromMeasure = 0
+    var textBorderWidth = 0f
+    var measuredBaseline = 0
     var lockscreenColor = Color.WHITE
 
     fun updateColor(color: Int) {
@@ -169,7 +184,7 @@
         lockScreenPaint.typeface = typefaceCache.getTypefaceForVariant(lsFontVariation)
         typeface = lockScreenPaint.typeface
 
-        lockScreenPaint.getTextBounds(text, 0, text.length, textBounds)
+        lockScreenPaint.getTextBounds(text, textBounds)
         targetTextBounds.set(textBounds)
 
         textAnimator.setTextStyle(TextAnimator.Style(fVar = lsFontVariation))
@@ -195,7 +210,7 @@
     }
 
     override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
-        logger.onMeasure()
+        logger.onMeasure(widthMeasureSpec, heightMeasureSpec)
         super.onMeasure(widthMeasureSpec, heightMeasureSpec)
 
         val layout = this.layout
@@ -206,7 +221,7 @@
             } else {
                 textAnimator.updateLayout(layout)
             }
-            baselineFromMeasure = layout.getLineBaseline(0)
+            measuredBaseline = layout.getLineBaseline(0)
         } else {
             val currentThread = Thread.currentThread()
             Log.wtf(
@@ -216,24 +231,33 @@
             )
         }
 
-        setInterpolatedViewBounds(getInterpolatedTextBounds(), widthMeasureSpec, heightMeasureSpec)
+        val bounds = getInterpolatedTextBounds()
+        val size = computeMeasuredSize(bounds, widthMeasureSpec, heightMeasureSpec)
+        setInterpolatedSize(size, widthMeasureSpec, heightMeasureSpec)
     }
 
+    private var drawnProgress: Float? = null
+
     override fun onDraw(canvas: Canvas) {
         logger.onDraw(textAnimator.textInterpolator.shapedText)
 
-        val translation = getLocalTranslation()
-        canvas.translate(translation.x.toFloat(), translation.y.toFloat())
-        digitTranslateAnimator?.let {
-            canvas.translate(it.updatedTranslate.x.toFloat(), it.updatedTranslate.y.toFloat())
+        val interpProgress = getInterpolatedProgress()
+        val interpBounds = getInterpolatedTextBounds(interpProgress)
+        if (interpProgress != drawnProgress) {
+            drawnProgress = interpProgress
+            val measureSize = computeMeasuredSize(interpBounds)
+            setInterpolatedSize(measureSize)
+            (parent as? FlexClockView)?.run {
+                updateMeasuredSize()
+                updateLocation()
+            } ?: setInterpolatedLocation(measureSize)
         }
 
-        textAnimator.draw(canvas)
-
-        digitTranslateAnimator?.let {
-            canvas.translate(-it.updatedTranslate.x.toFloat(), -it.updatedTranslate.y.toFloat())
+        canvas.use {
+            digitTranslateAnimator?.apply { canvas.translate(currentTranslation) }
+            canvas.translate(getDrawTranslation(interpBounds))
+            textAnimator.draw(canvas)
         }
-        canvas.translate(-translation.x.toFloat(), -translation.y.toFloat())
     }
 
     override fun setVisibility(visibility: Int) {
@@ -246,6 +270,18 @@
         super.setAlpha(alpha)
     }
 
+    private val layoutBounds = RectF()
+
+    override fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int) {
+        super.onLayout(changed, left, top, right, bottom)
+        logger.onLayout(changed, left, top, right, bottom)
+
+        layoutBounds.left = left.toFloat()
+        layoutBounds.top = top.toFloat()
+        layoutBounds.right = right.toFloat()
+        layoutBounds.bottom = bottom.toFloat()
+    }
+
     override fun invalidate() {
         logger.invalidate()
         super.invalidate()
@@ -338,14 +374,9 @@
     }
 
     fun refreshText() {
-        lockScreenPaint.getTextBounds(text, 0, text.length, textBounds)
+        lockScreenPaint.getTextBounds(text, textBounds)
         if (this::textAnimator.isInitialized) {
-            textAnimator.textInterpolator.targetPaint.getTextBounds(
-                text,
-                0,
-                text.length,
-                targetTextBounds,
-            )
+            textAnimator.textInterpolator.targetPaint.getTextBounds(text, targetTextBounds)
         }
 
         if (layout == null) {
@@ -362,113 +393,135 @@
             id == R.id.MINUTE_SECOND_DIGIT
     }
 
-    private fun getInterpolatedTextBounds(): Rect {
-        val progress = textAnimator.animator?.let { it.animatedValue as Float } ?: 1f
-        if (!textAnimator.isRunning || progress >= 1f) {
-            return Rect(targetTextBounds)
-        }
-
-        val interpolatedTextBounds = Rect()
-        interpolatedTextBounds.left =
-            MathUtils.lerp(prevTextBounds.left, targetTextBounds.left, progress).toInt()
-        interpolatedTextBounds.right =
-            MathUtils.lerp(prevTextBounds.right, targetTextBounds.right, progress).toInt()
-        interpolatedTextBounds.top =
-            MathUtils.lerp(prevTextBounds.top, targetTextBounds.top, progress).toInt()
-        interpolatedTextBounds.bottom =
-            MathUtils.lerp(prevTextBounds.bottom, targetTextBounds.bottom, progress).toInt()
-        return interpolatedTextBounds
+    private fun getInterpolatedProgress(): Float {
+        return textAnimator.animator?.let { it.animatedValue as Float } ?: 1f
     }
 
-    private fun setInterpolatedViewBounds(
-        interpBounds: Rect,
+    /** Returns the interpolated text bounding rect based on interpolation progress */
+    private fun getInterpolatedTextBounds(progress: Float = getInterpolatedProgress()): RectF {
+        if (!textAnimator.isRunning || progress >= 1f) {
+            return RectF(targetTextBounds)
+        }
+
+        return RectF().apply {
+            left = lerp(prevTextBounds.left, targetTextBounds.left, progress)
+            right = lerp(prevTextBounds.right, targetTextBounds.right, progress)
+            top = lerp(prevTextBounds.top, targetTextBounds.top, progress)
+            bottom = lerp(prevTextBounds.bottom, targetTextBounds.bottom, progress)
+        }
+    }
+
+    private fun computeMeasuredSize(
+        interpBounds: RectF,
+        widthMeasureSpec: Int = measuredWidthAndState,
+        heightMeasureSpec: Int = measuredHeightAndState,
+    ): VPointF {
+        val mode =
+            VPoint(
+                x = MeasureSpec.getMode(widthMeasureSpec),
+                y = MeasureSpec.getMode(heightMeasureSpec),
+            )
+
+        return VPointF(
+            when {
+                mode.x == EXACTLY -> MeasureSpec.getSize(widthMeasureSpec).toFloat()
+                else -> interpBounds.width() + 2 * lockScreenPaint.strokeWidth
+            },
+            when {
+                mode.y == EXACTLY -> MeasureSpec.getSize(heightMeasureSpec).toFloat()
+                else -> interpBounds.height() + 2 * lockScreenPaint.strokeWidth
+            },
+        )
+    }
+
+    /** Set the measured size of the view to match the interpolated text bounds */
+    private fun setInterpolatedSize(
+        measureBounds: VPointF,
         widthMeasureSpec: Int = measuredWidthAndState,
         heightMeasureSpec: Int = measuredHeightAndState,
     ) {
-        val heightMode = MeasureSpec.getMode(heightMeasureSpec)
-        val widthMode = MeasureSpec.getMode(widthMeasureSpec)
+        val mode =
+            VPoint(
+                x = MeasureSpec.getMode(widthMeasureSpec),
+                y = MeasureSpec.getMode(heightMeasureSpec),
+            )
 
-        val heightSpec =
-            if (heightMode == EXACTLY) {
-                heightMeasureSpec
-            } else {
-                MeasureSpec.makeMeasureSpec(
-                    if (isSingleDigit()) maxSingleDigitHeight
-                    else interpBounds.height() + 2 * lockScreenPaint.strokeWidth.toInt(),
-                    heightMode,
-                )
-            }
-
-        val widthSpec =
-            if (widthMode == EXACTLY) {
-                widthMeasureSpec
-            } else {
-                MeasureSpec.makeMeasureSpec(
-                    if (isSingleDigit()) maxSingleDigitWidth
-                    else interpBounds.width() + 2 * lockScreenPaint.strokeWidth.toInt(),
-                    widthMode,
-                )
-            }
-
-        setMeasuredDimension(widthSpec, heightSpec)
+        setMeasuredDimension(
+            MeasureSpec.makeMeasureSpec(measureBounds.x.roundToInt(), mode.x),
+            MeasureSpec.makeMeasureSpec(measureBounds.y.roundToInt(), mode.y),
+        )
     }
 
-    private fun updateXTranslation(inPoint: Point, interpolatedTextBounds: Rect): Point {
-        when (horizontalAlignment) {
-            HorizontalAlignment.LEFT -> {
-                inPoint.x = lockScreenPaint.strokeWidth.toInt() - interpolatedTextBounds.left
+    /** Set the location of the view to match the interpolated text bounds */
+    private fun setInterpolatedLocation(measureSize: VPointF): RectF {
+        val targetRect = RectF()
+        targetRect.apply {
+            when (horizontalAlignment) {
+                HorizontalAlignment.LEFT -> {
+                    left = layoutBounds.left
+                    right = layoutBounds.left + measureSize.x
+                }
+                HorizontalAlignment.CENTER -> {
+                    left = layoutBounds.centerX() - measureSize.x / 2f
+                    right = layoutBounds.centerX() + measureSize.x / 2f
+                }
+                HorizontalAlignment.RIGHT -> {
+                    left = layoutBounds.right - measureSize.x
+                    right = layoutBounds.right
+                }
             }
-            HorizontalAlignment.RIGHT -> {
-                inPoint.x =
-                    measuredWidth -
-                        interpolatedTextBounds.right -
-                        lockScreenPaint.strokeWidth.toInt()
-            }
-            HorizontalAlignment.CENTER -> {
-                inPoint.x =
-                    (measuredWidth - interpolatedTextBounds.width()) / 2 -
-                        interpolatedTextBounds.left
-            }
-        }
-        return inPoint
-    }
 
-    // translation of reference point of text
-    // used for translation when calling textInterpolator
-    private fun getLocalTranslation(): Point {
-        val interpolatedTextBounds = getInterpolatedTextBounds()
-        setInterpolatedViewBounds(interpolatedTextBounds)
-
-        val localTranslation = Point(0, 0)
-        val correctedBaseline = if (baseline != -1) baseline else baselineFromMeasure
-        // get the change from current baseline to expected baseline
-        when (verticalAlignment) {
-            VerticalAlignment.CENTER -> {
-                localTranslation.y =
-                    ((measuredHeight - interpolatedTextBounds.height()) / 2 -
-                        interpolatedTextBounds.top -
-                        correctedBaseline)
-            }
-            VerticalAlignment.TOP -> {
-                localTranslation.y =
-                    (-interpolatedTextBounds.top + lockScreenPaint.strokeWidth - correctedBaseline)
-                        .toInt()
-            }
-            VerticalAlignment.BOTTOM -> {
-                localTranslation.y =
-                    measuredHeight -
-                        interpolatedTextBounds.bottom -
-                        lockScreenPaint.strokeWidth.toInt() -
-                        correctedBaseline
-            }
-            VerticalAlignment.BASELINE -> {
-                // account for max bottom distance of font, so clock doesn't collide with elements
-                localTranslation.y =
-                    -lockScreenPaint.strokeWidth.toInt() - paint.fontMetrics.descent.toInt()
+            when (verticalAlignment) {
+                VerticalAlignment.TOP -> {
+                    top = layoutBounds.top
+                    bottom = layoutBounds.top + measureSize.y
+                }
+                VerticalAlignment.CENTER -> {
+                    top = layoutBounds.centerY() - measureSize.y / 2f
+                    bottom = layoutBounds.centerY() + measureSize.y / 2f
+                }
+                VerticalAlignment.BOTTOM -> {
+                    top = layoutBounds.bottom - measureSize.y
+                    bottom = layoutBounds.bottom
+                }
+                VerticalAlignment.BASELINE -> {
+                    top = layoutBounds.centerY() - measureSize.y / 2f
+                    bottom = layoutBounds.centerY() + measureSize.y / 2f
+                }
             }
         }
 
-        return updateXTranslation(localTranslation, interpolatedTextBounds)
+        setFrame(
+            targetRect.left.roundToInt(),
+            targetRect.top.roundToInt(),
+            targetRect.right.roundToInt(),
+            targetRect.bottom.roundToInt(),
+        )
+        return targetRect
+    }
+
+    private fun getDrawTranslation(interpBounds: RectF): VPointF {
+        val sizeDiff = this.measuredSize - interpBounds.size
+        val alignment =
+            VPointF(
+                when (horizontalAlignment) {
+                    HorizontalAlignment.LEFT -> 0f
+                    HorizontalAlignment.CENTER -> 0.5f
+                    HorizontalAlignment.RIGHT -> 1f
+                },
+                when (verticalAlignment) {
+                    VerticalAlignment.TOP -> 0f
+                    VerticalAlignment.CENTER -> 0.5f
+                    VerticalAlignment.BASELINE -> 0.5f
+                    VerticalAlignment.BOTTOM -> 1f
+                },
+            )
+        val renderCorrection =
+            VPointF(
+                x = -interpBounds.left,
+                y = -interpBounds.top - (if (baseline != -1) baseline else measuredBaseline),
+            )
+        return sizeDiff * alignment + renderCorrection
     }
 
     fun applyStyles(textStyle: FontTextStyle, aodStyle: FontTextStyle?) {
@@ -476,7 +529,7 @@
         lockScreenPaint.strokeJoin = Paint.Join.ROUND
         lockScreenPaint.typeface = typefaceCache.getTypefaceForVariant(lsFontVariation)
         typeface = lockScreenPaint.typeface
-        textStyle.lineHeight?.let { lineHeight = it.toInt() }
+        textStyle.lineHeight?.let { lineHeight = it.roundToInt() }
 
         this.aodStyle = aodStyle ?: textStyle.copy()
         aodDozingInterpolator = this.aodStyle.transitionInterpolator ?: Interpolators.LINEAR
@@ -487,7 +540,7 @@
         invalidate()
     }
 
-    // When constrainedByHeight is on, targetFontSizePx is the constrained height of textView
+    /** When constrainedByHeight is on, targetFontSizePx is the constrained height of textView */
     fun applyTextSize(targetFontSizePx: Float?, constrainedByHeight: Boolean = false) {
         val adjustedFontSizePx = adjustFontSize(targetFontSizePx, constrainedByHeight)
         val fontSizePx = adjustedFontSizePx * (textStyle.fontSizeScale ?: 1f)
@@ -496,7 +549,7 @@
         if (fontSizePx > 0) {
             setTextSize(TypedValue.COMPLEX_UNIT_PX, fontSizePx)
             lockScreenPaint.textSize = textSize
-            lockScreenPaint.getTextBounds(text, 0, text.length, textBounds)
+            lockScreenPaint.getTextBounds(text, textBounds)
             targetTextBounds.set(textBounds)
         }
         if (!constrainedByHeight) {
@@ -513,20 +566,19 @@
     }
 
     private fun recomputeMaxSingleDigitSizes() {
-        val rectForCalculate = Rect()
-        maxSingleDigitHeight = 0
-        maxSingleDigitWidth = 0
+        maxSingleDigitHeight = 0f
+        maxSingleDigitWidth = 0f
 
         for (i in 0..9) {
-            lockScreenPaint.getTextBounds("$i", 0, 1, rectForCalculate)
+            val rectForCalculate = lockScreenPaint.getTextBounds("$i")
             maxSingleDigitHeight = max(maxSingleDigitHeight, rectForCalculate.height())
             maxSingleDigitWidth = max(maxSingleDigitWidth, rectForCalculate.width())
         }
-        maxSingleDigitWidth += 2 * lockScreenPaint.strokeWidth.toInt()
-        maxSingleDigitHeight += 2 * lockScreenPaint.strokeWidth.toInt()
+        maxSingleDigitWidth += 2 * lockScreenPaint.strokeWidth
+        maxSingleDigitHeight += 2 * lockScreenPaint.strokeWidth
     }
 
-    // called without animation, can be used to set the initial state of animator
+    /** Called without animation, can be used to set the initial state of animator */
     private fun setInterpolatorPaint() {
         if (this::textAnimator.isInitialized) {
             // set initial style
@@ -542,25 +594,19 @@
         }
     }
 
-    /* Called after textAnimator.setTextStyle
-     * textAnimator.setTextStyle will update targetPaint,
-     * and rebase if previous animator is canceled
-     * so basePaint will store the state we transition from
+    /**
+     * Called after textAnimator.setTextStyle textAnimator.setTextStyle will update targetPaint, and
+     * rebase if previous animator is canceled so basePaint will store the state we transition from
      * and targetPaint will store the state we transition to
      */
     private fun updateTextBoundsForTextAnimator() {
-        textAnimator.textInterpolator.basePaint.getTextBounds(text, 0, text.length, prevTextBounds)
-        textAnimator.textInterpolator.targetPaint.getTextBounds(
-            text,
-            0,
-            text.length,
-            targetTextBounds,
-        )
+        textAnimator.textInterpolator.basePaint.getTextBounds(text, prevTextBounds)
+        textAnimator.textInterpolator.targetPaint.getTextBounds(text, targetTextBounds)
     }
 
-    /*
-     * Adjust text size to adapt to large display / font size
-     * where the text view will be constrained by height
+    /**
+     * Adjust text size to adapt to large display / font size where the text view will be
+     * constrained by height
      */
     private fun adjustFontSize(targetFontSizePx: Float?, constrainedByHeight: Boolean): Float {
         return if (constrainedByHeight) {
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt
index 88c9e74..0cfb36d 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt
@@ -36,6 +36,7 @@
 import android.view.View
 import android.view.WindowInsets
 import android.view.WindowManager
+import android.view.accessibility.AccessibilityManager
 import android.widget.ScrollView
 import androidx.constraintlayout.widget.ConstraintLayout
 import androidx.test.ext.junit.runners.AndroidJUnit4
@@ -114,6 +115,7 @@
     @Mock lateinit var selectedUserInteractor: SelectedUserInteractor
     @Mock private lateinit var packageManager: PackageManager
     @Mock private lateinit var activityTaskManager: ActivityTaskManager
+    @Mock private lateinit var accessibilityManager: AccessibilityManager
     @Mock private lateinit var lazyViewCapture: Lazy<ViewCapture>
 
     private lateinit var displayRepository: FakeDisplayRepository
@@ -678,6 +680,7 @@
                 udfpsUtils,
                 iconProvider,
                 activityTaskManager,
+                accessibilityManager,
             ),
             { credentialViewModel },
             fakeExecutor,
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/common/data/repository/PackageInstallerMonitorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/common/data/repository/PackageInstallerMonitorTest.kt
index 781e416..ede29d8 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/common/data/repository/PackageInstallerMonitorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/common/data/repository/PackageInstallerMonitorTest.kt
@@ -26,6 +26,9 @@
 import com.android.systemui.common.shared.model.PackageInstallSession
 import com.android.systemui.coroutines.collectLastValue
 import com.android.systemui.kosmos.applicationCoroutineScope
+import com.android.systemui.kosmos.backgroundScope
+import com.android.systemui.kosmos.collectLastValue
+import com.android.systemui.kosmos.runTest
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.log.logcatLogBuffer
 import com.android.systemui.testKosmos
@@ -173,6 +176,58 @@
         }
 
     @Test
+    fun onCreateUpdatedSession_ignoreNullPackageNameSessions() =
+        kosmos.runTest {
+            val nullPackageSession =
+                SessionInfo().apply {
+                    sessionId = 1
+                    appPackageName = null
+                    appIcon = icon1
+                }
+
+            val wellFormedSession =
+                SessionInfo().apply {
+                    sessionId = 2
+                    appPackageName = "pkg_name"
+                    appIcon = icon2
+                }
+
+            defaultSessions = listOf(wellFormedSession)
+
+            whenever(packageInstaller.allSessions).thenReturn(defaultSessions)
+            whenever(packageInstaller.getSessionInfo(1)).thenReturn(nullPackageSession)
+            whenever(packageInstaller.getSessionInfo(2)).thenReturn(wellFormedSession)
+
+            val packageInstallerMonitor =
+                PackageInstallerMonitor(
+                    handler,
+                    backgroundScope,
+                    logcatLogBuffer("PackageInstallerRepositoryImplTest"),
+                    packageInstaller,
+                )
+
+            val sessions by collectLastValue(packageInstallerMonitor.installSessionsForPrimaryUser)
+
+            // Verify flow updated with the new session
+            assertThat(sessions)
+                .comparingElementsUsing(represents)
+                .containsExactlyElementsIn(defaultSessions)
+
+            val callback =
+                withArgCaptor<PackageInstaller.SessionCallback> {
+                    verify(packageInstaller).registerSessionCallback(capture(), eq(handler))
+                }
+
+            // New session added
+            callback.onCreated(nullPackageSession.sessionId)
+
+            // Verify flow updated with the new session
+            assertThat(sessions)
+                .comparingElementsUsing(represents)
+                .containsExactlyElementsIn(defaultSessions)
+        }
+
+    @Test
     fun installSessions_newSessionsAreAdded() =
         testScope.runTest {
             val installSessions by collectLastValue(underTest.installSessionsForPrimaryUser)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/CommunalOngoingContentStartableTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/CommunalOngoingContentStartableTest.kt
index e53155d..ed73d89 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/CommunalOngoingContentStartableTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/CommunalOngoingContentStartableTest.kt
@@ -21,6 +21,8 @@
 import androidx.test.filters.SmallTest
 import com.android.systemui.Flags.FLAG_COMMUNAL_HUB
 import com.android.systemui.SysuiTestCase
+import com.android.systemui.communal.data.repository.communalMediaRepository
+import com.android.systemui.communal.data.repository.communalSmartspaceRepository
 import com.android.systemui.communal.data.repository.fakeCommunalMediaRepository
 import com.android.systemui.communal.data.repository.fakeCommunalSmartspaceRepository
 import com.android.systemui.communal.domain.interactor.communalInteractor
@@ -28,12 +30,12 @@
 import com.android.systemui.communal.domain.interactor.setCommunalEnabled
 import com.android.systemui.flags.Flags
 import com.android.systemui.flags.fakeFeatureFlagsClassic
+import com.android.systemui.kosmos.Kosmos
 import com.android.systemui.kosmos.applicationCoroutineScope
-import com.android.systemui.kosmos.testScope
+import com.android.systemui.kosmos.runTest
+import com.android.systemui.kosmos.useUnconfinedTestDispatcher
 import com.android.systemui.testKosmos
 import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.test.runCurrent
-import kotlinx.coroutines.test.runTest
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -42,46 +44,64 @@
 @EnableFlags(FLAG_COMMUNAL_HUB)
 @RunWith(AndroidJUnit4::class)
 class CommunalOngoingContentStartableTest : SysuiTestCase() {
-    private val kosmos = testKosmos()
-    private val testScope = kosmos.testScope
+    private val kosmos = testKosmos().useUnconfinedTestDispatcher()
 
-    private val mediaRepository = kosmos.fakeCommunalMediaRepository
-    private val smartspaceRepository = kosmos.fakeCommunalSmartspaceRepository
+    private var showUmoOnHub = true
 
-    private lateinit var underTest: CommunalOngoingContentStartable
+    private val Kosmos.underTest by
+        Kosmos.Fixture {
+            CommunalOngoingContentStartable(
+                bgScope = applicationCoroutineScope,
+                communalInteractor = communalInteractor,
+                communalMediaRepository = communalMediaRepository,
+                communalSettingsInteractor = communalSettingsInteractor,
+                communalSmartspaceRepository = communalSmartspaceRepository,
+                showUmoOnHub = showUmoOnHub,
+            )
+        }
 
     @Before
     fun setUp() {
         kosmos.fakeFeatureFlagsClassic.set(Flags.COMMUNAL_SERVICE_ENABLED, true)
-        underTest =
-            CommunalOngoingContentStartable(
-                bgScope = kosmos.applicationCoroutineScope,
-                communalInteractor = kosmos.communalInteractor,
-                communalMediaRepository = mediaRepository,
-                communalSettingsInteractor = kosmos.communalSettingsInteractor,
-                communalSmartspaceRepository = smartspaceRepository,
-            )
     }
 
     @Test
-    fun testListenForOngoingContentWhenCommunalIsEnabled() =
-        testScope.runTest {
+    fun testListenForOngoingContent() =
+        kosmos.runTest {
             underTest.start()
-            runCurrent()
 
-            assertThat(mediaRepository.isListening()).isFalse()
-            assertThat(smartspaceRepository.isListening()).isFalse()
+            assertThat(fakeCommunalMediaRepository.isListening()).isFalse()
+            assertThat(fakeCommunalSmartspaceRepository.isListening()).isFalse()
 
             kosmos.setCommunalEnabled(true)
-            runCurrent()
 
-            assertThat(mediaRepository.isListening()).isTrue()
-            assertThat(smartspaceRepository.isListening()).isTrue()
+            assertThat(fakeCommunalMediaRepository.isListening()).isTrue()
+            assertThat(fakeCommunalSmartspaceRepository.isListening()).isTrue()
 
             kosmos.setCommunalEnabled(false)
-            runCurrent()
 
-            assertThat(mediaRepository.isListening()).isFalse()
-            assertThat(smartspaceRepository.isListening()).isFalse()
+            assertThat(fakeCommunalMediaRepository.isListening()).isFalse()
+            assertThat(fakeCommunalSmartspaceRepository.isListening()).isFalse()
+        }
+
+    @Test
+    fun testListenForOngoingContent_showUmoFalse() =
+        kosmos.runTest {
+            showUmoOnHub = false
+            underTest.start()
+
+            assertThat(fakeCommunalMediaRepository.isListening()).isFalse()
+            assertThat(fakeCommunalSmartspaceRepository.isListening()).isFalse()
+
+            kosmos.setCommunalEnabled(true)
+
+            // Media listening does not start when UMO is disabled.
+            assertThat(fakeCommunalMediaRepository.isListening()).isFalse()
+            assertThat(fakeCommunalSmartspaceRepository.isListening()).isTrue()
+
+            kosmos.setCommunalEnabled(false)
+
+            assertThat(fakeCommunalMediaRepository.isListening()).isFalse()
+            assertThat(fakeCommunalSmartspaceRepository.isListening()).isFalse()
         }
 }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/ui/viewmodel/CommunalToDreamButtonViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/ui/viewmodel/CommunalToDreamButtonViewModelTest.kt
deleted file mode 100644
index 2f3073e..0000000
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/ui/viewmodel/CommunalToDreamButtonViewModelTest.kt
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.communal.ui.viewmodel
-
-import android.content.pm.UserInfo
-import android.platform.test.annotations.EnableFlags
-import android.provider.Settings
-import android.service.dream.dreamManager
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.SmallTest
-import com.android.internal.logging.uiEventLoggerFake
-import com.android.systemui.Flags.FLAG_GLANCEABLE_HUB_V2
-import com.android.systemui.SysuiTestCase
-import com.android.systemui.communal.data.repository.fakeCommunalPrefsRepository
-import com.android.systemui.communal.domain.interactor.HubOnboardingInteractorTest.Companion.MAIN_USER
-import com.android.systemui.communal.shared.log.CommunalUiEvent
-import com.android.systemui.flags.Flags.COMMUNAL_SERVICE_ENABLED
-import com.android.systemui.flags.fakeFeatureFlagsClassic
-import com.android.systemui.kosmos.runCurrent
-import com.android.systemui.kosmos.runTest
-import com.android.systemui.kosmos.testScope
-import com.android.systemui.lifecycle.activateIn
-import com.android.systemui.plugins.activityStarter
-import com.android.systemui.settings.fakeUserTracker
-import com.android.systemui.statusbar.policy.batteryController
-import com.android.systemui.statusbar.policy.fake
-import com.android.systemui.testKosmos
-import com.android.systemui.user.data.repository.fakeUserRepository
-import com.android.systemui.util.settings.fakeSettings
-import com.google.common.truth.Truth.assertThat
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.mockito.ArgumentMatchers.anyInt
-import org.mockito.Mockito.verify
-import org.mockito.kotlin.any
-
-@SmallTest
-@EnableFlags(FLAG_GLANCEABLE_HUB_V2)
-@RunWith(AndroidJUnit4::class)
-class CommunalToDreamButtonViewModelTest : SysuiTestCase() {
-    private val kosmos = testKosmos()
-    private val testScope = kosmos.testScope
-    private val underTest: CommunalToDreamButtonViewModel by lazy {
-        kosmos.communalToDreamButtonViewModel
-    }
-
-    @Before
-    fun setUp() {
-        kosmos.fakeFeatureFlagsClassic.set(COMMUNAL_SERVICE_ENABLED, true)
-        underTest.activateIn(testScope)
-    }
-
-    @Test
-    fun shouldShowDreamButtonOnHub_trueWhenPluggedIn() =
-        with(kosmos) {
-            runTest {
-                batteryController.fake._isPluggedIn = true
-                runCurrent()
-
-                assertThat(underTest.shouldShowDreamButtonOnHub).isTrue()
-            }
-        }
-
-    @Test
-    fun shouldShowDreamButtonOnHub_falseWhenNotPluggedIn() =
-        with(kosmos) {
-            runTest {
-                batteryController.fake._isPluggedIn = false
-
-                assertThat(underTest.shouldShowDreamButtonOnHub).isFalse()
-            }
-        }
-
-    @Test
-    fun onShowDreamButtonTap_dreamsEnabled_startsDream() =
-        with(kosmos) {
-            runTest {
-                val currentUser = fakeUserRepository.asMainUser()
-                kosmos.fakeSettings.putIntForUser(
-                    Settings.Secure.SCREENSAVER_ENABLED,
-                    1,
-                    currentUser.id,
-                )
-                runCurrent()
-
-                underTest.onShowDreamButtonTap()
-                runCurrent()
-
-                verify(dreamManager).startDream()
-            }
-        }
-
-    @Test
-    fun onShowDreamButtonTap_dreamsDisabled_startsActivity() =
-        with(kosmos) {
-            runTest {
-                val currentUser = fakeUserRepository.asMainUser()
-                kosmos.fakeSettings.putIntForUser(
-                    Settings.Secure.SCREENSAVER_ENABLED,
-                    0,
-                    currentUser.id,
-                )
-                runCurrent()
-
-                underTest.onShowDreamButtonTap()
-                runCurrent()
-
-                verify(activityStarter).postStartActivityDismissingKeyguard(any(), anyInt())
-            }
-        }
-
-    @Test
-    fun shouldShowDreamButtonTooltip_trueWhenNotDismissedAndHubOnboardingDismissed() =
-        kosmos.runTest {
-            setSelectedUser(MAIN_USER)
-            fakeCommunalPrefsRepository.setHubOnboardingDismissed(MAIN_USER)
-            runCurrent()
-
-            assertThat(underTest.shouldShowTooltip).isTrue()
-        }
-
-    @Test
-    fun shouldShowDreamButtonTooltip_falseWhenNotDismissedAndHubOnboardingNotDismissed() =
-        kosmos.runTest {
-            runCurrent()
-            assertThat(underTest.shouldShowTooltip).isFalse()
-        }
-
-    @Test
-    fun shouldShowDreamButtonTooltip_falseWhenDismissed() =
-        kosmos.runTest {
-            setSelectedUser(MAIN_USER)
-            fakeCommunalPrefsRepository.setDreamButtonTooltipDismissed(MAIN_USER)
-            runCurrent()
-
-            assertThat(underTest.shouldShowTooltip).isFalse()
-        }
-
-    @Test
-    fun onShowDreamButtonTap_eventLogged() =
-        with(kosmos) {
-            runTest {
-                underTest.onShowDreamButtonTap()
-                runCurrent()
-
-                assertThat(uiEventLoggerFake[0].eventId)
-                    .isEqualTo(CommunalUiEvent.COMMUNAL_HUB_SHOW_DREAM_BUTTON_TAP.id)
-            }
-        }
-
-    private suspend fun setSelectedUser(user: UserInfo) {
-        with(kosmos.fakeUserRepository) {
-            setUserInfos(listOf(user))
-            setSelectedUserInfo(user)
-        }
-        kosmos.fakeUserTracker.set(userInfos = listOf(user), selectedUserIndex = 0)
-    }
-}
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/display/data/repository/DisplayRepositoryTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/display/data/repository/DisplayRepositoryTest.kt
index dfea784..197b0ee 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/display/data/repository/DisplayRepositoryTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/display/data/repository/DisplayRepositoryTest.kt
@@ -23,15 +23,16 @@
 import android.view.Display.DEFAULT_DISPLAY
 import android.view.Display.TYPE_EXTERNAL
 import android.view.Display.TYPE_INTERNAL
+import android.view.IWindowManager
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.coroutines.FlowValue
 import com.android.systemui.coroutines.collectLastValue
 import com.android.systemui.coroutines.collectValues
+import com.android.systemui.statusbar.CommandQueue
 import com.android.systemui.util.mockito.kotlinArgumentCaptor
 import com.android.systemui.util.mockito.mock
-import com.android.systemui.util.mockito.whenever
 import com.android.systemui.utils.os.FakeHandler
 import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.test.TestScope
@@ -46,6 +47,7 @@
 import org.mockito.Mockito.times
 import org.mockito.Mockito.verify
 import org.mockito.kotlin.eq
+import org.mockito.kotlin.whenever
 
 @RunWith(AndroidJUnit4::class)
 @TestableLooper.RunWithLooper
@@ -53,7 +55,11 @@
 class DisplayRepositoryTest : SysuiTestCase() {
 
     private val displayManager = mock<DisplayManager>()
+    private val commandQueue = mock<CommandQueue>()
+    private val windowManager = mock<IWindowManager>()
+
     private val displayListener = kotlinArgumentCaptor<DisplayManager.DisplayListener>()
+    private val commandQueueCallbacks = kotlinArgumentCaptor<CommandQueue.Callbacks>()
     private val connectedDisplayListener = kotlinArgumentCaptor<DisplayManager.DisplayListener>()
 
     private val testHandler = FakeHandler(Looper.getMainLooper())
@@ -67,6 +73,8 @@
     private val displayRepository: DisplayRepositoryImpl by lazy {
         DisplayRepositoryImpl(
                 displayManager,
+                commandQueue,
+                windowManager,
                 testHandler,
                 TestScope(UnconfinedTestDispatcher()),
                 UnconfinedTestDispatcher(),
@@ -513,6 +521,115 @@
             assertThat(displayRepository.getDisplay(2)).isNull()
         }
 
+    @Test
+    fun displayIdsWithSystemDecorations_onStart_emitsDisplaysWithSystemDecorations() =
+        testScope.runTest {
+            setDisplays(0, 1, 2)
+            whenever(windowManager.shouldShowSystemDecors(0)).thenReturn(true)
+            whenever(windowManager.shouldShowSystemDecors(1)).thenReturn(false)
+            whenever(windowManager.shouldShowSystemDecors(2)).thenReturn(true)
+
+            val displayIdsWithSystemDecorations by latestDisplayIdsWithSystemDecorationsValue()
+
+            assertThat(displayIdsWithSystemDecorations).containsExactly(0, 2)
+        }
+
+    @Test
+    fun displayIdsWithSystemDecorations_systemDecorationAdded_emitsIncludingNewDisplayIds() =
+        testScope.runTest {
+            setDisplays(0)
+            whenever(windowManager.shouldShowSystemDecors(0)).thenReturn(true)
+            val lastDisplayIdsWithSystemDecorations by latestDisplayIdsWithSystemDecorationsValue()
+
+            sendOnDisplayAddSystemDecorations(2)
+            sendOnDisplayAddSystemDecorations(3)
+
+            assertThat(lastDisplayIdsWithSystemDecorations).containsExactly(0, 2, 3)
+        }
+
+    @Test
+    fun displayIdsWithSystemDecorations_systemDecorationAdded_emitsToNewSubscribers() =
+        testScope.runTest {
+            setDisplays(0)
+            whenever(windowManager.shouldShowSystemDecors(0)).thenReturn(true)
+
+            val priorDisplayIdsWithSystemDecorations by latestDisplayIdsWithSystemDecorationsValue()
+            sendOnDisplayAddSystemDecorations(1)
+            assertThat(priorDisplayIdsWithSystemDecorations).containsExactly(0, 1)
+
+            val lastDisplayIdsWithSystemDecorations by
+                collectLastValue(displayRepository.displayIdsWithSystemDecorations)
+            assertThat(lastDisplayIdsWithSystemDecorations).containsExactly(0, 1)
+        }
+
+    @Test
+    fun displayIdsWithSystemDecorations_systemDecorationRemoved_doesNotEmitRemovedDisplayId() =
+        testScope.runTest {
+            val lastDisplayIdsWithSystemDecorations by latestDisplayIdsWithSystemDecorationsValue()
+
+            sendOnDisplayAddSystemDecorations(1)
+            sendOnDisplayAddSystemDecorations(2)
+            sendOnDisplayRemoveSystemDecorations(2)
+
+            assertThat(lastDisplayIdsWithSystemDecorations).containsExactly(1)
+        }
+
+    @Test
+    fun displayIdsWithSystemDecorations_systemDecorationsRemoved_nonExistentDisplay_noEffect() =
+        testScope.runTest {
+            val lastDisplayIdsWithSystemDecorations by latestDisplayIdsWithSystemDecorationsValue()
+
+            sendOnDisplayAddSystemDecorations(1)
+            sendOnDisplayRemoveSystemDecorations(2)
+
+            assertThat(lastDisplayIdsWithSystemDecorations).containsExactly(1)
+        }
+
+    @Test
+    fun displayIdsWithSystemDecorations_displayRemoved_doesNotEmitRemovedDisplayId() =
+        testScope.runTest {
+            val lastDisplayIdsWithSystemDecorations by latestDisplayIdsWithSystemDecorationsValue()
+
+            sendOnDisplayAddSystemDecorations(1)
+            sendOnDisplayAddSystemDecorations(2)
+            sendOnDisplayRemoved(2)
+
+            assertThat(lastDisplayIdsWithSystemDecorations).containsExactly(1)
+        }
+
+    @Test
+    fun displayIdsWithSystemDecorations_displayRemoved_nonExistentDisplay_noEffect() =
+        testScope.runTest {
+            val lastDisplayIdsWithSystemDecorations by latestDisplayIdsWithSystemDecorationsValue()
+
+            sendOnDisplayAddSystemDecorations(1)
+            sendOnDisplayRemoved(2)
+
+            assertThat(lastDisplayIdsWithSystemDecorations).containsExactly(1)
+        }
+
+    @Test
+    fun displayIdsWithSystemDecorations_onFlowCollection_commandQueueCallbackRegistered() =
+        testScope.runTest {
+            val lastDisplayIdsWithSystemDecorations by latestDisplayIdsWithSystemDecorationsValue()
+
+            assertThat(lastDisplayIdsWithSystemDecorations).isEmpty()
+
+            verify(commandQueue, times(1)).addCallback(any())
+        }
+
+    @Test
+    fun displayIdsWithSystemDecorations_afterFlowCollection_commandQueueCallbackUnregistered() {
+        testScope.runTest {
+            val lastDisplayIdsWithSystemDecorations by latestDisplayIdsWithSystemDecorationsValue()
+
+            assertThat(lastDisplayIdsWithSystemDecorations).isEmpty()
+
+            verify(commandQueue, times(1)).addCallback(any())
+        }
+        verify(commandQueue, times(1)).removeCallback(any())
+    }
+
     private fun Iterable<Display>.ids(): List<Int> = map { it.displayId }
 
     private fun Iterable<Set<Display>>.toIdSets(): List<Set<Int>> = map { it.ids().toSet() }
@@ -550,6 +667,14 @@
         return flowValue
     }
 
+    // Wrapper to capture the displayListener and commandQueueCallbacks.
+    private fun TestScope.latestDisplayIdsWithSystemDecorationsValue(): FlowValue<Set<Int>?> {
+        val flowValue = collectLastValue(displayRepository.displayIdsWithSystemDecorations)
+        captureAddedRemovedListener()
+        captureCommandQueueCallbacks()
+        return flowValue
+    }
+
     private fun captureAddedRemovedListener() {
         verify(displayManager)
             .registerDisplayListener(
@@ -563,6 +688,10 @@
             )
     }
 
+    private fun captureCommandQueueCallbacks() {
+        verify(commandQueue).addCallback(commandQueueCallbacks.capture())
+    }
+
     private fun sendOnDisplayAdded(id: Int, displayType: Int) {
         val mockDisplay = display(id = id, type = displayType)
         whenever(displayManager.getDisplay(eq(id))).thenReturn(mockDisplay)
@@ -592,6 +721,14 @@
         connectedDisplayListener.value.onDisplayChanged(id)
     }
 
+    private fun sendOnDisplayRemoveSystemDecorations(id: Int) {
+        commandQueueCallbacks.value.onDisplayRemoveSystemDecorations(id)
+    }
+
+    private fun sendOnDisplayAddSystemDecorations(id: Int) {
+        commandQueueCallbacks.value.onDisplayAddSystemDecorations(id)
+    }
+
     private fun setDisplays(displays: List<Display>) {
         whenever(displayManager.displays).thenReturn(displays.toTypedArray())
         displays.forEach { display ->
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/view/layout/sections/ClockSectionTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/view/layout/sections/ClockSectionTest.kt
index 2ef86e66..1665895 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/view/layout/sections/ClockSectionTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/view/layout/sections/ClockSectionTest.kt
@@ -19,6 +19,8 @@
 
 import android.content.pm.PackageManager
 import android.content.res.Resources
+import android.platform.test.annotations.DisableFlags
+import android.platform.test.annotations.EnableFlags
 import android.view.View.GONE
 import android.view.View.VISIBLE
 import androidx.constraintlayout.widget.ConstraintSet
@@ -128,6 +130,7 @@
     }
 
     @Test
+    @DisableFlags(com.android.systemui.shared.Flags.FLAG_CLOCK_REACTIVE_SMARTSPACE_LAYOUT)
     fun testApplyDefaultConstraints_LargeClock_SplitShade() =
         kosmos.testScope.runTest {
             with(kosmos) {
@@ -144,11 +147,54 @@
         }
 
     @Test
+    @EnableFlags(com.android.systemui.shared.Flags.FLAG_CLOCK_REACTIVE_SMARTSPACE_LAYOUT)
+    fun testApplyDefaultConstraints_LargeClock_SplitShade_ReactiveVariantsOn() =
+        kosmos.testScope.runTest {
+            with(kosmos) {
+                shadeRepository.setShadeLayoutWide(true)
+                keyguardClockInteractor.setClockSize(ClockSize.LARGE)
+                advanceUntilIdle()
+            }
+
+            val cs = ConstraintSet()
+            underTest.applyDefaultConstraints(cs)
+
+            assertLargeClockTop(cs, LARGE_CLOCK_TOP_WITHOUT_SMARTSPACE +
+                    ENHANCED_SMART_SPACE_HEIGHT)
+            assertSmallClockTop(cs)
+        }
+
+    @Test
+    @DisableFlags(com.android.systemui.shared.Flags.FLAG_CLOCK_REACTIVE_SMARTSPACE_LAYOUT)
     fun testApplyDefaultConstraints_LargeClock_NonSplitShade() =
         kosmos.testScope.runTest {
             with(kosmos) {
                 val isShadeLayoutWide by collectLastValue(shadeRepository.isShadeLayoutWide)
                 val isLargeClockVisible by
+                collectLastValue(keyguardClockViewModel.isLargeClockVisible)
+
+                shadeRepository.setShadeLayoutWide(false)
+                keyguardClockInteractor.setClockSize(ClockSize.LARGE)
+                notificationsKeyguardInteractor.setNotificationsFullyHidden(true)
+                keyguardSmartspaceInteractor.setBcSmartspaceVisibility(VISIBLE)
+                fakeConfigurationController.notifyConfigurationChanged()
+                advanceUntilIdle()
+
+                val cs = ConstraintSet()
+                underTest.applyDefaultConstraints(cs)
+
+                assertLargeClockTop(cs, LARGE_CLOCK_TOP)
+                assertSmallClockTop(cs)
+            }
+        }
+
+    @Test
+    @EnableFlags(com.android.systemui.shared.Flags.FLAG_CLOCK_REACTIVE_SMARTSPACE_LAYOUT)
+    fun testApplyDefaultConstraints_LargeClock_NonSplitShade_reactiveVariantsOn() =
+        kosmos.testScope.runTest {
+            with(kosmos) {
+                val isShadeLayoutWide by collectLastValue(shadeRepository.isShadeLayoutWide)
+                val isLargeClockVisible by
                     collectLastValue(keyguardClockViewModel.isLargeClockVisible)
 
                 shadeRepository.setShadeLayoutWide(false)
@@ -161,7 +207,8 @@
                 val cs = ConstraintSet()
                 underTest.applyDefaultConstraints(cs)
 
-                assertLargeClockTop(cs, LARGE_CLOCK_TOP)
+                assertLargeClockTop(cs, LARGE_CLOCK_TOP_WITHOUT_SMARTSPACE +
+                        ENHANCED_SMART_SPACE_HEIGHT)
                 assertSmallClockTop(cs)
             }
         }
@@ -215,6 +262,7 @@
         }
 
     @Test
+    @DisableFlags(com.android.systemui.shared.Flags.FLAG_CLOCK_REACTIVE_SMARTSPACE_LAYOUT)
     fun testApplyDefaultConstraints_SmallClock_SplitShade() =
         kosmos.testScope.runTest {
             with(kosmos) {
@@ -238,6 +286,32 @@
         }
 
     @Test
+    @EnableFlags(com.android.systemui.shared.Flags.FLAG_CLOCK_REACTIVE_SMARTSPACE_LAYOUT)
+    fun testApplyDefaultConstraints_SmallClock_SplitShade_ReactiveVariantsOn() =
+        kosmos.testScope.runTest {
+            with(kosmos) {
+                val isShadeLayoutWide by collectLastValue(shadeRepository.isShadeLayoutWide)
+                val isLargeClockVisible by
+                collectLastValue(keyguardClockViewModel.isLargeClockVisible)
+
+                shadeRepository.setShadeLayoutWide(true)
+                keyguardClockInteractor.setClockSize(ClockSize.SMALL)
+                notificationsKeyguardInteractor.setNotificationsFullyHidden(true)
+                keyguardSmartspaceInteractor.setBcSmartspaceVisibility(VISIBLE)
+                fakeConfigurationController.notifyConfigurationChanged()
+                advanceUntilIdle()
+
+                val cs = ConstraintSet()
+                underTest.applyDefaultConstraints(cs)
+
+                assertLargeClockTop(cs, LARGE_CLOCK_TOP_WITHOUT_SMARTSPACE +
+                        ENHANCED_SMART_SPACE_HEIGHT)
+                assertSmallClockTop(cs)
+            }
+        }
+
+    @Test
+    @DisableFlags(com.android.systemui.shared.Flags.FLAG_CLOCK_REACTIVE_SMARTSPACE_LAYOUT)
     fun testApplyDefaultConstraints_SmallClock_NonSplitShade() =
         kosmos.testScope.runTest {
             with(kosmos) {
@@ -260,6 +334,30 @@
         }
 
     @Test
+    @EnableFlags(com.android.systemui.shared.Flags.FLAG_CLOCK_REACTIVE_SMARTSPACE_LAYOUT)
+    fun testApplyDefaultConstraints_SmallClock_NonSplitShade_ReactiveVariantsOn() =
+        kosmos.testScope.runTest {
+            with(kosmos) {
+                val isShadeLayoutWide by collectLastValue(shadeRepository.isShadeLayoutWide)
+                val isLargeClockVisible by
+                collectLastValue(keyguardClockViewModel.isLargeClockVisible)
+
+                shadeRepository.setShadeLayoutWide(false)
+                keyguardClockInteractor.setClockSize(ClockSize.SMALL)
+                notificationsKeyguardInteractor.setNotificationsFullyHidden(true)
+                keyguardSmartspaceInteractor.setBcSmartspaceVisibility(VISIBLE)
+                fakeConfigurationController.notifyConfigurationChanged()
+                advanceUntilIdle()
+
+                val cs = ConstraintSet()
+                underTest.applyDefaultConstraints(cs)
+                assertLargeClockTop(cs, LARGE_CLOCK_TOP_WITHOUT_SMARTSPACE +
+                        ENHANCED_SMART_SPACE_HEIGHT)
+                assertSmallClockTop(cs)
+            }
+        }
+
+    @Test
     fun testSmartspaceVisible_weatherClockDateAndIconsBarrierBottomBelowBCSmartspace() =
         kosmos.testScope.runTest {
             with(kosmos) {
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/view/layout/sections/SmartspaceSectionTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/view/layout/sections/SmartspaceSectionTest.kt
index 7706c50..374bcbf 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/view/layout/sections/SmartspaceSectionTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/view/layout/sections/SmartspaceSectionTest.kt
@@ -17,6 +17,7 @@
 
 package com.android.systemui.keyguard.ui.view.layout.sections
 
+import android.platform.test.annotations.DisableFlags
 import android.view.View
 import android.widget.LinearLayout
 import androidx.constraintlayout.widget.ConstraintLayout
@@ -31,6 +32,7 @@
 import com.android.systemui.keyguard.domain.interactor.KeyguardBlueprintInteractor
 import com.android.systemui.keyguard.domain.interactor.KeyguardSmartspaceInteractor
 import com.android.systemui.keyguard.ui.viewmodel.KeyguardClockViewModel
+import com.android.systemui.keyguard.ui.viewmodel.KeyguardRootViewModel
 import com.android.systemui.keyguard.ui.viewmodel.KeyguardSmartspaceViewModel
 import com.android.systemui.res.R
 import com.android.systemui.shared.R as sharedR
@@ -48,6 +50,7 @@
 
 @RunWith(AndroidJUnit4::class)
 @SmallTest
+@DisableFlags(com.android.systemui.shared.Flags.FLAG_CLOCK_REACTIVE_SMARTSPACE_LAYOUT)
 class SmartspaceSectionTest : SysuiTestCase() {
     private lateinit var underTest: SmartspaceSection
     @Mock private lateinit var keyguardClockViewModel: KeyguardClockViewModel
@@ -56,6 +59,7 @@
     @Mock private lateinit var keyguardUnlockAnimationController: KeyguardUnlockAnimationController
     @Mock private lateinit var keyguardSmartspaceInteractor: KeyguardSmartspaceInteractor
     @Mock private lateinit var blueprintInteractor: Lazy<KeyguardBlueprintInteractor>
+    @Mock private lateinit var keyguardRootViewModel: KeyguardRootViewModel
 
     private val smartspaceView = View(mContext).also { it.id = sharedR.id.bc_smartspace_view }
     private val weatherView = View(mContext).also { it.id = sharedR.id.weather_smartspace_view }
@@ -80,13 +84,14 @@
                 lockscreenSmartspaceController,
                 keyguardUnlockAnimationController,
                 blueprintInteractor,
+                keyguardRootViewModel,
             )
         constraintLayout = ConstraintLayout(mContext)
         whenever(lockscreenSmartspaceController.buildAndConnectView(any()))
             .thenReturn(smartspaceView)
-        whenever(lockscreenSmartspaceController.buildAndConnectWeatherView(any()))
+        whenever(lockscreenSmartspaceController.buildAndConnectWeatherView(any(), any()))
             .thenReturn(weatherView)
-        whenever(lockscreenSmartspaceController.buildAndConnectDateView(any())).thenReturn(dateView)
+        whenever(lockscreenSmartspaceController.buildAndConnectDateView(any(), any())).thenReturn(dateView)
         whenever(keyguardClockViewModel.hasCustomWeatherDataDisplay)
             .thenReturn(hasCustomWeatherDataDisplay)
         whenever(keyguardClockViewModel.clockShouldBeCentered).thenReturn(clockShouldBeCentered)
@@ -97,6 +102,7 @@
     }
 
     @Test
+    @DisableFlags(com.android.systemui.shared.Flags.FLAG_CLOCK_REACTIVE_SMARTSPACE_LAYOUT)
     fun testAddViews_notSmartspaceEnabled() {
         whenever(keyguardSmartspaceViewModel.isSmartspaceEnabled).thenReturn(false)
         val constraintLayout = ConstraintLayout(mContext)
@@ -107,6 +113,7 @@
     }
 
     @Test
+    @DisableFlags(com.android.systemui.shared.Flags.FLAG_CLOCK_REACTIVE_SMARTSPACE_LAYOUT)
     fun testAddViews_smartspaceEnabled_dateWeatherDecoupled() {
         whenever(keyguardSmartspaceViewModel.isDateWeatherDecoupled).thenReturn(true)
         underTest.addViews(constraintLayout)
@@ -125,6 +132,7 @@
     }
 
     @Test
+    @DisableFlags(com.android.systemui.shared.Flags.FLAG_CLOCK_REACTIVE_SMARTSPACE_LAYOUT)
     fun testConstraintsWhenShadeLayoutIsNotWide() {
         underTest.addViews(constraintLayout)
         underTest.applyConstraints(constraintSet)
@@ -134,6 +142,7 @@
     }
 
     @Test
+    @DisableFlags(com.android.systemui.shared.Flags.FLAG_CLOCK_REACTIVE_SMARTSPACE_LAYOUT)
     fun testConstraintsWhenShadeLayoutIsWide() {
         isShadeLayoutWide.value = true
 
@@ -145,6 +154,7 @@
     }
 
     @Test
+    @DisableFlags(com.android.systemui.shared.Flags.FLAG_CLOCK_REACTIVE_SMARTSPACE_LAYOUT)
     fun testConstraintsWhenNotHasCustomWeatherDataDisplay() {
         whenever(keyguardSmartspaceViewModel.isDateWeatherDecoupled).thenReturn(true)
         underTest.addViews(constraintLayout)
@@ -159,6 +169,7 @@
     }
 
     @Test
+    @DisableFlags(com.android.systemui.shared.Flags.FLAG_CLOCK_REACTIVE_SMARTSPACE_LAYOUT)
     fun testConstraintsWhenHasCustomWeatherDataDisplay() {
         hasCustomWeatherDataDisplay.value = true
         underTest.addViews(constraintLayout)
@@ -169,6 +180,7 @@
     }
 
     @Test
+    @DisableFlags(com.android.systemui.shared.Flags.FLAG_CLOCK_REACTIVE_SMARTSPACE_LAYOUT)
     fun testNormalDateWeatherVisibility() {
         isWeatherVisibleFlow.value = true
         underTest.addViews(constraintLayout)
@@ -182,6 +194,7 @@
     }
 
     @Test
+    @DisableFlags(com.android.systemui.shared.Flags.FLAG_CLOCK_REACTIVE_SMARTSPACE_LAYOUT)
     fun testCustomDateWeatherVisibility() {
         hasCustomWeatherDataDisplay.value = true
         underTest.addViews(constraintLayout)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/DozingToDreamingTransitionViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/DozingToDreamingTransitionViewModelTest.kt
deleted file mode 100644
index 052dfd5..0000000
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/DozingToDreamingTransitionViewModelTest.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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.keyguard.ui.viewmodel
-
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.SmallTest
-import com.android.systemui.SysuiTestCase
-import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository
-import com.android.systemui.keyguard.shared.model.KeyguardState
-import com.android.systemui.kosmos.collectValues
-import com.android.systemui.kosmos.runTest
-import com.android.systemui.kosmos.testScope
-import com.android.systemui.testKosmos
-import com.google.common.truth.Truth.assertThat
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@SmallTest
-@RunWith(AndroidJUnit4::class)
-class DozingToDreamingTransitionViewModelTest : SysuiTestCase() {
-    val kosmos = testKosmos()
-
-    val underTest by lazy { kosmos.dozingToDreamingTransitionViewModel }
-
-    @Test
-    fun notificationShadeAlpha() =
-        kosmos.runTest {
-            val values by collectValues(underTest.notificationAlpha)
-            assertThat(values).isEmpty()
-
-            fakeKeyguardTransitionRepository.sendTransitionSteps(
-                from = KeyguardState.DOZING,
-                to = KeyguardState.DREAMING,
-                testScope,
-            )
-
-            assertThat(values).isNotEmpty()
-            values.forEach { assertThat(it).isEqualTo(0) }
-        }
-}
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/data/repository/MediaFilterRepositoryTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/data/repository/MediaFilterRepositoryTest.kt
index 24672eb..8a11be0 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/data/repository/MediaFilterRepositoryTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/data/repository/MediaFilterRepositoryTest.kt
@@ -30,21 +30,11 @@
 import com.android.systemui.media.controls.shared.model.MediaDataLoadingModel
 import com.android.systemui.media.controls.shared.model.SmartspaceMediaData
 import com.android.systemui.media.controls.shared.model.SmartspaceMediaLoadingModel
-import com.android.systemui.media.controls.util.SmallHash
-import com.android.systemui.media.controls.util.mediaSmartspaceLogger
-import com.android.systemui.media.controls.util.mockMediaSmartspaceLogger
 import com.android.systemui.testKosmos
-import com.android.systemui.util.time.systemClock
 import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.test.runTest
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.ArgumentMatchers.anyBoolean
-import org.mockito.ArgumentMatchers.anyInt
-import org.mockito.ArgumentMatchers.eq
-import org.mockito.kotlin.never
-import org.mockito.kotlin.reset
-import org.mockito.kotlin.verify
 
 @SmallTest
 @RunWith(AndroidJUnit4::class)
@@ -52,7 +42,6 @@
 
     private val kosmos = testKosmos()
     private val testScope = kosmos.testScope
-    private val smartspaceLogger = kosmos.mockMediaSmartspaceLogger
     private val icon = Icon.createWithResource(context, R.drawable.ic_media_play)
     private val mediaRecommendation =
         SmartspaceMediaData(
@@ -61,11 +50,7 @@
             recommendations = MediaTestHelper.getValidRecommendationList(icon),
         )
 
-    private val underTest: MediaFilterRepository =
-        with(kosmos) {
-            mediaSmartspaceLogger = mockMediaSmartspaceLogger
-            mediaFilterRepository
-        }
+    private val underTest: MediaFilterRepository = with(kosmos) { mediaFilterRepository }
 
     @Test
     fun addSelectedUserMediaEntry_activeThenInactivate() =
@@ -185,29 +170,15 @@
             underTest.addSelectedUserMediaEntry(playingData)
             underTest.addMediaDataLoadingState(
                 MediaDataLoadingModel.Loaded(playingInstanceId),
-                false
+                false,
             )
 
-            verify(smartspaceLogger)
-                .logSmartspaceCardReceived(
-                    playingData.smartspaceId,
-                    playingData.appUid,
-                    cardinality = 2
-                )
-
             underTest.addSelectedUserMediaEntry(remoteData)
             underTest.addMediaDataLoadingState(
                 MediaDataLoadingModel.Loaded(remoteInstanceId),
-                false
+                false,
             )
 
-            verify(smartspaceLogger)
-                .logSmartspaceCardReceived(
-                    remoteData.smartspaceId,
-                    playingData.appUid,
-                    cardinality = 3,
-                    rank = 1
-                )
             assertThat(currentMedia?.size).isEqualTo(3)
             assertThat(currentMedia)
                 .containsExactly(
@@ -215,7 +186,7 @@
                     MediaCommonModel.MediaControl(MediaDataLoadingModel.Loaded(remoteInstanceId)),
                     MediaCommonModel.MediaRecommendations(
                         SmartspaceMediaLoadingModel.Loaded(KEY_MEDIA_SMARTSPACE, true)
-                    )
+                    ),
                 )
                 .inOrder()
         }
@@ -238,7 +209,7 @@
             assertThat(currentMedia)
                 .containsExactly(
                     MediaCommonModel.MediaControl(MediaDataLoadingModel.Loaded(playingInstanceId1)),
-                    MediaCommonModel.MediaControl(MediaDataLoadingModel.Loaded(playingInstanceId2))
+                    MediaCommonModel.MediaControl(MediaDataLoadingModel.Loaded(playingInstanceId2)),
                 )
                 .inOrder()
 
@@ -258,29 +229,19 @@
                     MediaCommonModel.MediaControl(MediaDataLoadingModel.Loaded(playingInstanceId1)),
                     MediaCommonModel.MediaControl(
                         MediaDataLoadingModel.Loaded(playingInstanceId2, false)
-                    )
+                    ),
                 )
                 .inOrder()
 
             underTest.setOrderedMedia()
 
-            verify(smartspaceLogger, never())
-                .logSmartspaceCardReceived(
-                    anyInt(),
-                    anyInt(),
-                    anyInt(),
-                    anyBoolean(),
-                    anyBoolean(),
-                    anyInt(),
-                    anyInt()
-                )
             assertThat(currentMedia?.size).isEqualTo(2)
             assertThat(currentMedia)
                 .containsExactly(
                     MediaCommonModel.MediaControl(
                         MediaDataLoadingModel.Loaded(playingInstanceId2, false)
                     ),
-                    MediaCommonModel.MediaControl(MediaDataLoadingModel.Loaded(playingInstanceId1))
+                    MediaCommonModel.MediaControl(MediaDataLoadingModel.Loaded(playingInstanceId1)),
                 )
                 .inOrder()
         }
@@ -321,27 +282,6 @@
             )
             underTest.setOrderedMedia()
 
-            val smartspaceId = SmallHash.hash(mediaRecommendation.targetId)
-            verify(smartspaceLogger)
-                .logSmartspaceCardReceived(
-                    eq(smartspaceId),
-                    anyInt(),
-                    eq(6),
-                    anyBoolean(),
-                    anyBoolean(),
-                    eq(2),
-                    anyInt()
-                )
-            verify(smartspaceLogger, never())
-                .logSmartspaceCardReceived(
-                    eq(playingAndLocalData.smartspaceId),
-                    anyInt(),
-                    anyInt(),
-                    anyBoolean(),
-                    anyBoolean(),
-                    anyInt(),
-                    anyInt()
-                )
             assertThat(currentMedia?.size).isEqualTo(6)
             assertThat(currentMedia)
                 .containsExactly(
@@ -376,7 +316,7 @@
                     active = true,
                     instanceId = instanceId2,
                     isPlaying = true,
-                    notificationKey = KEY_2
+                    notificationKey = KEY_2,
                 )
 
             underTest.setMediaFromRecPackageName(PACKAGE_NAME)
@@ -391,11 +331,11 @@
                 .containsExactly(
                     MediaCommonModel.MediaControl(
                         MediaDataLoadingModel.Loaded(instanceId1),
-                        isMediaFromRec = true
+                        isMediaFromRec = true,
                     ),
                     MediaCommonModel.MediaRecommendations(
                         SmartspaceMediaLoadingModel.Loaded(KEY_MEDIA_SMARTSPACE)
-                    )
+                    ),
                 )
                 .inOrder()
 
@@ -410,7 +350,7 @@
                     MediaCommonModel.MediaControl(MediaDataLoadingModel.Loaded(instanceId1)),
                     MediaCommonModel.MediaRecommendations(
                         SmartspaceMediaLoadingModel.Loaded(KEY_MEDIA_SMARTSPACE)
-                    )
+                    ),
                 )
                 .inOrder()
         }
@@ -423,89 +363,6 @@
     fun hasActiveMedia_noMediaSet_returnsFalse() =
         testScope.runTest { assertThat(underTest.hasActiveMedia()).isFalse() }
 
-    @Test
-    fun updateMediaWithLatency_smartspaceIsLogged() =
-        testScope.runTest {
-            val instanceId = InstanceId.fakeInstanceId(123)
-            val data = createMediaData("app", true, LOCAL, false, instanceId)
-
-            underTest.setRecommendation(mediaRecommendation)
-            underTest.setRecommendationsLoadingState(
-                SmartspaceMediaLoadingModel.Loaded(KEY_MEDIA_SMARTSPACE, true)
-            )
-
-            val smartspaceId = SmallHash.hash(mediaRecommendation.targetId)
-            verify(smartspaceLogger)
-                .logSmartspaceCardReceived(
-                    eq(smartspaceId),
-                    anyInt(),
-                    eq(1),
-                    eq(true),
-                    anyBoolean(),
-                    eq(0),
-                    anyInt()
-                )
-            reset(smartspaceLogger)
-
-            underTest.addSelectedUserMediaEntry(data)
-            underTest.addMediaDataLoadingState(MediaDataLoadingModel.Loaded(instanceId), false)
-
-            verify(smartspaceLogger)
-                .logSmartspaceCardReceived(data.smartspaceId, data.appUid, cardinality = 2)
-
-            reset(smartspaceLogger)
-
-            underTest.addSelectedUserMediaEntry(data)
-            underTest.addMediaDataLoadingState(
-                MediaDataLoadingModel.Loaded(instanceId, receivedSmartspaceCardLatency = 123),
-                true
-            )
-
-            verify(smartspaceLogger)
-                .logSmartspaceCardReceived(
-                    SmallHash.hash(data.appUid + kosmos.systemClock.currentTimeMillis().toInt()),
-                    data.appUid,
-                    cardinality = 2,
-                    rank = 0,
-                    receivedLatencyMillis = 123
-                )
-        }
-
-    @Test
-    fun resumeMedia_loadSmartspace_allSmartspaceIsLogged() =
-        testScope.runTest {
-            val resumeInstanceId = InstanceId.fakeInstanceId(123)
-            val data = createMediaData("app", false, LOCAL, true, resumeInstanceId)
-
-            underTest.addSelectedUserMediaEntry(data.copy(active = false))
-            underTest.addMediaDataLoadingState(MediaDataLoadingModel.Loaded(resumeInstanceId))
-            underTest.setRecommendation(mediaRecommendation)
-            underTest.setRecommendationsLoadingState(
-                SmartspaceMediaLoadingModel.Loaded(KEY_MEDIA_SMARTSPACE, true)
-            )
-
-            assertThat(underTest.hasActiveMedia()).isFalse()
-            assertThat(underTest.hasAnyMedia()).isTrue()
-            val smartspaceId = SmallHash.hash(mediaRecommendation.targetId)
-            verify(smartspaceLogger)
-                .logSmartspaceCardReceived(
-                    eq(smartspaceId),
-                    anyInt(),
-                    eq(2),
-                    eq(true),
-                    anyBoolean(),
-                    eq(0),
-                    anyInt()
-                )
-            verify(smartspaceLogger)
-                .logSmartspaceCardReceived(
-                    SmallHash.hash(data.appUid + kosmos.systemClock.currentTimeMillis().toInt()),
-                    data.appUid,
-                    cardinality = 2,
-                    rank = 1
-                )
-        }
-
     private fun createMediaData(
         app: String,
         playing: Boolean,
@@ -518,7 +375,7 @@
             resumption = isResume,
             notificationKey = "key: $app",
             isPlaying = playing,
-            instanceId = instanceId
+            instanceId = instanceId,
         )
     }
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/domain/interactor/MediaCarouselInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/domain/interactor/MediaCarouselInteractorTest.kt
index 0a44e7b..0197a1e 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/domain/interactor/MediaCarouselInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/domain/interactor/MediaCarouselInteractorTest.kt
@@ -18,7 +18,6 @@
 
 import android.R
 import android.graphics.drawable.Icon
-import android.os.Process
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
 import com.android.internal.logging.InstanceId
@@ -37,19 +36,12 @@
 import com.android.systemui.media.controls.shared.model.MediaDataLoadingModel
 import com.android.systemui.media.controls.shared.model.SmartspaceMediaData
 import com.android.systemui.media.controls.shared.model.SmartspaceMediaLoadingModel
-import com.android.systemui.media.controls.util.MediaSmartspaceLogger
-import com.android.systemui.media.controls.util.SmallHash
-import com.android.systemui.media.controls.util.mediaSmartspaceLogger
-import com.android.systemui.media.controls.util.mockMediaSmartspaceLogger
 import com.android.systemui.testKosmos
 import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.test.runTest
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.Mockito.reset
-import org.mockito.kotlin.never
-import org.mockito.kotlin.verify
 
 @SmallTest
 @RunWith(AndroidJUnit4::class)
@@ -59,10 +51,7 @@
     private val testScope = kosmos.testScope
 
     private val mediaFilterRepository: MediaFilterRepository =
-        with(kosmos) {
-            mediaSmartspaceLogger = mockMediaSmartspaceLogger
-            mediaFilterRepository
-        }
+        with(kosmos) { mediaFilterRepository }
     private val mediaRecommendationsInteractor: MediaRecommendationsInteractor =
         kosmos.mediaRecommendationsInteractor
     val icon = Icon.createWithResource(context, R.drawable.ic_media_play)
@@ -73,7 +62,6 @@
             packageName = PACKAGE_NAME,
             recommendations = MediaTestHelper.getValidRecommendationList(icon),
         )
-    private val smartspaceLogger = kosmos.mockMediaSmartspaceLogger
 
     private val underTest: MediaCarouselInteractor = kosmos.mediaCarouselInteractor
 
@@ -163,18 +151,6 @@
                     MediaCommonModel.MediaControl(mediaLoadingModel, true),
                 )
                 .inOrder()
-
-            underTest.logSmartspaceSeenCard(0, 1, false)
-
-            verify(smartspaceLogger)
-                .logSmartspaceCardUIEvent(
-                    MediaSmartspaceLogger.SMARTSPACE_CARD_SEEN_EVENT,
-                    SmallHash.hash(mediaRecommendation.targetId),
-                    Process.INVALID_UID,
-                    surface = SURFACE,
-                    2,
-                    true,
-                )
         }
 
     @Test
@@ -269,79 +245,6 @@
                 .inOrder()
         }
 
-    @Test
-    fun loadMediaAndRecommendation_logSmartspaceSeenCard() {
-        val instanceId = InstanceId.fakeInstanceId(123)
-        val data =
-            MediaData(
-                active = true,
-                instanceId = instanceId,
-                packageName = PACKAGE_NAME,
-                notificationKey = KEY,
-            )
-        val smartspaceLoadingModel = SmartspaceMediaLoadingModel.Loaded(KEY_MEDIA_SMARTSPACE)
-        val mediaLoadingModel = MediaDataLoadingModel.Loaded(instanceId)
-
-        mediaFilterRepository.addSelectedUserMediaEntry(data)
-        mediaFilterRepository.addMediaDataLoadingState(mediaLoadingModel)
-        underTest.logSmartspaceSeenCard(0, 1, false)
-
-        verify(smartspaceLogger)
-            .logSmartspaceCardUIEvent(
-                MediaSmartspaceLogger.SMARTSPACE_CARD_SEEN_EVENT,
-                data.smartspaceId,
-                data.appUid,
-                surface = SURFACE,
-                1,
-            )
-
-        reset(smartspaceLogger)
-        mediaFilterRepository.addSelectedUserMediaEntry(data)
-        mediaFilterRepository.addMediaDataLoadingState(mediaLoadingModel)
-        underTest.logSmartspaceSeenCard(0, 1, true)
-
-        verify(smartspaceLogger, never())
-            .logSmartspaceCardUIEvent(
-                MediaSmartspaceLogger.SMARTSPACE_CARD_SEEN_EVENT,
-                data.smartspaceId,
-                data.appUid,
-                surface = SURFACE,
-                2,
-            )
-
-        reset(smartspaceLogger)
-        mediaFilterRepository.setRecommendation(mediaRecommendation)
-        mediaFilterRepository.setRecommendationsLoadingState(smartspaceLoadingModel)
-        underTest.logSmartspaceSeenCard(1, 1, true)
-
-        verify(smartspaceLogger)
-            .logSmartspaceCardUIEvent(
-                MediaSmartspaceLogger.SMARTSPACE_CARD_SEEN_EVENT,
-                SmallHash.hash(mediaRecommendation.targetId),
-                Process.INVALID_UID,
-                surface = SURFACE,
-                2,
-                true,
-                rank = 1,
-            )
-
-        reset(smartspaceLogger)
-        mediaFilterRepository.addSelectedUserMediaEntry(data)
-        mediaFilterRepository.addMediaDataLoadingState(
-            mediaLoadingModel.copy(receivedSmartspaceCardLatency = 1)
-        )
-        underTest.logSmartspaceSeenCard(0, 1, true)
-
-        verify(smartspaceLogger)
-            .logSmartspaceCardUIEvent(
-                MediaSmartspaceLogger.SMARTSPACE_CARD_SEEN_EVENT,
-                data.smartspaceId,
-                data.appUid,
-                surface = SURFACE,
-                2,
-            )
-    }
-
     companion object {
         private const val KEY_MEDIA_SMARTSPACE = "MEDIA_SMARTSPACE_ID"
         private const val PACKAGE_NAME = "com.android.example"
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/domain/interactor/MediaControlInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/domain/interactor/MediaControlInteractorTest.kt
index 62d0625..ba987c1 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/domain/interactor/MediaControlInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/domain/interactor/MediaControlInteractorTest.kt
@@ -42,11 +42,7 @@
 import com.android.systemui.media.controls.domain.pipeline.mediaDataProcessor
 import com.android.systemui.media.controls.shared.model.MediaData
 import com.android.systemui.media.controls.shared.model.SmartspaceMediaData
-import com.android.systemui.media.controls.util.MediaSmartspaceLogger.Companion.SMARTSPACE_CARD_CLICK_EVENT
-import com.android.systemui.media.controls.util.MediaSmartspaceLogger.Companion.SMARTSPACE_CARD_DISMISS_EVENT
 import com.android.systemui.media.controls.util.mediaInstanceId
-import com.android.systemui.media.controls.util.mediaSmartspaceLogger
-import com.android.systemui.media.controls.util.mockMediaSmartspaceLogger
 import com.android.systemui.media.mediaOutputDialogManager
 import com.android.systemui.mockActivityIntentHelper
 import com.android.systemui.plugins.activityStarter
@@ -57,8 +53,6 @@
 import kotlinx.coroutines.test.runTest
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.Mockito.anyBoolean
-import org.mockito.Mockito.anyInt
 import org.mockito.Mockito.never
 import org.mockito.Mockito.verify
 import org.mockito.kotlin.any
@@ -73,16 +67,11 @@
     private val kosmos = testKosmos()
     private val testScope = kosmos.testScope
 
-    private val mediaDataFilter: MediaDataFilterImpl =
-        with(kosmos) {
-            mediaSmartspaceLogger = mockMediaSmartspaceLogger
-            mediaDataFilter
-        }
+    private val mediaDataFilter: MediaDataFilterImpl = with(kosmos) { mediaDataFilter }
     private val activityStarter = kosmos.activityStarter
     private val keyguardStateController = kosmos.keyguardStateController
     private val instanceId: InstanceId = kosmos.mediaInstanceId
     private val notificationLockscreenUserManager = kosmos.notificationLockscreenUserManager
-    private val smartspaceLogger = kosmos.mockMediaSmartspaceLogger
     private val icon = Icon.createWithResource(context, R.drawable.ic_media_play)
     private val mediaRecommendation =
         SmartspaceMediaData(
@@ -148,7 +137,7 @@
         val activityController = mock<ActivityTransitionAnimator.Controller>()
         whenever(expandable.activityTransitionController(any())).thenReturn(activityController)
 
-        underTest.startClickIntent(expandable, clickIntent, SMARTSPACE_CARD_CLICK_EVENT, 1)
+        underTest.startClickIntent(expandable, clickIntent)
 
         verify(activityStarter)
             .startPendingIntentMaybeDismissingKeyguard(
@@ -172,17 +161,8 @@
         val mediaData = MediaData(userId = USER_ID, instanceId = instanceId, artist = ARTIST)
         mediaDataFilter.onSmartspaceMediaDataLoaded(KEY_MEDIA_SMARTSPACE, mediaRecommendation, true)
         mediaDataFilter.onMediaDataLoaded(KEY, null, mediaData)
-        underTest.startClickIntent(expandable, clickIntent, SMARTSPACE_CARD_CLICK_EVENT, 1)
+        underTest.startClickIntent(expandable, clickIntent)
 
-        verify(smartspaceLogger)
-            .logSmartspaceCardUIEvent(
-                SMARTSPACE_CARD_CLICK_EVENT,
-                mediaData.smartspaceId,
-                mediaData.appUid,
-                surface = SURFACE,
-                cardinality = 2,
-                rank = 1,
-            )
         verify(activityStarter)
             .postStartActivityDismissingKeyguard(eq(clickIntent), eq(activityController))
     }
@@ -270,24 +250,10 @@
         kosmos.mediaDataRepository.addMediaEntry(KEY, mediaData)
         kosmos.mediaDataFilter.onMediaDataLoaded(KEY, null, mediaData)
 
-        underTest.removeMediaControl(null, instanceId, 0L, SMARTSPACE_CARD_DISMISS_EVENT, 1)
+        underTest.removeMediaControl(null, instanceId, 0L)
         kosmos.fakeExecutor.advanceClockToNext()
         kosmos.fakeExecutor.runAllReady()
 
-        verify(smartspaceLogger, never())
-            .logSmartspaceCardUIEvent(
-                anyInt(),
-                anyInt(),
-                anyInt(),
-                anyInt(),
-                anyInt(),
-                anyBoolean(),
-                anyBoolean(),
-                anyInt(),
-                anyInt(),
-                anyInt(),
-                anyBoolean(),
-            )
         verify(listener).onMediaDataRemoved(eq(KEY), eq(true))
     }
 
@@ -303,19 +269,10 @@
         mediaDataFilter.onSmartspaceMediaDataLoaded(KEY_MEDIA_SMARTSPACE, mediaRecommendation, true)
         mediaDataFilter.onMediaDataLoaded(KEY, null, mediaData)
 
-        underTest.removeMediaControl(null, instanceId, 0L, SMARTSPACE_CARD_DISMISS_EVENT, 1)
+        underTest.removeMediaControl(null, instanceId, 0L)
         kosmos.fakeExecutor.advanceClockToNext()
         kosmos.fakeExecutor.runAllReady()
 
-        verify(smartspaceLogger)
-            .logSmartspaceCardUIEvent(
-                SMARTSPACE_CARD_DISMISS_EVENT,
-                mediaData.smartspaceId,
-                mediaData.appUid,
-                surface = SURFACE,
-                cardinality = 2,
-                rank = 1,
-            )
         verify(listener).onMediaDataRemoved(eq(KEY), eq(true))
     }
 
@@ -327,6 +284,5 @@
         private const val ARTIST = "artist"
         private const val ARTIST_2 = "artist2"
         private const val KEY_MEDIA_SMARTSPACE = "MEDIA_SMARTSPACE_ID"
-        private const val SURFACE = 4
     }
 }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/domain/interactor/MediaRecommendationsInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/domain/interactor/MediaRecommendationsInteractorTest.kt
index 11397d9..2265c01 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/domain/interactor/MediaRecommendationsInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/domain/interactor/MediaRecommendationsInteractorTest.kt
@@ -21,7 +21,6 @@
 import android.content.Intent
 import android.content.applicationContext
 import android.graphics.drawable.Icon
-import android.os.Process
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
 import com.android.systemui.SysuiTestCase
@@ -39,11 +38,6 @@
 import com.android.systemui.media.controls.shared.model.MediaRecModel
 import com.android.systemui.media.controls.shared.model.MediaRecommendationsModel
 import com.android.systemui.media.controls.shared.model.SmartspaceMediaData
-import com.android.systemui.media.controls.util.MediaSmartspaceLogger.Companion.SMARTSPACE_CARD_CLICK_EVENT
-import com.android.systemui.media.controls.util.MediaSmartspaceLogger.Companion.SMARTSPACE_CARD_DISMISS_EVENT
-import com.android.systemui.media.controls.util.SmallHash
-import com.android.systemui.media.controls.util.mediaSmartspaceLogger
-import com.android.systemui.media.controls.util.mockMediaSmartspaceLogger
 import com.android.systemui.plugins.activityStarter
 import com.android.systemui.testKosmos
 import com.android.systemui.util.mockito.any
@@ -66,11 +60,7 @@
     private val kosmos = testKosmos().apply { applicationContext = spyContext }
     private val testScope = kosmos.testScope
 
-    private val mediaDataFilter: MediaDataFilterImpl =
-        with(kosmos) {
-            mediaSmartspaceLogger = mockMediaSmartspaceLogger
-            mediaDataFilter
-        }
+    private val mediaDataFilter: MediaDataFilterImpl = with(kosmos) { mediaDataFilter }
     private val activityStarter = kosmos.activityStarter
     private val icon: Icon = Icon.createWithResource(context, R.drawable.ic_media_play)
     private val smartspaceMediaData: SmartspaceMediaData =
@@ -80,7 +70,6 @@
             packageName = PACKAGE_NAME,
             recommendations = MediaTestHelper.getValidRecommendationList(icon),
         )
-    private val smartspaceLogger = kosmos.mockMediaSmartspaceLogger
 
     private val underTest: MediaRecommendationsInteractor =
         with(kosmos) {
@@ -132,23 +121,8 @@
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
 
         mediaDataFilter.onSmartspaceMediaDataLoaded(KEY_MEDIA_SMARTSPACE, smartspaceMediaData)
-        underTest.removeMediaRecommendations(
-            KEY_MEDIA_SMARTSPACE,
-            intent,
-            0,
-            SMARTSPACE_CARD_DISMISS_EVENT,
-            1,
-        )
+        underTest.removeMediaRecommendations(KEY_MEDIA_SMARTSPACE, intent, 0)
 
-        verify(smartspaceLogger)
-            .logSmartspaceCardUIEvent(
-                SMARTSPACE_CARD_DISMISS_EVENT,
-                SmallHash.hash(smartspaceMediaData.targetId),
-                Process.INVALID_UID,
-                surface = SURFACE,
-                cardinality = 1,
-                isRecommendationCard = true,
-            )
         verify(kosmos.mockBroadcastSender).sendBroadcast(eq(intent))
     }
 
@@ -160,13 +134,7 @@
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
         intent.component = ComponentName(PACKAGE_NAME, EXPORTED_SMARTSPACE_TRAMPOLINE_ACTIVITY_NAME)
 
-        underTest.removeMediaRecommendations(
-            KEY_MEDIA_SMARTSPACE,
-            intent,
-            0,
-            SMARTSPACE_CARD_DISMISS_EVENT,
-            1,
-        )
+        underTest.removeMediaRecommendations(KEY_MEDIA_SMARTSPACE, intent, 0)
 
         verify(spyContext).startActivity(eq(intent))
     }
@@ -187,19 +155,8 @@
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
 
         mediaDataFilter.onSmartspaceMediaDataLoaded(KEY_MEDIA_SMARTSPACE, smartspaceMediaData)
-        underTest.startClickIntent(expandable, intent, SMARTSPACE_CARD_CLICK_EVENT, 1, 2, 3)
+        underTest.startClickIntent(expandable, intent)
 
-        verify(smartspaceLogger)
-            .logSmartspaceCardUIEvent(
-                SMARTSPACE_CARD_CLICK_EVENT,
-                SmallHash.hash(smartspaceMediaData.targetId),
-                Process.INVALID_UID,
-                surface = SURFACE,
-                cardinality = 1,
-                isRecommendationCard = true,
-                interactedSubcardRank = 2,
-                interactedSubcardCardinality = 3,
-            )
         verify(spyContext).startActivity(eq(intent))
     }
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/domain/pipeline/MediaDataCombineLatestTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/domain/pipeline/MediaDataCombineLatestTest.java
index 1d4b090..544350c 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/domain/pipeline/MediaDataCombineLatestTest.java
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/domain/pipeline/MediaDataCombineLatestTest.java
@@ -79,7 +79,7 @@
                 USER_ID, true, APP, null, ARTIST, TITLE, null,
                 new ArrayList<>(), new ArrayList<>(), null, PACKAGE, null, null, null, true, null,
                 MediaData.PLAYBACK_LOCAL, false, KEY, false, false, false, 0L, 0L,
-                InstanceId.fakeInstanceId(-1), -1, false, null, -1, false);
+                InstanceId.fakeInstanceId(-1), -1, false, null);
         mDeviceData = new MediaDeviceData(true, null, DEVICE_NAME, null, false);
     }
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/ui/binder/SeekBarObserverTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/ui/binder/SeekBarObserverTest.kt
index 943ada9..c71b107 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/ui/binder/SeekBarObserverTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/ui/binder/SeekBarObserverTest.kt
@@ -18,9 +18,6 @@
 
 import android.animation.Animator
 import android.animation.ObjectAnimator
-import android.icu.text.MeasureFormat
-import android.icu.util.Measure
-import android.icu.util.MeasureUnit
 import android.testing.TestableLooper
 import android.view.View
 import android.widget.SeekBar
@@ -33,7 +30,6 @@
 import com.android.systemui.media.controls.ui.viewmodel.SeekBarViewModel
 import com.android.systemui.res.R
 import com.google.common.truth.Truth.assertThat
-import java.util.Locale
 import org.junit.Before
 import org.junit.Rule
 import org.junit.Test
@@ -114,32 +110,12 @@
 
     @Test
     fun seekBarProgress() {
-        val elapsedTime = 3000
-        val duration = (1.5 * 60 * 60 * 1000).toInt()
         // WHEN part of the track has been played
-        val data = SeekBarViewModel.Progress(true, true, true, false, elapsedTime, duration, true)
+        val data = SeekBarViewModel.Progress(true, true, true, false, 3000, 120000, true)
         observer.onChanged(data)
         // THEN seek bar shows the progress
-        assertThat(seekBarView.progress).isEqualTo(elapsedTime)
-        assertThat(seekBarView.max).isEqualTo(duration)
-
-        val expectedProgress =
-            MeasureFormat.getInstance(Locale.getDefault(), MeasureFormat.FormatWidth.WIDE)
-                .formatMeasures(Measure(3, MeasureUnit.SECOND))
-        val expectedDuration =
-            MeasureFormat.getInstance(Locale.getDefault(), MeasureFormat.FormatWidth.WIDE)
-                .formatMeasures(
-                    Measure(1, MeasureUnit.HOUR),
-                    Measure(30, MeasureUnit.MINUTE),
-                    Measure(0, MeasureUnit.SECOND),
-                )
-        val desc =
-            context.getString(
-                R.string.controls_media_seekbar_description,
-                expectedProgress,
-                expectedDuration,
-            )
-        assertThat(seekBarView.contentDescription).isEqualTo(desc)
+        assertThat(seekBarView.progress).isEqualTo(3000)
+        assertThat(seekBarView.max).isEqualTo(120000)
     }
 
     @Test
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/ui/view/MediaCarouselScrollHandlerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/ui/view/MediaCarouselScrollHandlerTest.kt
index c2f0ab9..61119cc 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/ui/view/MediaCarouselScrollHandlerTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/controls/ui/view/MediaCarouselScrollHandlerTest.kt
@@ -61,7 +61,6 @@
     @Mock lateinit var seekBarUpdateListener: (visibleToUser: Boolean) -> Unit
     @Mock lateinit var closeGuts: (immediate: Boolean) -> Unit
     @Mock lateinit var falsingManager: FalsingManager
-    @Mock lateinit var logSmartspaceImpression: (Boolean) -> Unit
     @Mock lateinit var logger: MediaUiEventLogger
     @Mock lateinit var contentContainer: ViewGroup
     @Mock lateinit var settingsButton: View
@@ -91,7 +90,6 @@
                 seekBarUpdateListener,
                 closeGuts,
                 falsingManager,
-                logSmartspaceImpression,
                 logger,
             )
         mediaCarouselScrollHandler.playerWidthPlusPadding = carouselWidth
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 917f356..80ce43d 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
@@ -65,8 +65,7 @@
 
     private val kosmos = testKosmos()
     private val testScope = kosmos.testScope
-    private val sceneInteractor = kosmos.sceneInteractor
-
+    private val sceneInteractor by lazy { kosmos.sceneInteractor }
     private val underTest by lazy { kosmos.notificationsShadeOverlayContentViewModel }
 
     @Before
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java
index 1899b7d..0e5e333 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java
@@ -423,5 +423,15 @@
 
         @Override
         public void destroy() {}
+
+        @Override
+        public boolean isDestroyed() {
+            return false;
+        }
+
+        @Override
+        public int getCurrentTileUser() {
+            return 0;
+        }
     }
 }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/domain/interactor/TilesAvailabilityInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/domain/interactor/TilesAvailabilityInteractorTest.kt
index 5a58597..67fb100 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/domain/interactor/TilesAvailabilityInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/panels/domain/interactor/TilesAvailabilityInteractorTest.kt
@@ -56,166 +56,178 @@
 
     private val createdTiles = mutableListOf<FakeQSTile>()
 
-    private val kosmos = testKosmos().apply {
-        tileAvailabilityInteractorsMap = buildMap {
-            put(AIRPLANE_MODE_TILE_SPEC, QSTileAvailabilityInteractor.AlwaysAvailableInteractor)
-            put(WORK_MODE_TILE_SPEC, FakeTileAvailabilityInteractor(
-                    mapOf(
-                            fakeUserRepository.getSelectedUserInfo().id to flowOf(true),
-                    ).withDefault { flowOf(false) }
-            ))
-            put(HOTSPOT_TILE_SPEC, FakeTileAvailabilityInteractor(
-                    emptyMap<Int, Flow<Boolean>>().withDefault { flowOf(false) }
-            ))
-        }
+    private val kosmos =
+        testKosmos().apply {
+            tileAvailabilityInteractorsMap = buildMap {
+                put(AIRPLANE_MODE_TILE_SPEC, QSTileAvailabilityInteractor.AlwaysAvailableInteractor)
+                put(
+                    WORK_MODE_TILE_SPEC,
+                    FakeTileAvailabilityInteractor(
+                        mapOf(fakeUserRepository.getSelectedUserInfo().id to flowOf(true))
+                            .withDefault { flowOf(false) }
+                    ),
+                )
+                put(
+                    HOTSPOT_TILE_SPEC,
+                    FakeTileAvailabilityInteractor(
+                        emptyMap<Int, Flow<Boolean>>().withDefault { flowOf(false) }
+                    ),
+                )
+            }
 
-        qsTileFactory = constantFactory(
-                tilesForCreator(
+            qsTileFactory =
+                constantFactory(
+                    tilesForCreator(
                         userRepository.getSelectedUserInfo().id,
                         mapOf(
-                                AIRPLANE_MODE_TILE_SPEC to false,
-                                WORK_MODE_TILE_SPEC to false,
-                                HOTSPOT_TILE_SPEC to true,
-                                INTERNET_TILE_SPEC to true,
-                                FLASHLIGHT_TILE_SPEC to false,
-                        )
+                            AIRPLANE_MODE_TILE_SPEC to false,
+                            WORK_MODE_TILE_SPEC to false,
+                            HOTSPOT_TILE_SPEC to true,
+                            INTERNET_TILE_SPEC to true,
+                            FLASHLIGHT_TILE_SPEC to false,
+                        ),
+                    )
                 )
-        )
-    }
+        }
 
     private val underTest by lazy { kosmos.tilesAvailabilityInteractor }
 
     @Test
     @DisableFlags(FLAG_QS_NEW_TILES)
-    fun flagOff_usesAvailabilityFromFactoryTiles() = with(kosmos) {
-        testScope.runTest {
-            val unavailableTiles = underTest.getUnavailableTiles(
-                    setOf(
-                            AIRPLANE_MODE_TILE_SPEC,
-                            WORK_MODE_TILE_SPEC,
-                            HOTSPOT_TILE_SPEC,
-                            INTERNET_TILE_SPEC,
-                            FLASHLIGHT_TILE_SPEC,
-                    ).map(TileSpec::create)
-            )
-            assertThat(unavailableTiles).isEqualTo(setOf(
-                    AIRPLANE_MODE_TILE_SPEC,
-                    WORK_MODE_TILE_SPEC,
-                    FLASHLIGHT_TILE_SPEC,
-            ).mapTo(mutableSetOf(), TileSpec::create))
-        }
-    }
-
-    @Test
-    fun tileCannotBeCreated_isUnavailable() = with(kosmos) {
-        testScope.runTest {
-            val badSpec = TileSpec.create("unknown")
-            val unavailableTiles = underTest.getUnavailableTiles(
-                    setOf(
-                        badSpec
+    fun flagOff_usesAvailabilityFromFactoryTiles() =
+        with(kosmos) {
+            testScope.runTest {
+                val unavailableTiles =
+                    underTest.getUnavailableTiles(
+                        setOf(
+                                AIRPLANE_MODE_TILE_SPEC,
+                                WORK_MODE_TILE_SPEC,
+                                HOTSPOT_TILE_SPEC,
+                                INTERNET_TILE_SPEC,
+                                FLASHLIGHT_TILE_SPEC,
+                            )
+                            .map(TileSpec::create)
                     )
-            )
-            assertThat(unavailableTiles).contains(badSpec)
+                assertThat(unavailableTiles)
+                    .isEqualTo(
+                        setOf(AIRPLANE_MODE_TILE_SPEC, WORK_MODE_TILE_SPEC, FLASHLIGHT_TILE_SPEC)
+                            .mapTo(mutableSetOf(), TileSpec::create)
+                    )
+            }
         }
-    }
+
+    @Test
+    fun tileCannotBeCreated_isUnavailable() =
+        with(kosmos) {
+            testScope.runTest {
+                val badSpec = TileSpec.create("unknown")
+                val unavailableTiles = underTest.getUnavailableTiles(setOf(badSpec))
+                assertThat(unavailableTiles).contains(badSpec)
+            }
+        }
 
     @Test
     @EnableFlags(FLAG_QS_NEW_TILES)
-    fun flagOn_defaultsToInteractorTiles_usesFactoryForOthers() = with(kosmos) {
-        testScope.runTest {
-            val unavailableTiles = underTest.getUnavailableTiles(
+    fun flagOn_defaultsToInteractorTiles_usesFactoryForOthers() =
+        with(kosmos) {
+            testScope.runTest {
+                val unavailableTiles =
+                    underTest.getUnavailableTiles(
+                        setOf(
+                                AIRPLANE_MODE_TILE_SPEC,
+                                WORK_MODE_TILE_SPEC,
+                                HOTSPOT_TILE_SPEC,
+                                INTERNET_TILE_SPEC,
+                                FLASHLIGHT_TILE_SPEC,
+                            )
+                            .map(TileSpec::create)
+                    )
+                assertThat(unavailableTiles)
+                    .isEqualTo(
+                        setOf(HOTSPOT_TILE_SPEC, FLASHLIGHT_TILE_SPEC)
+                            .mapTo(mutableSetOf(), TileSpec::create)
+                    )
+            }
+        }
+
+    @Test
+    @EnableFlags(FLAG_QS_NEW_TILES)
+    fun flagOn_defaultsToInteractorTiles_usesFactoryForOthers_userChange() =
+        with(kosmos) {
+            testScope.runTest {
+                fakeUserRepository.asMainUser()
+                val unavailableTiles =
+                    underTest.getUnavailableTiles(
+                        setOf(
+                                AIRPLANE_MODE_TILE_SPEC,
+                                WORK_MODE_TILE_SPEC,
+                                HOTSPOT_TILE_SPEC,
+                                INTERNET_TILE_SPEC,
+                                FLASHLIGHT_TILE_SPEC,
+                            )
+                            .map(TileSpec::create)
+                    )
+                assertThat(unavailableTiles)
+                    .isEqualTo(
+                        setOf(WORK_MODE_TILE_SPEC, HOTSPOT_TILE_SPEC, FLASHLIGHT_TILE_SPEC)
+                            .mapTo(mutableSetOf(), TileSpec::create)
+                    )
+            }
+        }
+
+    @Test
+    @EnableFlags(FLAG_QS_NEW_TILES)
+    fun flagOn_onlyNeededTilesAreCreated_andThenDestroyed() =
+        with(kosmos) {
+            testScope.runTest {
+                underTest.getUnavailableTiles(
                     setOf(
                             AIRPLANE_MODE_TILE_SPEC,
                             WORK_MODE_TILE_SPEC,
                             HOTSPOT_TILE_SPEC,
                             INTERNET_TILE_SPEC,
                             FLASHLIGHT_TILE_SPEC,
-                    ).map(TileSpec::create)
-            )
-            assertThat(unavailableTiles).isEqualTo(setOf(
-                    HOTSPOT_TILE_SPEC,
-                    FLASHLIGHT_TILE_SPEC,
-            ).mapTo(mutableSetOf(), TileSpec::create))
-        }
-    }
-
-    @Test
-    @EnableFlags(FLAG_QS_NEW_TILES)
-    fun flagOn_defaultsToInteractorTiles_usesFactoryForOthers_userChange() = with(kosmos) {
-        testScope.runTest {
-            fakeUserRepository.asMainUser()
-            val unavailableTiles = underTest.getUnavailableTiles(
-                    setOf(
-                            AIRPLANE_MODE_TILE_SPEC,
-                            WORK_MODE_TILE_SPEC,
-                            HOTSPOT_TILE_SPEC,
-                            INTERNET_TILE_SPEC,
-                            FLASHLIGHT_TILE_SPEC,
-                    ).map(TileSpec::create)
-            )
-            assertThat(unavailableTiles).isEqualTo(setOf(
-                    WORK_MODE_TILE_SPEC,
-                    HOTSPOT_TILE_SPEC,
-                    FLASHLIGHT_TILE_SPEC,
-            ).mapTo(mutableSetOf(), TileSpec::create))
-        }
-    }
-
-    @Test
-    @EnableFlags(FLAG_QS_NEW_TILES)
-    fun flagOn_onlyNeededTilesAreCreated_andThenDestroyed() = with(kosmos) {
-        testScope.runTest {
-            underTest.getUnavailableTiles(
-                    setOf(
-                            AIRPLANE_MODE_TILE_SPEC,
-                            WORK_MODE_TILE_SPEC,
-                            HOTSPOT_TILE_SPEC,
-                            INTERNET_TILE_SPEC,
-                            FLASHLIGHT_TILE_SPEC,
-                    ).map(TileSpec::create)
-            )
-            assertThat(createdTiles.map { it.tileSpec })
+                        )
+                        .map(TileSpec::create)
+                )
+                assertThat(createdTiles.map { it.tileSpec })
                     .containsExactly(INTERNET_TILE_SPEC, FLASHLIGHT_TILE_SPEC)
-            assertThat(createdTiles.all { it.destroyed }).isTrue()
+                assertThat(createdTiles.all { it.isDestroyed }).isTrue()
+            }
         }
-    }
 
     @Test
     @DisableFlags(FLAG_QS_NEW_TILES)
-    fun flagOn_TilesAreCreatedAndThenDestroyed() = with(kosmos) {
-        testScope.runTest {
-            val allTiles = setOf(
-                    AIRPLANE_MODE_TILE_SPEC,
-                    WORK_MODE_TILE_SPEC,
-                    HOTSPOT_TILE_SPEC,
-                    INTERNET_TILE_SPEC,
-                    FLASHLIGHT_TILE_SPEC,
-                )
-            underTest.getUnavailableTiles(allTiles.map(TileSpec::create))
-            assertThat(createdTiles.map { it.tileSpec })
-                    .containsExactlyElementsIn(allTiles)
-            assertThat(createdTiles.all { it.destroyed }).isTrue()
+    fun flagOn_TilesAreCreatedAndThenDestroyed() =
+        with(kosmos) {
+            testScope.runTest {
+                val allTiles =
+                    setOf(
+                        AIRPLANE_MODE_TILE_SPEC,
+                        WORK_MODE_TILE_SPEC,
+                        HOTSPOT_TILE_SPEC,
+                        INTERNET_TILE_SPEC,
+                        FLASHLIGHT_TILE_SPEC,
+                    )
+                underTest.getUnavailableTiles(allTiles.map(TileSpec::create))
+                assertThat(createdTiles.map { it.tileSpec }).containsExactlyElementsIn(allTiles)
+                assertThat(createdTiles.all { it.isDestroyed }).isTrue()
+            }
         }
-    }
-
 
     private fun constantFactory(creatorTiles: Set<FakeQSTile>): QSFactory {
         return FakeQSFactory { spec ->
-            creatorTiles.firstOrNull { it.tileSpec == spec }?.also {
-                createdTiles.add(it)
-            }
+            creatorTiles.firstOrNull { it.tileSpec == spec }?.also { createdTiles.add(it) }
         }
     }
 
     companion object {
         private fun tilesForCreator(
-                user: Int,
-                specAvailabilities: Map<String, Boolean>
+            user: Int,
+            specAvailabilities: Map<String, Boolean>,
         ): Set<FakeQSTile> {
             return specAvailabilities.mapTo(mutableSetOf()) {
-                FakeQSTile(user, it.value).apply {
-                    tileSpec = it.key
-                }
+                FakeQSTile(user, it.value).apply { tileSpec = it.key }
             }
         }
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractorImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractorImplTest.kt
index 9b50f1b..c308976 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractorImplTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractorImplTest.kt
@@ -17,10 +17,10 @@
 package com.android.systemui.qs.pipeline.domain.interactor
 
 import android.content.ComponentName
-import android.content.Context
 import android.content.Intent
 import android.content.pm.UserInfo
 import android.os.UserHandle
+import android.platform.test.annotations.EnableFlags
 import android.service.quicksettings.Tile
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
@@ -28,653 +28,702 @@
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.coroutines.collectLastValue
 import com.android.systemui.dump.nano.SystemUIProtoDump
+import com.android.systemui.kosmos.Kosmos
+import com.android.systemui.kosmos.runTest
+import com.android.systemui.kosmos.testScope
 import com.android.systemui.plugins.qs.QSTile
 import com.android.systemui.plugins.qs.QSTile.BooleanState
 import com.android.systemui.plugins.qs.TileDetailsViewModel
 import com.android.systemui.qs.FakeQSFactory
 import com.android.systemui.qs.FakeQSTile
 import com.android.systemui.qs.external.CustomTile
-import com.android.systemui.qs.external.CustomTileStatePersister
 import com.android.systemui.qs.external.TileLifecycleManager
 import com.android.systemui.qs.external.TileServiceKey
-import com.android.systemui.qs.pipeline.data.repository.CustomTileAddedRepository
-import com.android.systemui.qs.pipeline.data.repository.FakeCustomTileAddedRepository
-import com.android.systemui.qs.pipeline.data.repository.FakeInstalledTilesComponentRepository
-import com.android.systemui.qs.pipeline.data.repository.FakeTileSpecRepository
-import com.android.systemui.qs.pipeline.data.repository.MinimumTilesFixedRepository
-import com.android.systemui.qs.pipeline.data.repository.TileSpecRepository
+import com.android.systemui.qs.external.customTileStatePersister
+import com.android.systemui.qs.external.tileLifecycleManagerFactory
+import com.android.systemui.qs.pipeline.data.repository.customTileAddedRepository
+import com.android.systemui.qs.pipeline.data.repository.fakeInstalledTilesRepository
+import com.android.systemui.qs.pipeline.data.repository.tileSpecRepository
 import com.android.systemui.qs.pipeline.domain.model.TileModel
-import com.android.systemui.qs.pipeline.shared.QSPipelineFlagsRepository
 import com.android.systemui.qs.pipeline.shared.TileSpec
 import com.android.systemui.qs.pipeline.shared.logging.QSPipelineLogger
-import com.android.systemui.qs.tiles.di.NewQSTileFactory
+import com.android.systemui.qs.pipeline.shared.logging.qsLogger
+import com.android.systemui.qs.qsTileFactory
+import com.android.systemui.qs.tiles.di.newQSTileFactory
 import com.android.systemui.qs.toProto
-import com.android.systemui.retail.data.repository.FakeRetailModeRepository
-import com.android.systemui.settings.UserTracker
-import com.android.systemui.user.data.repository.FakeUserRepository
+import com.android.systemui.settings.fakeUserTracker
+import com.android.systemui.testKosmos
+import com.android.systemui.user.data.repository.fakeUserRepository
+import com.android.systemui.user.data.repository.userRepository
 import com.android.systemui.util.mockito.any
-import com.android.systemui.util.mockito.mock
 import com.android.systemui.util.mockito.whenever
 import com.google.common.truth.Truth.assertThat
 import com.google.protobuf.nano.MessageNano
-import kotlinx.coroutines.test.StandardTestDispatcher
+import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.test.TestScope
 import kotlinx.coroutines.test.runCurrent
 import kotlinx.coroutines.test.runTest
-import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.mockito.ArgumentMatchers.anyString
-import org.mockito.Mock
 import org.mockito.Mockito.inOrder
 import org.mockito.Mockito.never
 import org.mockito.Mockito.verify
-import org.mockito.MockitoAnnotations
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
 
+@OptIn(ExperimentalCoroutinesApi::class)
 @SmallTest
 @RunWith(AndroidJUnit4::class)
+@EnableFlags(FLAG_QS_NEW_TILES)
 class CurrentTilesInteractorImplTest : SysuiTestCase() {
 
-    private val tileSpecRepository: TileSpecRepository = FakeTileSpecRepository()
-    private val userRepository = FakeUserRepository()
-    private val installedTilesPackageRepository = FakeInstalledTilesComponentRepository()
-    private val tileFactory = FakeQSFactory(::tileCreator)
-    private val customTileAddedRepository: CustomTileAddedRepository =
-        FakeCustomTileAddedRepository()
-    private val pipelineFlags = QSPipelineFlagsRepository()
-    private val tileLifecycleManagerFactory = TLMFactory()
-    private val minimumTilesRepository = MinimumTilesFixedRepository()
-    private val retailModeRepository = FakeRetailModeRepository()
-
-    @Mock private lateinit var customTileStatePersister: CustomTileStatePersister
-
-    @Mock private lateinit var userTracker: UserTracker
-
-    @Mock private lateinit var logger: QSPipelineLogger
-
-    @Mock private lateinit var newQSTileFactory: NewQSTileFactory
-
-    private val testDispatcher = StandardTestDispatcher()
-    private val testScope = TestScope(testDispatcher)
+    private val kosmos =
+        testKosmos().apply {
+            qsTileFactory = FakeQSFactory { tileCreator(it) }
+            fakeUserTracker.set(listOf(USER_INFO_0), 0)
+            fakeUserRepository.setUserInfos(listOf(USER_INFO_0, USER_INFO_1))
+            tileLifecycleManagerFactory = TLMFactory()
+            newQSTileFactory = mock()
+            qsLogger = mock()
+        }
 
     private val unavailableTiles = mutableSetOf("e")
 
-    private lateinit var underTest: CurrentTilesInteractorImpl
-
-    @Before
-    fun setup() {
-        MockitoAnnotations.initMocks(this)
-
-        mSetFlagsRule.enableFlags(FLAG_QS_NEW_TILES)
-
-        userRepository.setUserInfos(listOf(USER_INFO_0, USER_INFO_1))
-
-        setUserTracker(0)
-
-        underTest =
-            CurrentTilesInteractorImpl(
-                tileSpecRepository = tileSpecRepository,
-                installedTilesComponentRepository = installedTilesPackageRepository,
-                userRepository = userRepository,
-                minimumTilesRepository = minimumTilesRepository,
-                retailModeRepository = retailModeRepository,
-                customTileStatePersister = customTileStatePersister,
-                tileFactory = tileFactory,
-                newQSTileFactory = { newQSTileFactory },
-                customTileAddedRepository = customTileAddedRepository,
-                tileLifecycleManagerFactory = tileLifecycleManagerFactory,
-                userTracker = userTracker,
-                mainDispatcher = testDispatcher,
-                backgroundDispatcher = testDispatcher,
-                scope = testScope.backgroundScope,
-                logger = logger,
-                featureFlags = pipelineFlags,
-            )
-    }
+    private val underTest = kosmos.currentTilesInteractor
 
     @Test
     fun initialState() =
-        testScope.runTest(USER_INFO_0) {
-            assertThat(underTest.currentTiles.value).isEmpty()
-            assertThat(underTest.currentQSTiles).isEmpty()
-            assertThat(underTest.currentTilesSpecs).isEmpty()
-            assertThat(underTest.userId.value).isEqualTo(0)
-            assertThat(underTest.userContext.value.userId).isEqualTo(0)
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                assertThat(underTest.currentTiles.value).isEmpty()
+                assertThat(underTest.currentQSTiles).isEmpty()
+                assertThat(underTest.currentTilesSpecs).isEmpty()
+                assertThat(underTest.userId.value).isEqualTo(0)
+                assertThat(underTest.userContext.value.userId).isEqualTo(0)
+            }
         }
 
     @Test
     fun correctTiles() =
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(underTest.currentTiles)
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(underTest.currentTiles)
 
-            val specs =
-                listOf(
-                    TileSpec.create("a"),
-                    TileSpec.create("e"),
-                    CUSTOM_TILE_SPEC,
-                    TileSpec.create("d"),
-                    TileSpec.create("non_existent"),
-                )
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                val specs =
+                    listOf(
+                        TileSpec.create("a"),
+                        TileSpec.create("e"),
+                        CUSTOM_TILE_SPEC,
+                        TileSpec.create("d"),
+                        TileSpec.create("non_existent"),
+                    )
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
 
-            // check each tile
+                // check each tile
 
-            // Tile a
-            val tile0 = tiles!![0]
-            assertThat(tile0.spec).isEqualTo(specs[0])
-            assertThat(tile0.tile.tileSpec).isEqualTo(specs[0].spec)
-            assertThat(tile0.tile).isInstanceOf(FakeQSTile::class.java)
-            assertThat(tile0.tile.isAvailable).isTrue()
+                // Tile a
+                val tile0 = tiles!![0]
+                assertThat(tile0.spec).isEqualTo(specs[0])
+                assertThat(tile0.tile.tileSpec).isEqualTo(specs[0].spec)
+                assertThat(tile0.tile).isInstanceOf(FakeQSTile::class.java)
+                assertThat(tile0.tile.isAvailable).isTrue()
 
-            // Tile e is not available and is not in the list
+                // Tile e is not available and is not in the list
 
-            // Custom Tile
-            val tile1 = tiles!![1]
-            assertThat(tile1.spec).isEqualTo(specs[2])
-            assertThat(tile1.tile.tileSpec).isEqualTo(specs[2].spec)
-            assertThat(tile1.tile).isInstanceOf(CustomTile::class.java)
-            assertThat(tile1.tile.isAvailable).isTrue()
+                // Custom Tile
+                val tile1 = tiles!![1]
+                assertThat(tile1.spec).isEqualTo(specs[2])
+                assertThat(tile1.tile.tileSpec).isEqualTo(specs[2].spec)
+                assertThat(tile1.tile).isInstanceOf(CustomTile::class.java)
+                assertThat(tile1.tile.isAvailable).isTrue()
 
-            // Tile d
-            val tile2 = tiles!![2]
-            assertThat(tile2.spec).isEqualTo(specs[3])
-            assertThat(tile2.tile.tileSpec).isEqualTo(specs[3].spec)
-            assertThat(tile2.tile).isInstanceOf(FakeQSTile::class.java)
-            assertThat(tile2.tile.isAvailable).isTrue()
+                // Tile d
+                val tile2 = tiles!![2]
+                assertThat(tile2.spec).isEqualTo(specs[3])
+                assertThat(tile2.tile.tileSpec).isEqualTo(specs[3].spec)
+                assertThat(tile2.tile).isInstanceOf(FakeQSTile::class.java)
+                assertThat(tile2.tile.isAvailable).isTrue()
 
-            // Tile non-existent shouldn't be created. Therefore, only 3 tiles total
-            assertThat(tiles?.size).isEqualTo(3)
+                // Tile non-existent shouldn't be created. Therefore, only 3 tiles total
+                assertThat(tiles?.size).isEqualTo(3)
+            }
         }
 
     @Test
     fun logTileCreated() =
-        testScope.runTest(USER_INFO_0) {
-            val specs = listOf(TileSpec.create("a"), CUSTOM_TILE_SPEC)
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
-            runCurrent()
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val specs = listOf(TileSpec.create("a"), CUSTOM_TILE_SPEC)
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                runCurrent()
 
-            specs.forEach { verify(logger).logTileCreated(it) }
+                specs.forEach { verify(qsLogger).logTileCreated(it) }
+            }
         }
 
     @Test
     fun logTileNotFoundInFactory() =
-        testScope.runTest(USER_INFO_0) {
-            val specs = listOf(TileSpec.create("non_existing"))
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
-            runCurrent()
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val specs = listOf(TileSpec.create("non_existing"))
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                runCurrent()
 
-            verify(logger, never()).logTileCreated(any())
-            verify(logger).logTileNotFoundInFactory(specs[0])
+                verify(qsLogger, never()).logTileCreated(any())
+                verify(qsLogger).logTileNotFoundInFactory(specs[0])
+            }
         }
 
     @Test
     fun tileNotAvailableDestroyed_logged() =
-        testScope.runTest(USER_INFO_0) {
-            val specs = listOf(TileSpec.create("e"))
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
-            runCurrent()
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val specs = listOf(TileSpec.create("e"))
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                runCurrent()
 
-            verify(logger, never()).logTileCreated(any())
-            verify(logger)
-                .logTileDestroyed(
-                    specs[0],
-                    QSPipelineLogger.TileDestroyedReason.NEW_TILE_NOT_AVAILABLE,
-                )
+                verify(qsLogger, never()).logTileCreated(any())
+                verify(qsLogger)
+                    .logTileDestroyed(
+                        specs[0],
+                        QSPipelineLogger.TileDestroyedReason.NEW_TILE_NOT_AVAILABLE,
+                    )
+            }
         }
 
     @Test
     fun someTilesNotValid_repositorySetToDefinitiveList() =
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_0.id))
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_0.id))
 
-            val specs = listOf(TileSpec.create("a"), TileSpec.create("e"))
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                val specs = listOf(TileSpec.create("a"), TileSpec.create("e"))
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
 
-            assertThat(tiles).isEqualTo(listOf(TileSpec.create("a")))
+                assertThat(tiles).isEqualTo(listOf(TileSpec.create("a")))
+            }
         }
 
     @Test
     fun deduplicatedTiles() =
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(underTest.currentTiles)
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(underTest.currentTiles)
 
-            val specs = listOf(TileSpec.create("a"), TileSpec.create("a"))
+                val specs = listOf(TileSpec.create("a"), TileSpec.create("a"))
 
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
 
-            assertThat(tiles?.size).isEqualTo(1)
-            assertThat(tiles!![0].spec).isEqualTo(specs[0])
+                assertThat(tiles?.size).isEqualTo(1)
+                assertThat(tiles!![0].spec).isEqualTo(specs[0])
+            }
         }
 
     @Test
     fun tilesChange_platformTileNotRecreated() =
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(underTest.currentTiles)
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(underTest.currentTiles)
 
-            val specs = listOf(TileSpec.create("a"))
+                val specs = listOf(TileSpec.create("a"))
 
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
-            val originalTileA = tiles!![0].tile
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                val originalTileA = tiles!![0].tile
 
-            tileSpecRepository.addTile(USER_INFO_0.id, TileSpec.create("b"))
+                tileSpecRepository.addTile(USER_INFO_0.id, TileSpec.create("b"))
 
-            assertThat(tiles?.size).isEqualTo(2)
-            assertThat(tiles!![0].tile).isSameInstanceAs(originalTileA)
+                assertThat(tiles?.size).isEqualTo(2)
+                assertThat(tiles!![0].tile).isSameInstanceAs(originalTileA)
+            }
         }
 
     @Test
     fun tileRemovedIsDestroyed() =
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(underTest.currentTiles)
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(underTest.currentTiles)
 
-            val specs = listOf(TileSpec.create("a"), TileSpec.create("c"))
+                val specs = listOf(TileSpec.create("a"), TileSpec.create("c"))
 
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
-            val originalTileC = tiles!![1].tile
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                val originalTileC = tiles!![1].tile
 
-            tileSpecRepository.removeTiles(USER_INFO_0.id, listOf(TileSpec.create("c")))
+                tileSpecRepository.removeTiles(USER_INFO_0.id, listOf(TileSpec.create("c")))
 
-            assertThat(tiles?.size).isEqualTo(1)
-            assertThat(tiles!![0].spec).isEqualTo(TileSpec.create("a"))
+                assertThat(tiles?.size).isEqualTo(1)
+                assertThat(tiles!![0].spec).isEqualTo(TileSpec.create("a"))
 
-            assertThat((originalTileC as FakeQSTile).destroyed).isTrue()
-            verify(logger)
-                .logTileDestroyed(
-                    TileSpec.create("c"),
-                    QSPipelineLogger.TileDestroyedReason.TILE_REMOVED,
-                )
+                assertThat(originalTileC.isDestroyed).isTrue()
+                verify(qsLogger)
+                    .logTileDestroyed(
+                        TileSpec.create("c"),
+                        QSPipelineLogger.TileDestroyedReason.TILE_REMOVED,
+                    )
+            }
         }
 
     @Test
     fun tileBecomesNotAvailable_destroyed() =
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(underTest.currentTiles)
-            val repoTiles by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_0.id))
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(underTest.currentTiles)
+                val repoTiles by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_0.id))
 
-            val specs = listOf(TileSpec.create("a"))
+                val specs = listOf(TileSpec.create("a"))
 
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
-            val originalTileA = tiles!![0].tile
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                val originalTileA = tiles!![0].tile
 
-            // Tile becomes unavailable
-            (originalTileA as FakeQSTile).available = false
-            unavailableTiles.add("a")
-            // and there is some change in the specs
-            tileSpecRepository.addTile(USER_INFO_0.id, TileSpec.create("b"))
-            runCurrent()
+                // Tile becomes unavailable
+                (originalTileA as FakeQSTile).available = false
+                unavailableTiles.add("a")
+                // and there is some change in the specs
+                tileSpecRepository.addTile(USER_INFO_0.id, TileSpec.create("b"))
+                runCurrent()
 
-            assertThat(originalTileA.destroyed).isTrue()
-            verify(logger)
-                .logTileDestroyed(
-                    TileSpec.create("a"),
-                    QSPipelineLogger.TileDestroyedReason.EXISTING_TILE_NOT_AVAILABLE,
-                )
+                assertThat(originalTileA.isDestroyed).isTrue()
+                verify(qsLogger)
+                    .logTileDestroyed(
+                        TileSpec.create("a"),
+                        QSPipelineLogger.TileDestroyedReason.EXISTING_TILE_NOT_AVAILABLE,
+                    )
 
-            assertThat(tiles?.size).isEqualTo(1)
-            assertThat(tiles!![0].spec).isEqualTo(TileSpec.create("b"))
-            assertThat(tiles!![0].tile).isNotSameInstanceAs(originalTileA)
+                assertThat(tiles?.size).isEqualTo(1)
+                assertThat(tiles!![0].spec).isEqualTo(TileSpec.create("b"))
+                assertThat(tiles!![0].tile).isNotSameInstanceAs(originalTileA)
 
-            assertThat(repoTiles).isEqualTo(tiles!!.map(TileModel::spec))
+                assertThat(repoTiles).isEqualTo(tiles!!.map(TileModel::spec))
+            }
         }
 
     @Test
     fun userChange_tilesChange() =
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(underTest.currentTiles)
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(underTest.currentTiles)
 
-            val specs0 = listOf(TileSpec.create("a"))
-            val specs1 = listOf(TileSpec.create("b"))
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs0)
-            tileSpecRepository.setTiles(USER_INFO_1.id, specs1)
+                val specs0 = listOf(TileSpec.create("a"))
+                val specs1 = listOf(TileSpec.create("b"))
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs0)
+                tileSpecRepository.setTiles(USER_INFO_1.id, specs1)
 
-            switchUser(USER_INFO_1)
+                switchUser(USER_INFO_1)
 
-            assertThat(tiles!![0].spec).isEqualTo(specs1[0])
-            assertThat(tiles!![0].tile.tileSpec).isEqualTo(specs1[0].spec)
+                assertThat(tiles!![0].spec).isEqualTo(specs1[0])
+                assertThat(tiles!![0].tile.tileSpec).isEqualTo(specs1[0].spec)
+            }
         }
 
     @Test
     fun tileNotPresentInSecondaryUser_destroyedInUserChange() =
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(underTest.currentTiles)
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(underTest.currentTiles)
 
-            val specs0 = listOf(TileSpec.create("a"))
-            val specs1 = listOf(TileSpec.create("b"))
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs0)
-            tileSpecRepository.setTiles(USER_INFO_1.id, specs1)
+                val specs0 = listOf(TileSpec.create("a"))
+                val specs1 = listOf(TileSpec.create("b"))
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs0)
+                tileSpecRepository.setTiles(USER_INFO_1.id, specs1)
 
-            val originalTileA = tiles!![0].tile
+                val originalTileA = tiles!![0].tile
 
-            switchUser(USER_INFO_1)
-            runCurrent()
+                switchUser(USER_INFO_1)
+                runCurrent()
 
-            assertThat((originalTileA as FakeQSTile).destroyed).isTrue()
-            verify(logger)
-                .logTileDestroyed(
-                    specs0[0],
-                    QSPipelineLogger.TileDestroyedReason.TILE_NOT_PRESENT_IN_NEW_USER,
-                )
+                assertThat(originalTileA.isDestroyed).isTrue()
+                verify(qsLogger)
+                    .logTileDestroyed(
+                        specs0[0],
+                        QSPipelineLogger.TileDestroyedReason.TILE_NOT_PRESENT_IN_NEW_USER,
+                    )
+            }
         }
 
     @Test
-    fun userChange_customTileDestroyed_lifecycleNotTerminated() {
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(underTest.currentTiles)
+    fun userChange_customTileDestroyed_lifecycleNotTerminated() =
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(underTest.currentTiles)
 
-            val specs = listOf(CUSTOM_TILE_SPEC)
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
-            tileSpecRepository.setTiles(USER_INFO_1.id, specs)
+                val specs = listOf(CUSTOM_TILE_SPEC)
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                tileSpecRepository.setTiles(USER_INFO_1.id, specs)
 
-            val originalCustomTile = tiles!![0].tile
+                val originalCustomTile = tiles!![0].tile
 
-            switchUser(USER_INFO_1)
-            runCurrent()
+                switchUser(USER_INFO_1)
+                runCurrent()
 
-            verify(originalCustomTile).destroy()
-            assertThat(tileLifecycleManagerFactory.created).isEmpty()
+                verify(originalCustomTile).destroy()
+                assertThat((tileLifecycleManagerFactory as TLMFactory).created).isEmpty()
+            }
         }
-    }
 
     @Test
     fun userChange_sameTileUserChanged() =
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(underTest.currentTiles)
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(underTest.currentTiles)
 
-            val specs = listOf(TileSpec.create("a"))
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
-            tileSpecRepository.setTiles(USER_INFO_1.id, specs)
+                val specs = listOf(TileSpec.create("a"))
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                tileSpecRepository.setTiles(USER_INFO_1.id, specs)
 
-            val originalTileA = tiles!![0].tile as FakeQSTile
-            assertThat(originalTileA.user).isEqualTo(USER_INFO_0.id)
+                val originalTileA = tiles!![0].tile as FakeQSTile
+                assertThat(originalTileA.user).isEqualTo(USER_INFO_0.id)
 
-            switchUser(USER_INFO_1)
-            runCurrent()
+                switchUser(USER_INFO_1)
+                runCurrent()
 
-            assertThat(tiles!![0].tile).isSameInstanceAs(originalTileA)
-            assertThat(originalTileA.user).isEqualTo(USER_INFO_1.id)
-            verify(logger).logTileUserChanged(specs[0], USER_INFO_1.id)
+                assertThat(tiles!![0].tile).isSameInstanceAs(originalTileA)
+                assertThat(originalTileA.user).isEqualTo(USER_INFO_1.id)
+                verify(qsLogger).logTileUserChanged(specs[0], USER_INFO_1.id)
+            }
         }
 
     @Test
     fun addTile() =
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_0.id))
-            val spec = TileSpec.create("a")
-            val currentSpecs = listOf(TileSpec.create("b"), TileSpec.create("c"))
-            tileSpecRepository.setTiles(USER_INFO_0.id, currentSpecs)
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_0.id))
+                val spec = TileSpec.create("a")
+                val currentSpecs = listOf(TileSpec.create("b"), TileSpec.create("c"))
+                tileSpecRepository.setTiles(USER_INFO_0.id, currentSpecs)
 
-            underTest.addTile(spec, position = 1)
+                underTest.addTile(spec, position = 1)
 
-            val expectedSpecs = listOf(TileSpec.create("b"), spec, TileSpec.create("c"))
-            assertThat(tiles).isEqualTo(expectedSpecs)
+                val expectedSpecs = listOf(TileSpec.create("b"), spec, TileSpec.create("c"))
+                assertThat(tiles).isEqualTo(expectedSpecs)
+            }
         }
 
     @Test
     fun addTile_currentUser() =
-        testScope.runTest(USER_INFO_1) {
-            val tiles0 by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_0.id))
-            val tiles1 by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_1.id))
-            val spec = TileSpec.create("a")
-            val currentSpecs = listOf(TileSpec.create("b"), TileSpec.create("c"))
-            tileSpecRepository.setTiles(USER_INFO_0.id, currentSpecs)
-            tileSpecRepository.setTiles(USER_INFO_1.id, currentSpecs)
+        with(kosmos) {
+            testScope.runTest(USER_INFO_1) {
+                val tiles0 by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_0.id))
+                val tiles1 by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_1.id))
+                val spec = TileSpec.create("a")
+                val currentSpecs = listOf(TileSpec.create("b"), TileSpec.create("c"))
+                tileSpecRepository.setTiles(USER_INFO_0.id, currentSpecs)
+                tileSpecRepository.setTiles(USER_INFO_1.id, currentSpecs)
 
-            switchUser(USER_INFO_1)
-            underTest.addTile(spec, position = 1)
+                switchUser(USER_INFO_1)
+                underTest.addTile(spec, position = 1)
 
-            assertThat(tiles0).isEqualTo(currentSpecs)
+                assertThat(tiles0).isEqualTo(currentSpecs)
 
-            val expectedSpecs = listOf(TileSpec.create("b"), spec, TileSpec.create("c"))
-            assertThat(tiles1).isEqualTo(expectedSpecs)
+                val expectedSpecs = listOf(TileSpec.create("b"), spec, TileSpec.create("c"))
+                assertThat(tiles1).isEqualTo(expectedSpecs)
+            }
         }
 
     @Test
     fun removeTile_platform() =
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_0.id))
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_0.id))
 
-            val specs = listOf(TileSpec.create("a"), TileSpec.create("b"))
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
-            runCurrent()
+                val specs = listOf(TileSpec.create("a"), TileSpec.create("b"))
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                runCurrent()
 
-            underTest.removeTiles(specs.subList(0, 1))
+                underTest.removeTiles(specs.subList(0, 1))
 
-            assertThat(tiles).isEqualTo(specs.subList(1, 2))
+                assertThat(tiles).isEqualTo(specs.subList(1, 2))
+            }
         }
 
     @Test
-    fun removeTile_customTile_lifecycleEnded() {
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_0.id))
+    fun removeTile_customTile_lifecycleEnded() =
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_0.id))
 
-            val specs = listOf(TileSpec.create("a"), CUSTOM_TILE_SPEC)
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
-            runCurrent()
-            assertThat(customTileAddedRepository.isTileAdded(TEST_COMPONENT, USER_INFO_0.id))
-                .isTrue()
+                val specs = listOf(TileSpec.create("a"), CUSTOM_TILE_SPEC)
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                runCurrent()
+                assertThat(customTileAddedRepository.isTileAdded(TEST_COMPONENT, USER_INFO_0.id))
+                    .isTrue()
 
-            underTest.removeTiles(listOf(CUSTOM_TILE_SPEC))
+                underTest.removeTiles(listOf(CUSTOM_TILE_SPEC))
 
-            assertThat(tiles).isEqualTo(specs.subList(0, 1))
+                assertThat(tiles).isEqualTo(specs.subList(0, 1))
 
-            val tileLifecycleManager =
-                tileLifecycleManagerFactory.created[USER_INFO_0.id to TEST_COMPONENT]
-            assertThat(tileLifecycleManager).isNotNull()
+                val tileLifecycleManager =
+                    (tileLifecycleManagerFactory as TLMFactory)
+                        .created[USER_INFO_0.id to TEST_COMPONENT]
+                assertThat(tileLifecycleManager).isNotNull()
 
-            with(inOrder(tileLifecycleManager!!)) {
-                verify(tileLifecycleManager).onStopListening()
-                verify(tileLifecycleManager).onTileRemoved()
-                verify(tileLifecycleManager).flushMessagesAndUnbind()
+                with(inOrder(tileLifecycleManager!!)) {
+                    verify(tileLifecycleManager).onStopListening()
+                    verify(tileLifecycleManager).onTileRemoved()
+                    verify(tileLifecycleManager).flushMessagesAndUnbind()
+                }
+                assertThat(customTileAddedRepository.isTileAdded(TEST_COMPONENT, USER_INFO_0.id))
+                    .isFalse()
+                assertThat(
+                        customTileStatePersister.readState(
+                            TileServiceKey(TEST_COMPONENT, USER_INFO_0.id)
+                        )
+                    )
+                    .isNull()
             }
-            assertThat(customTileAddedRepository.isTileAdded(TEST_COMPONENT, USER_INFO_0.id))
-                .isFalse()
-            verify(customTileStatePersister)
-                .removeState(TileServiceKey(TEST_COMPONENT, USER_INFO_0.id))
         }
-    }
 
     @Test
     fun removeTiles_currentUser() =
-        testScope.runTest {
-            val tiles0 by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_0.id))
-            val tiles1 by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_1.id))
-            val currentSpecs =
-                listOf(TileSpec.create("a"), TileSpec.create("b"), TileSpec.create("c"))
-            tileSpecRepository.setTiles(USER_INFO_0.id, currentSpecs)
-            tileSpecRepository.setTiles(USER_INFO_1.id, currentSpecs)
+        with(kosmos) {
+            testScope.runTest {
+                val tiles0 by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_0.id))
+                val tiles1 by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_1.id))
+                val currentSpecs =
+                    listOf(TileSpec.create("a"), TileSpec.create("b"), TileSpec.create("c"))
+                tileSpecRepository.setTiles(USER_INFO_0.id, currentSpecs)
+                tileSpecRepository.setTiles(USER_INFO_1.id, currentSpecs)
 
-            switchUser(USER_INFO_1)
-            runCurrent()
+                switchUser(USER_INFO_1)
+                runCurrent()
 
-            underTest.removeTiles(currentSpecs.subList(0, 2))
+                underTest.removeTiles(currentSpecs.subList(0, 2))
 
-            assertThat(tiles0).isEqualTo(currentSpecs)
-            assertThat(tiles1).isEqualTo(currentSpecs.subList(2, 3))
+                assertThat(tiles0).isEqualTo(currentSpecs)
+                assertThat(tiles1).isEqualTo(currentSpecs.subList(2, 3))
+            }
         }
 
     @Test
     fun setTiles() =
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_0.id))
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(tileSpecRepository.tilesSpecs(USER_INFO_0.id))
 
-            val currentSpecs = listOf(TileSpec.create("a"), TileSpec.create("b"))
-            tileSpecRepository.setTiles(USER_INFO_0.id, currentSpecs)
-            runCurrent()
+                val currentSpecs = listOf(TileSpec.create("a"), TileSpec.create("b"))
+                tileSpecRepository.setTiles(USER_INFO_0.id, currentSpecs)
+                runCurrent()
 
-            val newSpecs = listOf(TileSpec.create("b"), TileSpec.create("c"), TileSpec.create("a"))
-            underTest.setTiles(newSpecs)
-            runCurrent()
+                val newSpecs =
+                    listOf(TileSpec.create("b"), TileSpec.create("c"), TileSpec.create("a"))
+                underTest.setTiles(newSpecs)
+                runCurrent()
 
-            assertThat(tiles).isEqualTo(newSpecs)
+                assertThat(tiles).isEqualTo(newSpecs)
+            }
         }
 
     @Test
     fun setTiles_customTiles_lifecycleEndedIfGone() =
-        testScope.runTest(USER_INFO_0) {
-            val otherCustomTileSpec = TileSpec.create("custom(b/c)")
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val otherCustomTileSpec = TileSpec.create("custom(b/c)")
 
-            val currentSpecs = listOf(CUSTOM_TILE_SPEC, TileSpec.create("a"), otherCustomTileSpec)
-            tileSpecRepository.setTiles(USER_INFO_0.id, currentSpecs)
-            runCurrent()
+                val currentSpecs =
+                    listOf(CUSTOM_TILE_SPEC, TileSpec.create("a"), otherCustomTileSpec)
+                tileSpecRepository.setTiles(USER_INFO_0.id, currentSpecs)
+                runCurrent()
 
-            val newSpecs = listOf(otherCustomTileSpec, TileSpec.create("a"))
+                val newSpecs = listOf(otherCustomTileSpec, TileSpec.create("a"))
 
-            underTest.setTiles(newSpecs)
-            runCurrent()
+                underTest.setTiles(newSpecs)
+                runCurrent()
 
-            val tileLifecycleManager =
-                tileLifecycleManagerFactory.created[USER_INFO_0.id to TEST_COMPONENT]!!
+                val tileLifecycleManager =
+                    (tileLifecycleManagerFactory as TLMFactory)
+                        .created[USER_INFO_0.id to TEST_COMPONENT]!!
 
-            with(inOrder(tileLifecycleManager)) {
-                verify(tileLifecycleManager).onStopListening()
-                verify(tileLifecycleManager).onTileRemoved()
-                verify(tileLifecycleManager).flushMessagesAndUnbind()
+                with(inOrder(tileLifecycleManager)) {
+                    verify(tileLifecycleManager).onStopListening()
+                    verify(tileLifecycleManager).onTileRemoved()
+                    verify(tileLifecycleManager).flushMessagesAndUnbind()
+                }
+                assertThat(customTileAddedRepository.isTileAdded(TEST_COMPONENT, USER_INFO_0.id))
+                    .isFalse()
+                assertThat(
+                        customTileStatePersister.readState(
+                            TileServiceKey(TEST_COMPONENT, USER_INFO_0.id)
+                        )
+                    )
+                    .isNull()
             }
-            assertThat(customTileAddedRepository.isTileAdded(TEST_COMPONENT, USER_INFO_0.id))
-                .isFalse()
-            verify(customTileStatePersister)
-                .removeState(TileServiceKey(TEST_COMPONENT, USER_INFO_0.id))
         }
 
     @Test
     fun protoDump() =
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(underTest.currentTiles)
-            val specs = listOf(TileSpec.create("a"), CUSTOM_TILE_SPEC)
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(underTest.currentTiles)
+                val specs = listOf(TileSpec.create("a"), CUSTOM_TILE_SPEC)
 
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
 
-            val stateA = tiles!![0].tile.state
-            stateA.fillIn(Tile.STATE_INACTIVE, "A", "AA")
-            val stateCustom = QSTile.BooleanState()
-            stateCustom.fillIn(Tile.STATE_ACTIVE, "B", "BB")
-            stateCustom.spec = CUSTOM_TILE_SPEC.spec
-            whenever(tiles!![1].tile.state).thenReturn(stateCustom)
+                val stateA = tiles!![0].tile.state
+                stateA.fillIn(Tile.STATE_INACTIVE, "A", "AA")
+                val stateCustom = QSTile.BooleanState()
+                stateCustom.fillIn(Tile.STATE_ACTIVE, "B", "BB")
+                stateCustom.spec = CUSTOM_TILE_SPEC.spec
+                whenever(tiles!![1].tile.state).thenReturn(stateCustom)
 
-            val proto = SystemUIProtoDump()
-            underTest.dumpProto(proto, emptyArray())
+                val proto = SystemUIProtoDump()
+                underTest.dumpProto(proto, emptyArray())
 
-            assertThat(MessageNano.messageNanoEquals(proto.tiles[0], stateA.toProto())).isTrue()
-            assertThat(MessageNano.messageNanoEquals(proto.tiles[1], stateCustom.toProto()))
-                .isTrue()
+                assertThat(MessageNano.messageNanoEquals(proto.tiles[0], stateA.toProto())).isTrue()
+                assertThat(MessageNano.messageNanoEquals(proto.tiles[1], stateCustom.toProto()))
+                    .isTrue()
+            }
         }
 
     @Test
     fun retainedTiles_callbackNotRemoved() =
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(underTest.currentTiles)
-            tileSpecRepository.setTiles(USER_INFO_0.id, listOf(TileSpec.create("a")))
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(underTest.currentTiles)
+                tileSpecRepository.setTiles(USER_INFO_0.id, listOf(TileSpec.create("a")))
 
-            val tileA = tiles!![0].tile
-            val callback = mock<QSTile.Callback>()
-            tileA.addCallback(callback)
+                val tileA = tiles!![0].tile
+                val callback = mock<QSTile.Callback>()
+                tileA.addCallback(callback)
 
-            tileSpecRepository.setTiles(
-                USER_INFO_0.id,
-                listOf(TileSpec.create("a"), CUSTOM_TILE_SPEC),
-            )
-            val newTileA = tiles!![0].tile
-            assertThat(tileA).isSameInstanceAs(newTileA)
+                tileSpecRepository.setTiles(
+                    USER_INFO_0.id,
+                    listOf(TileSpec.create("a"), CUSTOM_TILE_SPEC),
+                )
+                val newTileA = tiles!![0].tile
+                assertThat(tileA).isSameInstanceAs(newTileA)
 
-            assertThat((tileA as FakeQSTile).callbacks).containsExactly(callback)
+                assertThat((tileA as FakeQSTile).callbacks).containsExactly(callback)
+            }
         }
 
     @Test
     fun packageNotInstalled_customTileNotVisible() =
-        testScope.runTest(USER_INFO_0) {
-            installedTilesPackageRepository.setInstalledPackagesForUser(USER_INFO_0.id, emptySet())
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                fakeInstalledTilesRepository.setInstalledPackagesForUser(USER_INFO_0.id, emptySet())
 
-            val tiles by collectLastValue(underTest.currentTiles)
+                val tiles by collectLastValue(underTest.currentTiles)
 
-            val specs = listOf(TileSpec.create("a"), CUSTOM_TILE_SPEC)
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                val specs = listOf(TileSpec.create("a"), CUSTOM_TILE_SPEC)
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
 
-            assertThat(tiles!!.size).isEqualTo(1)
-            assertThat(tiles!![0].spec).isEqualTo(specs[0])
+                assertThat(tiles!!.size).isEqualTo(1)
+                assertThat(tiles!![0].spec).isEqualTo(specs[0])
+            }
         }
 
     @Test
     fun packageInstalledLater_customTileAdded() =
-        testScope.runTest(USER_INFO_0) {
-            installedTilesPackageRepository.setInstalledPackagesForUser(USER_INFO_0.id, emptySet())
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                fakeInstalledTilesRepository.setInstalledPackagesForUser(USER_INFO_0.id, emptySet())
 
-            val tiles by collectLastValue(underTest.currentTiles)
-            val specs = listOf(TileSpec.create("a"), CUSTOM_TILE_SPEC, TileSpec.create("b"))
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                val tiles by collectLastValue(underTest.currentTiles)
+                val specs = listOf(TileSpec.create("a"), CUSTOM_TILE_SPEC, TileSpec.create("b"))
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
 
-            assertThat(tiles!!.size).isEqualTo(2)
+                assertThat(tiles!!.size).isEqualTo(2)
 
-            installedTilesPackageRepository.setInstalledPackagesForUser(
-                USER_INFO_0.id,
-                setOf(TEST_COMPONENT),
-            )
+                fakeInstalledTilesRepository.setInstalledPackagesForUser(
+                    USER_INFO_0.id,
+                    setOf(TEST_COMPONENT),
+                )
 
-            assertThat(tiles!!.size).isEqualTo(3)
-            assertThat(tiles!![1].spec).isEqualTo(CUSTOM_TILE_SPEC)
+                assertThat(tiles!!.size).isEqualTo(3)
+                assertThat(tiles!![1].spec).isEqualTo(CUSTOM_TILE_SPEC)
+            }
         }
 
     @Test
     fun tileAddedOnEmptyList_blocked() =
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(underTest.currentTiles)
-            val specs = listOf(TileSpec.create("a"), TileSpec.create("b"))
-            val newTile = TileSpec.create("c")
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(underTest.currentTiles)
+                val specs = listOf(TileSpec.create("a"), TileSpec.create("b"))
+                val newTile = TileSpec.create("c")
 
-            underTest.addTile(newTile)
+                underTest.addTile(newTile)
 
-            assertThat(tiles!!.isEmpty()).isTrue()
+                assertThat(tiles!!.isEmpty()).isTrue()
 
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
 
-            assertThat(tiles!!.size).isEqualTo(3)
+                assertThat(tiles!!.size).isEqualTo(3)
+            }
         }
 
     @Test
     fun changeInPackagesTiles_doesntTriggerUserChange_logged() =
-        testScope.runTest(USER_INFO_0) {
-            val specs = listOf(TileSpec.create("a"))
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
-            runCurrent()
-            // Settled on the same list of tiles.
-            assertThat(underTest.currentTilesSpecs).isEqualTo(specs)
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val specs = listOf(TileSpec.create("a"))
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                runCurrent()
+                // Settled on the same list of tiles.
+                assertThat(underTest.currentTilesSpecs).isEqualTo(specs)
 
-            installedTilesPackageRepository.setInstalledPackagesForUser(USER_INFO_0.id, emptySet())
-            runCurrent()
+                fakeInstalledTilesRepository.setInstalledPackagesForUser(USER_INFO_0.id, emptySet())
+                runCurrent()
 
-            verify(logger, never()).logTileUserChanged(TileSpec.create("a"), 0)
+                verify(qsLogger, never()).logTileUserChanged(TileSpec.create("a"), 0)
+            }
         }
 
     @Test
     fun getTileDetails() =
-        testScope.runTest(USER_INFO_0) {
-            val tiles by collectLastValue(underTest.currentTiles)
-            val tileA = TileSpec.create("a")
-            val tileB = TileSpec.create("b")
-            val tileNoDetails = TileSpec.create("NoDetails")
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(underTest.currentTiles)
+                val tileA = TileSpec.create("a")
+                val tileB = TileSpec.create("b")
+                val tileNoDetails = TileSpec.create("NoDetails")
 
-            val specs = listOf(tileA, tileB, tileNoDetails)
+                val specs = listOf(tileA, tileB, tileNoDetails)
 
-            assertThat(tiles!!.isEmpty()).isTrue()
+                assertThat(tiles!!.isEmpty()).isTrue()
 
-            tileSpecRepository.setTiles(USER_INFO_0.id, specs)
-            assertThat(tiles!!.size).isEqualTo(3)
+                tileSpecRepository.setTiles(USER_INFO_0.id, specs)
+                assertThat(tiles!!.size).isEqualTo(3)
 
-            // The third tile doesn't have a details view.
-            assertThat(tiles!![2].spec).isEqualTo(tileNoDetails)
-            (tiles!![2].tile as FakeQSTile).hasDetailsViewModel = false
+                // The third tile doesn't have a details view.
+                assertThat(tiles!![2].spec).isEqualTo(tileNoDetails)
+                (tiles!![2].tile as FakeQSTile).hasDetailsViewModel = false
 
-            var currentModel: TileDetailsViewModel? = null
-            val setCurrentModel = { model: TileDetailsViewModel? -> currentModel = model }
-            tiles!![0].tile.getDetailsViewModel(setCurrentModel)
-            assertThat(currentModel?.getTitle()).isEqualTo("a")
+                var currentModel: TileDetailsViewModel? = null
+                val setCurrentModel = { model: TileDetailsViewModel? -> currentModel = model }
+                tiles!![0].tile.getDetailsViewModel(setCurrentModel)
+                assertThat(currentModel?.getTitle()).isEqualTo("a")
 
-            currentModel = null
-            tiles!![1].tile.getDetailsViewModel(setCurrentModel)
-            assertThat(currentModel?.getTitle()).isEqualTo("b")
+                currentModel = null
+                tiles!![1].tile.getDetailsViewModel(setCurrentModel)
+                assertThat(currentModel?.getTitle()).isEqualTo("b")
 
-            currentModel = null
-            tiles!![2].tile.getDetailsViewModel(setCurrentModel)
-            assertThat(currentModel).isNull()
+                currentModel = null
+                tiles!![2].tile.getDetailsViewModel(setCurrentModel)
+                assertThat(currentModel).isNull()
+            }
+        }
+
+    @Test
+    fun destroyedTilesNotReused() =
+        with(kosmos) {
+            testScope.runTest(USER_INFO_0) {
+                val tiles by collectLastValue(underTest.currentTiles)
+                val specs = listOf(TileSpec.create("a"), TileSpec.create("b"))
+                val newTile = TileSpec.create("c")
+
+                underTest.setTiles(specs)
+
+                val tileABefore = tiles!!.first { it.spec == specs[0] }.tile
+
+                // We destroy it manually, in prod, this could happen if the tile processing action
+                // is interrupted in the middle.
+                tileABefore.destroy()
+
+                underTest.addTile(newTile)
+
+                val tileAAfter = tiles!!.first { it.spec == specs[0] }.tile
+                assertThat(tileAAfter).isNotSameInstanceAs(tileABefore)
+            }
         }
 
     private fun QSTile.State.fillIn(state: Int, label: CharSequence, secondaryLabel: CharSequence) {
@@ -686,20 +735,21 @@
         }
     }
 
-    private fun tileCreator(spec: String): QSTile? {
-        val currentUser = userTracker.userId
+    private fun Kosmos.tileCreator(spec: String): QSTile? {
+        val currentUser = userRepository.getSelectedUserInfo().id
         return when (spec) {
             CUSTOM_TILE_SPEC.spec ->
                 mock<CustomTile> {
                     var tileSpecReference: String? = null
-                    whenever(user).thenReturn(currentUser)
-                    whenever(component).thenReturn(CUSTOM_TILE_SPEC.componentName)
-                    whenever(isAvailable).thenReturn(true)
-                    whenever(setTileSpec(anyString())).thenAnswer {
-                        tileSpecReference = it.arguments[0] as? String
-                        Unit
-                    }
-                    whenever(tileSpec).thenAnswer { tileSpecReference }
+                    on { user } doReturn currentUser
+                    on { component } doReturn CUSTOM_TILE_SPEC.componentName
+                    on { isAvailable } doReturn true
+                    on { setTileSpec(anyString()) }
+                        .thenAnswer {
+                            tileSpecReference = it.arguments[0] as? String
+                            Unit
+                        }
+                    on { tileSpec }.thenAnswer { tileSpecReference }
                     // Also, add it to the set of added tiles (as this happens as part of the tile
                     // creation).
                     customTileAddedRepository.setTileAdded(
@@ -714,22 +764,16 @@
     }
 
     private fun TestScope.runTest(user: UserInfo, body: suspend TestScope.() -> Unit) {
-        return runTest {
+        return kosmos.runTest {
             switchUser(user)
             body()
         }
     }
 
-    private suspend fun switchUser(user: UserInfo) {
-        setUserTracker(user.id)
-        installedTilesPackageRepository.setInstalledPackagesForUser(user.id, setOf(TEST_COMPONENT))
-        userRepository.setSelectedUserInfo(user)
-    }
-
-    private fun setUserTracker(user: Int) {
-        val mockContext = mockUserContext(user)
-        whenever(userTracker.userContext).thenReturn(mockContext)
-        whenever(userTracker.userId).thenReturn(user)
+    private suspend fun Kosmos.switchUser(user: UserInfo) {
+        fakeUserTracker.set(listOf(user), 0)
+        fakeInstalledTilesRepository.setInstalledPackagesForUser(user.id, setOf(TEST_COMPONENT))
+        fakeUserRepository.setSelectedUserInfo(user)
     }
 
     private class TLMFactory : TileLifecycleManager.Factory {
@@ -745,13 +789,6 @@
         }
     }
 
-    private fun mockUserContext(user: Int): Context {
-        return mock {
-            whenever(this.userId).thenReturn(user)
-            whenever(this.user).thenReturn(UserHandle.of(user))
-        }
-    }
-
     companion object {
         private val USER_INFO_0 = UserInfo().apply { id = 0 }
         private val USER_INFO_1 = UserInfo().apply { id = 1 }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tileimpl/QSTileImplTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tileimpl/QSTileImplTest.java
index 296478b..1d8c6cc 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tileimpl/QSTileImplTest.java
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tileimpl/QSTileImplTest.java
@@ -508,6 +508,12 @@
         assertThat(mTile.mRefreshes).isEqualTo(1);
     }
 
+    @Test
+    public void testIsDestroyedImmediately() {
+        mTile.destroy();
+        assertThat(mTile.isDestroyed()).isTrue();
+    }
+
     private void assertEvent(UiEventLogger.UiEventEnum eventType,
             UiEventLoggerFake.FakeUiEvent fakeEvent) {
         assertEquals(eventType.getId(), fakeEvent.eventId);
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/AirplaneModeTileTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/AirplaneModeTileTest.kt
index b921ff7..3914bd7 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/AirplaneModeTileTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/AirplaneModeTileTest.kt
@@ -23,7 +23,6 @@
 import android.testing.TestableLooper
 import androidx.test.filters.SmallTest
 import com.android.internal.logging.MetricsLogger
-import com.android.internal.telephony.flags.Flags
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.broadcast.BroadcastDispatcher
 import com.android.systemui.classifier.FalsingManagerFake
@@ -131,17 +130,7 @@
     }
 
     @Test
-    fun handleClick_noSatelliteFeature_directSetAirplaneMode() {
-        mSetFlagsRule.disableFlags(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
-
-        mTile.handleClick(null)
-
-        verify(mConnectivityManager).setAirplaneMode(any())
-    }
-
-    @Test
     fun handleClick_hasSatelliteFeatureButClickIsProcessing_doNothing() {
-        mSetFlagsRule.enableFlags(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
         Mockito.`when`(mClickJob.isCompleted).thenReturn(false)
         mTile.mClickJob = mClickJob
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelImplTest.kt
index fba6151..da3cebd 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelImplTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelImplTest.kt
@@ -22,6 +22,7 @@
 import com.android.systemui.classifier.FalsingManagerFake
 import com.android.systemui.common.shared.model.ContentDescription
 import com.android.systemui.common.shared.model.Icon
+import com.android.systemui.qs.FakeTileDetailsViewModel
 import com.android.systemui.qs.tiles.base.analytics.QSTileAnalytics
 import com.android.systemui.qs.tiles.base.interactor.FakeDisabledByPolicyInteractor
 import com.android.systemui.qs.tiles.base.interactor.FakeQSTileDataInteractor
@@ -97,6 +98,7 @@
                 testCoroutineDispatcher,
                 testCoroutineDispatcher,
                 testScope.backgroundScope,
+                FakeTileDetailsViewModel("QSTileViewModelImplTest"),
             )
     }
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileUserActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileUserActionInteractorTest.kt
index 3db5efc..261e3de 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileUserActionInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileUserActionInteractorTest.kt
@@ -26,8 +26,6 @@
 import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler
 import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject
 import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx
-import com.android.systemui.qs.tiles.dialog.InternetDetailsContentManager
-import com.android.systemui.qs.tiles.dialog.InternetDetailsViewModel
 import com.android.systemui.qs.tiles.dialog.InternetDialogManager
 import com.android.systemui.qs.tiles.impl.internet.domain.model.InternetTileModel
 import com.android.systemui.statusbar.connectivity.AccessPointController
@@ -39,11 +37,8 @@
 import org.junit.runner.RunWith
 import org.mockito.ArgumentMatchers.anyBoolean
 import org.mockito.ArgumentMatchers.eq
-import org.mockito.kotlin.any
 import org.mockito.kotlin.mock
-import org.mockito.kotlin.times
 import org.mockito.kotlin.verify
-import org.mockito.kotlin.whenever
 
 @SmallTest
 @EnabledOnRavenwood
@@ -56,31 +51,17 @@
 
     private lateinit var internetDialogManager: InternetDialogManager
     private lateinit var controller: AccessPointController
-    private lateinit var internetDetailsViewModelFactory: InternetDetailsViewModel.Factory
-    private lateinit var internetDetailsContentManagerFactory: InternetDetailsContentManager.Factory
-    private lateinit var internetDetailsViewModel: InternetDetailsViewModel
 
     @Before
     fun setup() {
         internetDialogManager = mock<InternetDialogManager>()
         controller = mock<AccessPointController>()
-        internetDetailsViewModelFactory = mock<InternetDetailsViewModel.Factory>()
-        internetDetailsContentManagerFactory = mock<InternetDetailsContentManager.Factory>()
-        internetDetailsViewModel =
-            InternetDetailsViewModel(
-                onLongClick = {},
-                accessPointController = mock<AccessPointController>(),
-                contentManagerFactory = internetDetailsContentManagerFactory,
-            )
-        whenever(internetDetailsViewModelFactory.create(any())).thenReturn(internetDetailsViewModel)
-
         underTest =
             InternetTileUserActionInteractor(
                 kosmos.testScope.coroutineContext,
                 internetDialogManager,
                 controller,
                 inputHandler,
-                internetDetailsViewModelFactory,
             )
     }
 
@@ -127,12 +108,4 @@
                 assertThat(it.intent.action).isEqualTo(Settings.ACTION_WIFI_SETTINGS)
             }
         }
-
-    @Test
-    fun detailsViewModel() =
-        kosmos.testScope.runTest {
-            assertThat(underTest.detailsViewModel.getTitle()).isEqualTo("Internet")
-            assertThat(underTest.detailsViewModel.getSubTitle())
-                .isEqualTo("Tab a network to connect")
-        }
 }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelTest.kt
index 0598a8b..4e9b635 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelTest.kt
@@ -25,6 +25,7 @@
 import com.android.systemui.common.shared.model.ContentDescription
 import com.android.systemui.common.shared.model.Icon
 import com.android.systemui.coroutines.collectValues
+import com.android.systemui.qs.FakeTileDetailsViewModel
 import com.android.systemui.qs.tiles.base.analytics.QSTileAnalytics
 import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger
 import com.android.systemui.qs.tiles.base.interactor.FakeDisabledByPolicyInteractor
@@ -171,21 +172,6 @@
                 .isEqualTo(FakeQSTileDataInteractor.AvailabilityRequest(USER))
         }
 
-    @Test
-    fun tileDetails() =
-        testScope.runTest {
-            assertThat(tileUserActionInteractor.detailsViewModel).isNotNull()
-            assertThat(tileUserActionInteractor.detailsViewModel?.getTitle())
-                .isEqualTo("FakeQSTileUserActionInteractor")
-            assertThat(underTest.detailsViewModel).isNotNull()
-            assertThat(underTest.detailsViewModel?.getTitle())
-                .isEqualTo("FakeQSTileUserActionInteractor")
-
-            tileUserActionInteractor.detailsViewModel = null
-            assertThat(tileUserActionInteractor.detailsViewModel).isNull()
-            assertThat(underTest.detailsViewModel).isNull()
-        }
-
     private fun createViewModel(
         scope: TestScope,
         config: QSTileConfig = tileConfig,
@@ -209,6 +195,7 @@
             testCoroutineDispatcher,
             testCoroutineDispatcher,
             scope.backgroundScope,
+            FakeTileDetailsViewModel("QSTileViewModelTest"),
         )
 
     private companion object {
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelUserInputTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelUserInputTest.kt
index ece21e1..166e950 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelUserInputTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelUserInputTest.kt
@@ -22,6 +22,7 @@
 import com.android.systemui.classifier.FalsingManagerFake
 import com.android.systemui.common.shared.model.ContentDescription
 import com.android.systemui.common.shared.model.Icon
+import com.android.systemui.qs.FakeTileDetailsViewModel
 import com.android.systemui.qs.tiles.base.analytics.QSTileAnalytics
 import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger
 import com.android.systemui.qs.tiles.base.interactor.FakeDisabledByPolicyInteractor
@@ -253,5 +254,6 @@
             testCoroutineDispatcher,
             testCoroutineDispatcher,
             scope.backgroundScope,
+            FakeTileDetailsViewModel("QSTileViewModelUserInputTest"),
         )
 }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneContentViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneContentViewModelTest.kt
index b36c111..1d891da 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneContentViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneContentViewModelTest.kt
@@ -23,8 +23,6 @@
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.coroutines.collectLastValue
 import com.android.systemui.flags.EnableSceneContainer
-import com.android.systemui.flags.Flags
-import com.android.systemui.flags.fakeFeatureFlagsClassic
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.lifecycle.activateIn
 import com.android.systemui.media.controls.data.repository.mediaFilterRepository
@@ -79,8 +77,6 @@
 
     @Before
     fun setUp() {
-        kosmos.fakeFeatureFlagsClassic.set(Flags.NEW_NETWORK_SLICE_UI, false)
-
         sceneContainerStartable.start()
         underTest =
             QuickSettingsSceneContentViewModel(
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 c69ebab..baf0aeb 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
@@ -61,8 +61,7 @@
             usingMediaInComposeFragment = false // This is not for the compose fragment
         }
     private val testScope = kosmos.testScope
-    private val sceneInteractor = kosmos.sceneInteractor
-
+    private val sceneInteractor by lazy { kosmos.sceneInteractor }
     private val underTest by lazy { kosmos.quickSettingsShadeOverlayContentViewModel }
 
     @Before
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsUserActionsViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsUserActionsViewModelTest.kt
index d5fbe49..0254dfb 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsUserActionsViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsUserActionsViewModelTest.kt
@@ -29,8 +29,6 @@
 import com.android.systemui.coroutines.collectLastValue
 import com.android.systemui.deviceentry.data.repository.fakeDeviceEntryRepository
 import com.android.systemui.flags.EnableSceneContainer
-import com.android.systemui.flags.Flags
-import com.android.systemui.flags.fakeFeatureFlagsClassic
 import com.android.systemui.keyguard.data.repository.fakeDeviceEntryFingerprintAuthRepository
 import com.android.systemui.keyguard.domain.interactor.keyguardEnabledInteractor
 import com.android.systemui.keyguard.shared.model.SuccessFingerprintAuthenticationStatus
@@ -68,8 +66,6 @@
 
     @Before
     fun setUp() {
-        kosmos.fakeFeatureFlagsClassic.set(Flags.NEW_NETWORK_SLICE_UI, false)
-
         sceneContainerStartable.start()
         underTest =
             QuickSettingsUserActionsViewModel(
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 eb630b4..abb41b5 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt
@@ -39,8 +39,6 @@
 import com.android.systemui.deviceentry.data.repository.fakeDeviceEntryRepository
 import com.android.systemui.deviceentry.domain.interactor.deviceEntryInteractor
 import com.android.systemui.flags.EnableSceneContainer
-import com.android.systemui.flags.Flags
-import com.android.systemui.flags.fakeFeatureFlagsClassic
 import com.android.systemui.keyguard.KeyguardViewMediator
 import com.android.systemui.keyguard.ui.viewmodel.lockscreenUserActionsViewModel
 import com.android.systemui.kosmos.Kosmos
@@ -112,8 +110,6 @@
             whenever(mockTelecomManager.isInCall).thenReturn(false)
             whenever(emergencyAffordanceManager.needsEmergencyAffordance()).thenReturn(true)
 
-            fakeFeatureFlagsClassic.apply { set(Flags.NEW_NETWORK_SLICE_UI, false) }
-
             fakeMobileConnectionsRepository.isAnySimSecure.value = false
 
             fakeTelephonyRepository.apply {
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 559e363..d3f5923 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
@@ -73,9 +73,8 @@
 
     private val kosmos = testKosmos()
     private val testScope = kosmos.testScope
-    private val fakeSceneDataSource = kosmos.fakeSceneDataSource
-
-    private val underTest = kosmos.sceneInteractor
+    private val fakeSceneDataSource by lazy { kosmos.fakeSceneDataSource }
+    private val underTest by lazy { kosmos.sceneInteractor }
 
     @Before
     fun setUp() {
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/screenshot/DefaultScreenshotActionsProviderTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/screenshot/DefaultScreenshotActionsProviderTest.kt
index cd30edd..0448ad5 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/screenshot/DefaultScreenshotActionsProviderTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/screenshot/DefaultScreenshotActionsProviderTest.kt
@@ -46,6 +46,7 @@
     private val actionExecutor = mock<ActionExecutor>()
     private val uiEventLogger = mock<UiEventLogger>()
     private val actionsCallback = mock<ScreenshotActionsController.ActionsCallback>()
+    private val actionIntentCreator = ActionIntentCreator(context, context.packageManager)
 
     private val request = ScreenshotData.forTesting(userHandle = UserHandle.OWNER)
     private val validResult = ScreenshotSavedResult(Uri.EMPTY, Process.myUserHandle(), 0)
@@ -196,6 +197,7 @@
         return DefaultScreenshotActionsProvider(
             context,
             uiEventLogger,
+            actionIntentCreator,
             UUID.randomUUID(),
             request,
             actionExecutor,
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/settings/brightness/domain/interactor/BrightnessMirrorShowingInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/settings/brightness/domain/interactor/BrightnessMirrorShowingInteractorTest.kt
index 31d6df2..7b7d76b 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/settings/brightness/domain/interactor/BrightnessMirrorShowingInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/settings/brightness/domain/interactor/BrightnessMirrorShowingInteractorTest.kt
@@ -21,7 +21,6 @@
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.coroutines.collectLastValue
 import com.android.systemui.kosmos.testScope
-import com.android.systemui.settings.brightness.data.repository.brightnessMirrorShowingRepository
 import com.android.systemui.testKosmos
 import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.test.runTest
@@ -34,8 +33,7 @@
 
     private val kosmos = testKosmos()
 
-    private val underTest =
-        BrightnessMirrorShowingInteractor(kosmos.brightnessMirrorShowingRepository)
+    private val underTest = kosmos.brightnessMirrorShowingInteractor
 
     @Test
     fun isShowing_setAndFlow() =
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java
index 904f5e8..d852a9d 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java
@@ -104,7 +104,7 @@
 import com.android.systemui.qs.QSFragmentLegacy;
 import com.android.systemui.res.R;
 import com.android.systemui.screenrecord.RecordingController;
-import com.android.systemui.settings.brightness.domain.interactor.BrightnessMirrorShowingInteractor;
+import com.android.systemui.settings.brightness.data.repository.BrightnessMirrorShowingRepository;
 import com.android.systemui.shade.data.repository.FakeShadeRepository;
 import com.android.systemui.shade.data.repository.ShadeAnimationRepository;
 import com.android.systemui.shade.data.repository.ShadeRepository;
@@ -314,8 +314,8 @@
     protected ShadeRepository mShadeRepository;
     protected FakeMSDLPlayer mMSDLPlayer = mKosmos.getMsdlPlayer();
 
-    protected BrightnessMirrorShowingInteractor mBrightnessMirrorShowingInteractor =
-            mKosmos.getBrightnessMirrorShowingInteractor();
+    protected BrightnessMirrorShowingRepository mBrightnessMirrorShowingRepository =
+            mKosmos.getBrightnessMirrorShowingRepository();
 
     protected final FalsingManagerFake mFalsingManager = new FalsingManagerFake();
     protected final Optional<SysUIUnfoldComponent> mSysUIUnfoldComponent = Optional.empty();
@@ -588,7 +588,7 @@
                 mPowerInteractor,
                 mKeyguardClockPositionAlgorithm,
                 mMSDLPlayer,
-                mBrightnessMirrorShowingInteractor,
+                mBrightnessMirrorShowingRepository,
                 new BlurConfig(0f, 0f));
         mNotificationPanelViewController.initDependencies(
                 mCentralSurfaces,
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java
index ba989db..354c23d 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java
@@ -27,6 +27,7 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.os.Build;
 import android.platform.test.annotations.EnableFlags;
 import android.testing.TestableLooper;
 import android.view.HapticFeedbackConstants;
@@ -41,6 +42,7 @@
 
 import com.google.android.msdl.data.model.MSDLToken;
 
+import org.junit.Assume;
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -59,6 +61,8 @@
     @Test
     @EnableFlags(com.android.systemui.Flags.FLAG_SHADE_EXPANDS_ON_STATUS_BAR_LONG_PRESS)
     public void onStatusBarLongPress_shadeExpands() {
+        //TODO(b/394977231) delete this temporary workaround used only by tests
+        Assume.assumeFalse(Build.HARDWARE.equals("cutf_cvm"));
         long downTime = 42L;
         // Start touch session with down event
         onTouchEvent(MotionEvent.obtain(downTime, downTime, MotionEvent.ACTION_DOWN, 1f, 1f, 0));
@@ -85,6 +89,8 @@
     @Test
     @EnableFlags(com.android.systemui.Flags.FLAG_SHADE_EXPANDS_ON_STATUS_BAR_LONG_PRESS)
     public void onStatusBarLongPress_qsExpands() {
+        //TODO(b/394977231) delete this temporary workaround used only by tests
+        Assume.assumeFalse(Build.HARDWARE.equals("cutf_cvm"));
         long downTime = 42L;
         // Start with shade already expanded
         mNotificationPanelViewController.setExpandedFraction(1F);
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/NotificationShadeWindowViewTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/NotificationShadeWindowViewTest.kt
index a8b4836..59e3a2e 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/NotificationShadeWindowViewTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/NotificationShadeWindowViewTest.kt
@@ -43,7 +43,7 @@
 import com.android.systemui.keyguard.shared.model.KeyguardState.LOCKSCREEN
 import com.android.systemui.res.R
 import com.android.systemui.settings.brightness.data.repository.BrightnessMirrorShowingRepository
-import com.android.systemui.settings.brightness.domain.interactor.BrightnessMirrorShowingInteractor
+import com.android.systemui.settings.brightness.domain.interactor.BrightnessMirrorShowingInteractorPassThrough
 import com.android.systemui.shade.NotificationShadeWindowView.InteractionEventHandler
 import com.android.systemui.shade.data.repository.ShadeAnimationRepository
 import com.android.systemui.shade.data.repository.ShadeRepositoryImpl
@@ -143,7 +143,7 @@
 
     private val brightnessMirrorShowingRepository = BrightnessMirrorShowingRepository()
     private val brightnessMirrorShowingInteractor =
-        BrightnessMirrorShowingInteractor(brightnessMirrorShowingRepository)
+        BrightnessMirrorShowingInteractorPassThrough(brightnessMirrorShowingRepository)
 
     private lateinit var underTest: NotificationShadeWindowView
     private lateinit var controller: NotificationShadeWindowViewController
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/interactor/ShadeInteractorSceneContainerImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/interactor/ShadeInteractorSceneContainerImplTest.kt
index 4a011c0..ccc876c 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/interactor/ShadeInteractorSceneContainerImplTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/interactor/ShadeInteractorSceneContainerImplTest.kt
@@ -50,11 +50,10 @@
 
     private val kosmos = testKosmos()
     private val testScope = kosmos.testScope
-    private val configurationRepository = kosmos.fakeConfigurationRepository
-    private val keyguardRepository = kosmos.fakeKeyguardRepository
-    private val sceneInteractor = kosmos.sceneInteractor
+    private val configurationRepository by lazy { kosmos.fakeConfigurationRepository }
+    private val keyguardRepository by lazy { kosmos.fakeKeyguardRepository }
+    private val sceneInteractor by lazy { kosmos.sceneInteractor }
     private val shadeTestUtil by lazy { kosmos.shadeTestUtil }
-
     private val underTest by lazy { kosmos.shadeInteractorSceneContainerImpl }
 
     @Test
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ui/viewmodel/ShadeHeaderViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ui/viewmodel/ShadeHeaderViewModelTest.kt
index 37b4688..a832f48 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ui/viewmodel/ShadeHeaderViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ui/viewmodel/ShadeHeaderViewModelTest.kt
@@ -15,7 +15,9 @@
 import com.android.systemui.flags.EnableSceneContainer
 import com.android.systemui.keyguard.data.repository.fakeDeviceEntryFingerprintAuthRepository
 import com.android.systemui.keyguard.shared.model.SuccessFingerprintAuthenticationStatus
+import com.android.systemui.kosmos.runCurrent
 import com.android.systemui.kosmos.testScope
+import com.android.systemui.kosmos.useUnconfinedTestDispatcher
 import com.android.systemui.lifecycle.activateIn
 import com.android.systemui.plugins.activityStarter
 import com.android.systemui.scene.domain.interactor.sceneInteractor
@@ -51,12 +53,11 @@
 @RunWith(AndroidJUnit4::class)
 @EnableSceneContainer
 class ShadeHeaderViewModelTest : SysuiTestCase() {
-    private val kosmos = testKosmos()
+    private val kosmos = testKosmos().useUnconfinedTestDispatcher()
     private val testScope = kosmos.testScope
-    private val mobileIconsInteractor = kosmos.fakeMobileIconsInteractor
-    private val sceneInteractor = kosmos.sceneInteractor
-    private val deviceEntryInteractor = kosmos.deviceEntryInteractor
-
+    private val mobileIconsInteractor by lazy { kosmos.fakeMobileIconsInteractor }
+    private val sceneInteractor by lazy { kosmos.sceneInteractor }
+    private val deviceEntryInteractor by lazy { kosmos.deviceEntryInteractor }
     private val underTest by lazy { kosmos.shadeHeaderViewModel }
 
     @Before
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/CommandQueueTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/CommandQueueTest.java
index 3d8da61..70df82d 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/CommandQueueTest.java
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/CommandQueueTest.java
@@ -22,6 +22,7 @@
 import static android.service.quickaccesswallet.Flags.FLAG_LAUNCH_WALLET_VIA_SYSUI_CALLBACKS;
 import static android.view.Display.DEFAULT_DISPLAY;
 import static android.view.WindowInsetsController.BEHAVIOR_DEFAULT;
+import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION;
 
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.eq;
@@ -556,9 +557,9 @@
     @Test
     public void testImmersiveModeChanged() {
         final int displayAreaId = 10;
-        mCommandQueue.immersiveModeChanged(displayAreaId, true);
+        mCommandQueue.immersiveModeChanged(displayAreaId, true, TYPE_APPLICATION);
         waitForIdleSync();
-        verify(mCallbacks).immersiveModeChanged(displayAreaId, true);
+        verify(mCallbacks).immersiveModeChanged(displayAreaId, true, TYPE_APPLICATION);
     }
 
     @Test
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 c10fd5e..326d8ff 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/NotificationShadeDepthControllerTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/NotificationShadeDepthControllerTest.kt
@@ -19,7 +19,6 @@
 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
@@ -360,7 +359,7 @@
     }
 
     @Test
-    @RequiresFlagsDisabled(Flags.FLAG_NOTIFICATION_SHADE_BLUR)
+    @DisableFlags(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/core/MultiDisplayStatusBarOrchestratorStoreTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/core/MultiDisplayStatusBarOrchestratorStoreTest.kt
new file mode 100644
index 0000000..06650f2
--- /dev/null
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/core/MultiDisplayStatusBarOrchestratorStoreTest.kt
@@ -0,0 +1,61 @@
+/*
+ * 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.core
+
+import android.platform.test.annotations.EnableFlags
+import android.view.Display.DEFAULT_DISPLAY
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import com.android.systemui.SysuiTestCase
+import com.android.systemui.display.data.repository.displayRepository
+import com.android.systemui.kosmos.testScope
+import com.android.systemui.kosmos.useUnconfinedTestDispatcher
+import com.android.systemui.testKosmos
+import kotlinx.coroutines.runBlocking
+import kotlinx.coroutines.test.runTest
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.verify
+
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+@EnableFlags(StatusBarConnectedDisplays.FLAG_NAME)
+class MultiDisplayStatusBarOrchestratorStoreTest : SysuiTestCase() {
+
+    private val kosmos = testKosmos().useUnconfinedTestDispatcher()
+    private val testScope = kosmos.testScope
+    private val fakeDisplayRepository = kosmos.displayRepository
+    private val underTest by lazy { kosmos.multiDisplayStatusBarOrchestratorStore }
+
+    @Before
+    fun start() {
+        underTest.start()
+    }
+
+    @Before fun addDisplays() = runBlocking { fakeDisplayRepository.addDisplay(DEFAULT_DISPLAY) }
+
+    @Test
+    fun displayRemoved_stopsInstance() =
+        testScope.runTest {
+            val instance = underTest.forDisplay(DEFAULT_DISPLAY)!!
+
+            fakeDisplayRepository.removeDisplay(DEFAULT_DISPLAY)
+
+            verify(instance).stop()
+        }
+}
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/core/StatusBarOrchestratorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/core/StatusBarOrchestratorTest.kt
index 04c5bd9..f5d9f43 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/core/StatusBarOrchestratorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/core/StatusBarOrchestratorTest.kt
@@ -22,6 +22,7 @@
 import androidx.test.filters.SmallTest
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.bouncer.data.repository.fakeKeyguardBouncerRepository
+import com.android.systemui.dump.dumpManager
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.kosmos.useUnconfinedTestDispatcher
 import com.android.systemui.plugins.DarkIconDispatcher
@@ -70,6 +71,7 @@
     private val mockBubbles = kosmos.bubbles
     private val fakeStatusBarWindowController = kosmos.fakeStatusBarWindowController
     private val fakeStatusBarInitializer = kosmos.fakeStatusBarInitializer
+    private val dumpManager = kosmos.dumpManager
 
     private val orchestrator = kosmos.statusBarOrchestrator
 
@@ -291,6 +293,15 @@
                 .transitionTo(TRANSPARENT.toTransitionModeInt(), /* animate= */ true)
         }
 
+    @Test
+    fun stop_unregisterDumpable() {
+        orchestrator.start()
+
+        orchestrator.stop()
+
+        verify(dumpManager).unregisterDumpable("StatusBarOrchestrator")
+    }
+
     private fun putDeviceToSleep() {
         fakePowerRepository.updateWakefulness(
             rawState = WakefulnessState.ASLEEP,
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStoreImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStoreImplTest.kt
index ae734b3..a5b7fc2 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStoreImplTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStoreImplTest.kt
@@ -22,24 +22,29 @@
 import androidx.test.filters.SmallTest
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.display.data.repository.displayRepository
+import com.android.systemui.kosmos.testScope
 import com.android.systemui.statusbar.core.StatusBarConnectedDisplays
 import com.android.systemui.testKosmos
 import kotlinx.coroutines.runBlocking
+import kotlinx.coroutines.test.runTest
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
+import org.mockito.kotlin.verify
 
 @SmallTest
 @RunWith(AndroidJUnit4::class)
 @EnableFlags(StatusBarConnectedDisplays.FLAG_NAME)
 class PrivacyDotWindowControllerStoreImplTest : SysuiTestCase() {
     private val kosmos = testKosmos()
+    private val testScope = kosmos.testScope
     private val underTest by lazy { kosmos.privacyDotWindowControllerStoreImpl }
 
     @Before
     fun installDisplays() = runBlocking {
+        underTest.start()
         kosmos.displayRepository.addDisplay(displayId = Display.DEFAULT_DISPLAY)
-        kosmos.displayRepository.addDisplay(displayId = Display.DEFAULT_DISPLAY + 1)
+        kosmos.displayRepository.addDisplay(displayId = DISPLAY_2)
     }
 
     @Test(expected = IllegalArgumentException::class)
@@ -49,6 +54,20 @@
 
     @Test
     fun forDisplay_nonDefaultDisplay_doesNotThrow() {
-        underTest.forDisplay(displayId = Display.DEFAULT_DISPLAY + 1)
+        underTest.forDisplay(displayId = DISPLAY_2)
+    }
+
+    @Test
+    fun displayRemoved_stopsInstance() =
+        testScope.runTest {
+            val instance = underTest.forDisplay(DISPLAY_2)!!
+
+            kosmos.displayRepository.removeDisplay(DISPLAY_2)
+
+            verify(instance).stop()
+        }
+
+    private companion object {
+        const val DISPLAY_2 = Display.DEFAULT_DISPLAY + 1
     }
 }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/events/PrivacyDotWindowControllerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/events/PrivacyDotWindowControllerTest.kt
index 6bcd735..60782b8 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/events/PrivacyDotWindowControllerTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/events/PrivacyDotWindowControllerTest.kt
@@ -173,6 +173,17 @@
         expect.that(gravityForView(viewController.bottomRight!!)).isEqualTo(BOTTOM or LEFT)
     }
 
+    @Test
+    fun onStop_removeAllWindows() {
+        underTest.start()
+        executor.runAllReady()
+
+        underTest.stop()
+        executor.runAllReady()
+
+        assertThat(windowManager.addedViews).isEmpty()
+    }
+
     private fun paramsForView(view: View): WindowManager.LayoutParams {
         return windowManager.addedViews.entries
             .first { it.key == view || it.key.findViewById<View>(view.id) != null }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceControllerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceControllerTest.kt
index 611ae3d..d546206 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceControllerTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceControllerTest.kt
@@ -846,7 +846,7 @@
     }
 
     private fun connectSession() {
-        val dateView = controller.buildAndConnectDateView(fakeParent)
+        val dateView = controller.buildAndConnectDateView(fakeParent, false)
         dateSmartspaceView = dateView as SmartspaceView
         fakeParent.addView(dateView)
         controller.stateChangeListener.onViewAttachedToWindow(dateView)
@@ -860,7 +860,7 @@
         verify(dateSmartspaceView).setPrimaryTextColor(anyInt())
         verify(dateSmartspaceView).setDozeAmount(0.5f)
 
-        val weatherView = controller.buildAndConnectWeatherView(fakeParent)
+        val weatherView = controller.buildAndConnectWeatherView(fakeParent, false)
         weatherSmartspaceView = weatherView as SmartspaceView
         fakeParent.addView(weatherView)
         controller.stateChangeListener.onViewAttachedToWindow(weatherView)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/ConversationNotificationProcessorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/ConversationNotificationProcessorTest.kt
index 67d0ade..0caddf4 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/ConversationNotificationProcessorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/ConversationNotificationProcessorTest.kt
@@ -111,13 +111,13 @@
             .isNotNull()
 
         val processedSummary = nb.build().extras.getCharSequence(EXTRA_SUMMARIZED_CONTENT)
-        assertThat(processedSummary.toString()).isEqualTo("x$summarization")
+        assertThat(processedSummary.toString()).isEqualTo("x $summarization")
 
         val checkSpans = SpannableStringBuilder(processedSummary)
         assertThat(
                 checkSpans.getSpans(
                     /* queryStart = */ 0,
-                    /* queryEnd = */ 1,
+                    /* queryEnd = */ 2,
                     /* kind = */ ImageSpan::class.java,
                 )
             )
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 510167d..d3cd240 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
@@ -84,7 +84,7 @@
         controller.onIntentStarted(willAnimate = false)
 
         assertTrue(HeadsUpUtil.isClickedHeadsUpNotification(notification))
-        assertFalse(notification.entry.isExpandAnimationRunning)
+        assertFalse(notification.isLaunchAnimationRunning)
         val isExpandAnimationRunning by
             testScope.collectLastValue(
                 notificationLaunchAnimationInteractor.isLaunchAnimationRunning
@@ -107,7 +107,7 @@
         controller.onTransitionAnimationCancelled()
 
         assertTrue(HeadsUpUtil.isClickedHeadsUpNotification(notification))
-        assertFalse(notification.entry.isExpandAnimationRunning)
+        assertFalse(notification.isLaunchAnimationRunning)
         val isExpandAnimationRunning by
             testScope.collectLastValue(
                 notificationLaunchAnimationInteractor.isLaunchAnimationRunning
@@ -130,7 +130,7 @@
         controller.onTransitionAnimationEnd(isExpandingFullyAbove = true)
 
         assertFalse(HeadsUpUtil.isClickedHeadsUpNotification(notification))
-        assertFalse(notification.entry.isExpandAnimationRunning)
+        assertFalse(notification.isLaunchAnimationRunning)
         val isExpandAnimationRunning by
             testScope.collectLastValue(
                 notificationLaunchAnimationInteractor.isLaunchAnimationRunning
@@ -199,7 +199,7 @@
     fun testNotificationIsExpandingDuringAnimation() {
         controller.onIntentStarted(willAnimate = true)
 
-        assertTrue(notification.entry.isExpandAnimationRunning)
+        assertTrue(notification.isLaunchAnimationRunning)
         val isExpandAnimationRunning by
             testScope.collectLastValue(
                 notificationLaunchAnimationInteractor.isLaunchAnimationRunning
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/PhysicsPropertyAnimatorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/PhysicsPropertyAnimatorTest.kt
index 56cd72e..0bb4737 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/PhysicsPropertyAnimatorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/PhysicsPropertyAnimatorTest.kt
@@ -15,19 +15,22 @@
  */
 package com.android.systemui.statusbar.notification
 
+import android.animation.AnimatorTestRule
 import android.util.FloatProperty
 import android.util.Property
 import android.view.View
-import androidx.dynamicanimation.animation.DynamicAnimation
+
 import androidx.test.annotation.UiThreadTest
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
+import com.android.internal.dynamicanimation.animation.DynamicAnimation
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.res.R
 import com.android.systemui.statusbar.notification.stack.AnimationProperties
 import com.android.systemui.statusbar.notification.stack.ViewState
 import org.junit.Assert
 import org.junit.Before
+import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.mockito.Mockito
@@ -50,6 +53,8 @@
                 return _value
             }
         }
+    @get:Rule
+    val animatorTestRule = AnimatorTestRule(this)
     private val property: PhysicsProperty =
         PhysicsProperty(R.id.scale_x_animator_tag, effectiveProperty)
     private var finishListener: DynamicAnimation.OnAnimationEndListener? = null
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/BundleEntryTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/BundleEntryTest.kt
index 83e26c4..83fd5dc 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/BundleEntryTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/BundleEntryTest.kt
@@ -65,8 +65,8 @@
 
     @Test
     @EnableFlags(NotificationBundleUi.FLAG_NAME)
-    fun getGroupRoot_adapter() {
-        assertThat(underTest.entryAdapter.groupRoot).isEqualTo(underTest.entryAdapter)
+    fun isGroupRoot_adapter() {
+        assertThat(underTest.entryAdapter.isGroupRoot).isTrue()
     }
 
     @Test
@@ -105,4 +105,52 @@
     fun getWhen_adapter() {
         assertThat(underTest.entryAdapter.`when`).isEqualTo(0)
     }
+
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    fun isColorized() {
+        assertThat(underTest.entryAdapter.isColorized).isFalse()
+    }
+
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    fun getSbn() {
+        assertThat(underTest.entryAdapter.sbn).isNull()
+    }
+
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    fun canDragAndDrop() {
+        assertThat(underTest.entryAdapter.canDragAndDrop()).isFalse()
+    }
+
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    fun isBubble() {
+        assertThat(underTest.entryAdapter.isBubbleCapable).isFalse()
+    }
+
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    fun getStyle() {
+        assertThat(underTest.entryAdapter.style).isNull()
+    }
+
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    fun getSectionBucket() {
+        assertThat(underTest.entryAdapter.sectionBucket).isEqualTo(underTest.bucket)
+    }
+
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    fun isAmbient() {
+        assertThat(underTest.entryAdapter.isAmbient).isFalse()
+    }
+
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    fun canShowFullScreen() {
+        assertThat(underTest.entryAdapter.isFullScreenCapable()).isFalse()
+    }
 }
\ No newline at end of file
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java
index 0df1073..4c18025 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java
@@ -41,7 +41,6 @@
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.clearInvocations;
@@ -64,7 +63,6 @@
 import android.app.NotificationManager;
 import android.os.Handler;
 import android.os.RemoteException;
-import android.platform.test.annotations.EnableFlags;
 import android.service.notification.NotificationListenerService.Ranking;
 import android.service.notification.NotificationListenerService.RankingMap;
 import android.service.notification.StatusBarNotification;
@@ -78,7 +76,6 @@
 
 import com.android.internal.statusbar.IStatusBarService;
 import com.android.internal.statusbar.NotificationVisibility;
-import com.android.systemui.Flags;
 import com.android.systemui.SysuiTestCase;
 import com.android.systemui.dump.DumpManager;
 import com.android.systemui.dump.LogBufferEulogizer;
@@ -96,6 +93,7 @@
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionLogger;
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifDismissInterceptor;
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifLifetimeExtender;
+import com.android.systemui.statusbar.notification.collection.notifcollection.UpdateSource;
 import com.android.systemui.statusbar.notification.collection.provider.NotificationDismissibilityProvider;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
 import com.android.systemui.util.concurrency.FakeExecutor;
@@ -1587,7 +1585,7 @@
 
         // THEN entry updated gets called, added does not, and ranking is called again
         verify(mCollectionListener).onEntryUpdated(eq(entry));
-        verify(mCollectionListener).onEntryUpdated(eq(entry), eq(true));
+        verify(mCollectionListener).onEntryUpdated(eq(entry), eq(UpdateSource.App));
         verify(mCollectionListener).onEntryAdded((entry));
         verify(mCollectionListener, times(2)).onRankingApplied();
     }
@@ -1610,7 +1608,7 @@
         verify(mCollectionListener).onEntryAdded(eq(entry));
         verify(mCollectionListener).onRankingApplied();
         verify(mCollectionListener).onEntryUpdated(eq(entry));
-        verify(mCollectionListener).onEntryUpdated(eq(entry), eq(false));
+        verify(mCollectionListener).onEntryUpdated(eq(entry), eq(UpdateSource.SystemUi));
     }
 
     @Test
@@ -1626,7 +1624,7 @@
         verify(mCollectionListener, never()).onRankingUpdate(any());
         verify(mCollectionListener, never()).onRankingApplied();
         verify(mCollectionListener, never()).onEntryUpdated(any());
-        verify(mCollectionListener, never()).onEntryUpdated(any(), anyBoolean());
+        verify(mCollectionListener, never()).onEntryUpdated(any(), any());
     }
 
     @Test
@@ -1786,6 +1784,7 @@
 
     private static NotificationEntryBuilder buildNotif(String pkg, int id, String tag) {
         return new NotificationEntryBuilder()
+                .setPostTime(System.currentTimeMillis())
                 .setPkg(pkg)
                 .setId(id)
                 .setTag(tag);
@@ -1838,7 +1837,7 @@
         }
 
         @Override
-        public void onEntryUpdated(NotificationEntry entry, boolean fromSystem) {
+        public void onEntryUpdated(NotificationEntry entry, UpdateSource source) {
             onEntryUpdated(entry);
         }
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/NotificationEntryTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/NotificationEntryTest.java
index 1f5c672..4810813 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/NotificationEntryTest.java
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/NotificationEntryTest.java
@@ -21,12 +21,15 @@
 import static android.app.Notification.CATEGORY_EVENT;
 import static android.app.Notification.CATEGORY_MESSAGE;
 import static android.app.Notification.CATEGORY_REMINDER;
+import static android.app.Notification.FLAG_BUBBLE;
 import static android.app.Notification.FLAG_FSI_REQUESTED_BUT_DENIED;
 import static android.app.Notification.FLAG_PROMOTED_ONGOING;
+import static android.app.NotificationManager.IMPORTANCE_MIN;
 import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT;
 
 import static com.android.systemui.statusbar.NotificationEntryHelper.modifyRanking;
 import static com.android.systemui.statusbar.NotificationEntryHelper.modifySbn;
+import static com.android.systemui.statusbar.notification.stack.NotificationPriorityBucketKt.BUCKET_ALERTING;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -35,6 +38,7 @@
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 import android.app.ActivityManager;
 import android.app.Notification;
@@ -542,7 +546,7 @@
 
     @Test
     @EnableFlags(NotificationBundleUi.FLAG_NAME)
-    public void getGroupRoot_adapter_groupSummary() {
+    public void isGroupRoot_adapter_groupSummary() {
         ExpandableNotificationRow row = mock(ExpandableNotificationRow.class);
         Notification notification = new Notification.Builder(mContext, "")
                 .setSmallIcon(R.drawable.ic_person)
@@ -562,12 +566,12 @@
                 .build();
         entry.setRow(row);
 
-        assertThat(entry.getEntryAdapter().getGroupRoot()).isNull();
+        assertThat(entry.getEntryAdapter().isGroupRoot()).isFalse();
     }
 
     @Test
     @EnableFlags(NotificationBundleUi.FLAG_NAME)
-    public void getGroupRoot_adapter_groupChild() {
+    public void isGroupRoot_adapter_groupChild() {
         Notification notification = new Notification.Builder(mContext, "")
                 .setSmallIcon(R.drawable.ic_person)
                 .setGroupSummary(true)
@@ -591,7 +595,7 @@
                 .setParent(groupEntry.build())
                 .build();
 
-        assertThat(entry.getEntryAdapter().getGroupRoot()).isEqualTo(parent.getEntryAdapter());
+        assertThat(entry.getEntryAdapter().isGroupRoot()).isFalse();
     }
 
     @Test
@@ -664,6 +668,126 @@
         assertThat(entry.getEntryAdapter().getIcons()).isEqualTo(entry.getIcons());
     }
 
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    public void isColorized() {
+        Notification notification = new Notification.Builder(mContext, "")
+                .setSmallIcon(R.drawable.ic_person)
+                .setColorized(true)
+                .build();
+
+        NotificationEntry entry = new NotificationEntryBuilder()
+                .setNotification(notification)
+                .build();
+        assertThat(entry.getEntryAdapter().isColorized()).isEqualTo(
+                entry.getSbn().getNotification().isColorized());
+    }
+
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    public void getSbn() {
+        Notification notification = new Notification.Builder(mContext, "")
+                .setSmallIcon(R.drawable.ic_person)
+                .build();
+
+        NotificationEntry entry = new NotificationEntryBuilder()
+                .setNotification(notification)
+                .build();
+        assertThat(entry.getEntryAdapter().getSbn()).isEqualTo(
+                entry.getSbn());
+    }
+
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    public void canDragAndDrop() {
+        PendingIntent pi = mock(PendingIntent.class);
+        when(pi.isActivity()).thenReturn(true);
+        Notification notification = new Notification.Builder(mContext, "")
+                .setSmallIcon(R.drawable.ic_person)
+                .setContentIntent(pi)
+                .build();
+
+        NotificationEntry entry = new NotificationEntryBuilder()
+                .setNotification(notification)
+                .build();
+        assertThat(entry.getEntryAdapter().canDragAndDrop()).isTrue();
+    }
+
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    public void isBubble() {
+        Notification notification = new Notification.Builder(mContext, "")
+                .setSmallIcon(R.drawable.ic_person)
+                .setFlag(FLAG_BUBBLE, true)
+                .build();
+
+        NotificationEntry entry = new NotificationEntryBuilder()
+                .setNotification(notification)
+                .build();
+        assertThat(entry.getEntryAdapter().isBubbleCapable()).isEqualTo(entry.isBubble());
+    }
+
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    public void getStyle() {
+        Notification notification = new Notification.Builder(mContext, "")
+                .setSmallIcon(R.drawable.ic_person)
+                .setStyle(new Notification.BigTextStyle())
+                .build();
+
+        NotificationEntry entry = new NotificationEntryBuilder()
+                .setNotification(notification)
+                .build();
+        assertThat(entry.getEntryAdapter().getStyle()).isEqualTo(entry.getNotificationStyle());
+    }
+
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    public void getSectionBucket() {
+        Notification notification = new Notification.Builder(mContext, "")
+                .setSmallIcon(R.drawable.ic_person)
+                .setStyle(new Notification.BigTextStyle())
+                .build();
+
+        NotificationEntry entry = new NotificationEntryBuilder()
+                .setNotification(notification)
+                .build();
+        entry.setBucket(BUCKET_ALERTING);
+
+        assertThat(entry.getEntryAdapter().getSectionBucket()).isEqualTo(BUCKET_ALERTING);
+    }
+
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    public void isAmbient() {
+        Notification notification = new Notification.Builder(mContext, "")
+                .setSmallIcon(R.drawable.ic_person)
+                .build();
+
+        NotificationEntry entry = new NotificationEntryBuilder()
+                .setNotification(notification)
+                .setImportance(IMPORTANCE_MIN)
+                .build();
+
+        assertThat(entry.getEntryAdapter().isAmbient()).isTrue();
+    }
+
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    public void canShowFullScreen() {
+        Notification notification = new Notification.Builder(mContext, "")
+                .setSmallIcon(R.drawable.ic_person)
+                .setFullScreenIntent(mock(PendingIntent.class), true)
+                .build();
+
+        NotificationEntry entry = new NotificationEntryBuilder()
+                .setNotification(notification)
+                .setImportance(IMPORTANCE_MIN)
+                .build();
+
+        assertThat(entry.getEntryAdapter().isFullScreenCapable()).isTrue();
+    }
+
     private Notification.Action createContextualAction(String title) {
         return new Notification.Action.Builder(
                 Icon.createWithResource(getContext(), android.R.drawable.sym_def_app_icon),
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/ConversationCoordinatorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/ConversationCoordinatorTest.kt
index 2853264..fa185bc 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/ConversationCoordinatorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/ConversationCoordinatorTest.kt
@@ -18,6 +18,7 @@
 
 import android.app.Flags
 import android.app.NotificationChannel
+import android.app.NotificationChannel.SYSTEM_RESERVED_IDS
 import android.app.NotificationManager.IMPORTANCE_DEFAULT
 import android.app.NotificationManager.IMPORTANCE_HIGH
 import android.app.NotificationManager.IMPORTANCE_LOW
@@ -124,6 +125,14 @@
     }
 
     @Test
+    fun testPrioritySectioner_doesNotClaim_classifiedConversation() {
+        val sectioner = coordinator.priorityPeopleSectioner
+        for (id in SYSTEM_RESERVED_IDS) {
+            assertFalse(sectioner.isInSection(makeClassifiedConversation(id)))
+        }
+    }
+
+    @Test
     fun testPromotesImportantConversations() {
         assertTrue(promoter.shouldPromoteToTopLevel(makeEntryOfPeopleType(TYPE_IMPORTANT_PERSON)))
         assertFalse(promoter.shouldPromoteToTopLevel(makeEntryOfPeopleType(TYPE_FULL_PERSON)))
@@ -166,6 +175,14 @@
     }
 
     @Test
+    fun testAlertingSectioner_doesNotClaim_classifiedConversation() {
+        val sectioner = coordinator.peopleAlertingSectioner
+        for (id in SYSTEM_RESERVED_IDS) {
+            assertFalse(sectioner.isInSection(makeClassifiedConversation(id)))
+        }
+    }
+
+    @Test
     fun testInAlertingPeopleSectionWhenTheImportanceIsAtLeastDefault() {
         // GIVEN
         val alertingEntry = makeEntryOfPeopleType(TYPE_PERSON) { setImportance(IMPORTANCE_DEFAULT) }
@@ -186,6 +203,15 @@
 
     @Test
     @DisableFlags(Flags.FLAG_SORT_SECTION_BY_TIME)
+    fun testSilentSectioner_doesNotClaim_classifiedConversation() {
+        val sectioner = coordinator.peopleSilentSectioner
+        for (id in SYSTEM_RESERVED_IDS) {
+            assertFalse(sectioner.isInSection(makeClassifiedConversation(id)))
+        }
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_SORT_SECTION_BY_TIME)
     fun testInSilentPeopleSectionWhenTheImportanceIsLowerThanDefault() {
         // GIVEN
         val silentEntry = makeEntryOfPeopleType(TYPE_PERSON) { setImportance(IMPORTANCE_LOW) }
@@ -280,4 +306,17 @@
         assertEquals(type, peopleNotificationIdentifier.getPeopleNotificationType(entry))
         return entry
     }
+
+    private fun makeClassifiedConversation(channelId: String): NotificationEntry {
+        val channel = NotificationChannel(channelId, channelId, IMPORTANCE_LOW)
+        val entry =
+            NotificationEntryBuilder()
+                .updateRanking {
+                    it.setIsConversation(true)
+                    it.setShortcutInfo(mock())
+                    it.setChannel(channel)
+                }
+                .build()
+        return entry
+    }
 }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/DismissibilityCoordinatorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/DismissibilityCoordinatorTest.kt
index 543f0c7..e40d68e 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/DismissibilityCoordinatorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/DismissibilityCoordinatorTest.kt
@@ -66,7 +66,7 @@
 
         assertTrue(
             "Notifs without any flags should be dismissible",
-            dismissibilityProvider.isDismissable(entry)
+            dismissibilityProvider.isDismissable(entry.key)
         )
     }
 
@@ -96,7 +96,7 @@
 
         assertFalse(
             "Non-dismiss Notifs should NOT be dismissible",
-            dismissibilityProvider.isDismissable(entry)
+            dismissibilityProvider.isDismissable(entry.key)
         )
     }
 
@@ -113,7 +113,7 @@
 
         assertFalse(
             "Ongoing Notifs should NOT be dismissible when the device is locked",
-            dismissibilityProvider.isDismissable(entry)
+            dismissibilityProvider.isDismissable(entry.key)
         )
     }
 
@@ -130,7 +130,7 @@
 
         assertTrue(
             "Ongoing Notifs should be dismissible when the device is unlocked",
-            dismissibilityProvider.isDismissable(entry)
+            dismissibilityProvider.isDismissable(entry.key)
         )
     }
 
@@ -148,7 +148,7 @@
 
         assertFalse(
             "Non-dismiss Notifs should NOT be dismissible",
-            dismissibilityProvider.isDismissable(entry)
+            dismissibilityProvider.isDismissable(entry.key)
         )
     }
 
@@ -174,16 +174,16 @@
 
         assertTrue(
             "Notifs without any flags should be dismissible",
-            dismissibilityProvider.isDismissable(noFlagEntry)
+            dismissibilityProvider.isDismissable(noFlagEntry.key)
         )
         assertTrue(
             "Ongoing Notifs should be dismissible when the device is unlocked",
-            dismissibilityProvider.isDismissable(ongoingEntry)
+            dismissibilityProvider.isDismissable(ongoingEntry.key)
         )
 
         assertFalse(
             "Non-dismiss Notifs should NOT be dismissible",
-            dismissibilityProvider.isDismissable(nonDismissEntry)
+            dismissibilityProvider.isDismissable(nonDismissEntry.key)
         )
     }
 
@@ -199,10 +199,13 @@
 
         onBeforeRenderListListener.onBeforeRenderList(listOf(group))
 
-        assertFalse("Child should be non-dismissible", dismissibilityProvider.isDismissable(entry))
+        assertFalse(
+            "Child should be non-dismissible",
+            dismissibilityProvider.isDismissable(entry.key)
+        )
         assertFalse(
             "Summary should be non-dismissible",
-            dismissibilityProvider.isDismissable(summary)
+            dismissibilityProvider.isDismissable(summary.key)
         )
     }
 
@@ -219,10 +222,13 @@
 
         onBeforeRenderListListener.onBeforeRenderList(listOf(group))
 
-        assertFalse("Child should be non-dismissible", dismissibilityProvider.isDismissable(entry))
+        assertFalse(
+            "Child should be non-dismissible",
+            dismissibilityProvider.isDismissable(entry.key)
+        )
         assertFalse(
             "Summary should be non-dismissible",
-            dismissibilityProvider.isDismissable(summary)
+            dismissibilityProvider.isDismissable(summary.key)
         )
     }
 
@@ -239,8 +245,11 @@
 
         onBeforeRenderListListener.onBeforeRenderList(listOf(group))
 
-        assertTrue("Child should be dismissible", dismissibilityProvider.isDismissable(entry))
-        assertTrue("Summary should be dismissible", dismissibilityProvider.isDismissable(summary))
+        assertTrue("Child should be dismissible", dismissibilityProvider.isDismissable(entry.key))
+        assertTrue(
+            "Summary should be dismissible",
+            dismissibilityProvider.isDismissable(summary.key)
+        )
     }
 
     @Test
@@ -254,7 +263,10 @@
 
         onBeforeRenderListListener.onBeforeRenderList(listOf(group))
 
-        assertFalse("Child should be non-dismissible", dismissibilityProvider.isDismissable(entry))
+        assertFalse(
+            "Child should be non-dismissible",
+            dismissibilityProvider.isDismissable(entry.key)
+        )
     }
 
     @Test
@@ -269,7 +281,10 @@
 
         onBeforeRenderListListener.onBeforeRenderList(listOf(group))
 
-        assertFalse("Child should be non-dismissible", dismissibilityProvider.isDismissable(entry))
+        assertFalse(
+            "Child should be non-dismissible",
+            dismissibilityProvider.isDismissable(entry.key)
+        )
     }
 
     @Test
@@ -284,7 +299,7 @@
 
         onBeforeRenderListListener.onBeforeRenderList(listOf(group))
 
-        assertTrue("Child should be dismissible", dismissibilityProvider.isDismissable(entry))
+        assertTrue("Child should be dismissible", dismissibilityProvider.isDismissable(entry.key))
     }
 
     @Test
@@ -299,10 +314,10 @@
 
         onBeforeRenderListListener.onBeforeRenderList(listOf(group))
 
-        assertTrue("Child should be dismissible", dismissibilityProvider.isDismissable(entry))
+        assertTrue("Child should be dismissible", dismissibilityProvider.isDismissable(entry.key))
         assertFalse(
             "Summary should be non-dismissible",
-            dismissibilityProvider.isDismissable(summary)
+            dismissibilityProvider.isDismissable(summary.key)
         )
     }
 }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/OriginalUnseenKeyguardCoordinatorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/OriginalUnseenKeyguardCoordinatorTest.kt
index 43cb957..4e13dcd 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/OriginalUnseenKeyguardCoordinatorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/OriginalUnseenKeyguardCoordinatorTest.kt
@@ -20,7 +20,6 @@
 import android.media.session.MediaSession
 import android.platform.test.flag.junit.FlagsParameterization
 import android.provider.Settings
-import android.service.notification.StatusBarNotification
 import androidx.test.filters.SmallTest
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.dump.dumpManager
@@ -46,6 +45,7 @@
 import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifFilter
 import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.Pluggable
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener
+import com.android.systemui.statusbar.notification.collection.notifcollection.UpdateSource
 import com.android.systemui.statusbar.notification.domain.interactor.SeenNotificationsInteractor
 import com.android.systemui.statusbar.notification.domain.interactor.lockScreenShowOnlyUnseenNotificationsSetting
 import com.android.systemui.statusbar.notification.domain.interactor.seenNotificationsInteractor
@@ -221,16 +221,19 @@
                         mock<ExpandableNotificationRow>().apply {
                             whenever(isMediaRow).thenReturn(true)
                         }
-                    sbn = SbnBuilder().setNotification(
-                        Notification.Builder(context, "channel").setStyle(
-                            MediaStyle().setMediaSession(
-                                MediaSession(
-                                    context,
-                                    "tag"
-                                ).sessionToken
+                    sbn =
+                        SbnBuilder()
+                            .setNotification(
+                                Notification.Builder(context, "channel")
+                                    .setStyle(
+                                        MediaStyle()
+                                            .setMediaSession(
+                                                MediaSession(context, "tag").sessionToken
+                                            )
+                                    )
+                                    .build()
                             )
-                        ).build()
-                    ).build()
+                            .build()
                 }
             collectionListener.onEntryAdded(fakeEntry)
 
@@ -600,7 +603,7 @@
             testScheduler.runCurrent()
 
             // WHEN: the notification is updated
-            collectionListener.onEntryUpdated(entry)
+            collectionListener.onEntryUpdated(entry, UpdateSource.App)
             testScheduler.runCurrent()
 
             // WHEN: four more seconds have passed
@@ -630,6 +633,132 @@
         }
     }
 
+    @Test
+    fun seenNotificationOnKeyguardMarkedAsSeenIfUpdatedBySystemServer() {
+        // GIVEN: Keyguard is showing, not dozing, unseen notification is present
+        keyguardRepository.setKeyguardShowing(true)
+        keyguardRepository.setIsDozing(false)
+        runKeyguardCoordinatorTest {
+            val fakeEntry = NotificationEntryBuilder().build()
+            collectionListener.onEntryAdded(fakeEntry)
+            keyguardTransitionRepository.sendTransitionSteps(
+                from = KeyguardState.AOD,
+                to = KeyguardState.LOCKSCREEN,
+                this.testScheduler,
+            )
+            testScheduler.runCurrent()
+
+            // WHEN: five seconds have passed
+            testScheduler.advanceTimeBy(5.seconds)
+            testScheduler.runCurrent()
+
+            // WHEN: Keyguard is no longer showing
+            keyguardRepository.setKeyguardShowing(false)
+            kosmos.setTransition(
+                sceneTransition = Idle(Scenes.Gone),
+                stateTransition = TransitionStep(KeyguardState.LOCKSCREEN, KeyguardState.GONE),
+            )
+
+            // WHEN: the notification is updated by the Server
+            collectionListener.onEntryUpdated(fakeEntry, UpdateSource.SystemServer)
+            testScheduler.runCurrent()
+
+            // WHEN: Keyguard is shown again
+            keyguardRepository.setKeyguardShowing(true)
+            kosmos.setTransition(
+                sceneTransition = Idle(Scenes.Lockscreen),
+                stateTransition = TransitionStep(KeyguardState.GONE, KeyguardState.AOD),
+            )
+
+            // THEN: The notification is still recognized as "seen" and is filtered out.
+            assertThat(unseenFilter.shouldFilterOut(fakeEntry, 0L)).isTrue()
+        }
+    }
+
+    @Test
+    fun seenNotificationOnKeyguardMarkedAsSeenIfUpdatedBySystemUi() {
+        // GIVEN: Keyguard is showing, not dozing, unseen notification is present
+        keyguardRepository.setKeyguardShowing(true)
+        keyguardRepository.setIsDozing(false)
+        runKeyguardCoordinatorTest {
+            val fakeEntry = NotificationEntryBuilder().build()
+            collectionListener.onEntryAdded(fakeEntry)
+            keyguardTransitionRepository.sendTransitionSteps(
+                from = KeyguardState.AOD,
+                to = KeyguardState.LOCKSCREEN,
+                this.testScheduler,
+            )
+            testScheduler.runCurrent()
+
+            // WHEN: five seconds have passed
+            testScheduler.advanceTimeBy(5.seconds)
+            testScheduler.runCurrent()
+
+            // WHEN: Keyguard is no longer showing
+            keyguardRepository.setKeyguardShowing(false)
+            kosmos.setTransition(
+                sceneTransition = Idle(Scenes.Gone),
+                stateTransition = TransitionStep(KeyguardState.LOCKSCREEN, KeyguardState.GONE),
+            )
+
+            // WHEN: the notification is updated by the SystemUi
+            collectionListener.onEntryUpdated(fakeEntry, UpdateSource.SystemUi)
+            testScheduler.runCurrent()
+
+            // WHEN: Keyguard is shown again
+            keyguardRepository.setKeyguardShowing(true)
+            kosmos.setTransition(
+                sceneTransition = Idle(Scenes.Lockscreen),
+                stateTransition = TransitionStep(KeyguardState.GONE, KeyguardState.AOD),
+            )
+
+            // THEN: The notification is still recognized as "seen" and is filtered out.
+            assertThat(unseenFilter.shouldFilterOut(fakeEntry, 0L)).isTrue()
+        }
+    }
+
+    @Test
+    fun seenNotificationOnKeyguardMarkedAsUnseenIfUpdatedByApp() {
+        // GIVEN: Keyguard is showing, not dozing, unseen notification is present
+        keyguardRepository.setKeyguardShowing(true)
+        keyguardRepository.setIsDozing(false)
+        runKeyguardCoordinatorTest {
+            val fakeEntry = NotificationEntryBuilder().build()
+            collectionListener.onEntryAdded(fakeEntry)
+            keyguardTransitionRepository.sendTransitionSteps(
+                from = KeyguardState.AOD,
+                to = KeyguardState.LOCKSCREEN,
+                this.testScheduler,
+            )
+            testScheduler.runCurrent()
+
+            // WHEN: five seconds have passed
+            testScheduler.advanceTimeBy(5.seconds)
+            testScheduler.runCurrent()
+
+            // WHEN: Keyguard is no longer showing
+            keyguardRepository.setKeyguardShowing(false)
+            kosmos.setTransition(
+                sceneTransition = Idle(Scenes.Gone),
+                stateTransition = TransitionStep(KeyguardState.LOCKSCREEN, KeyguardState.GONE),
+            )
+
+            // WHEN: the notification is updated by the App
+            collectionListener.onEntryUpdated(fakeEntry, UpdateSource.App)
+            testScheduler.runCurrent()
+
+            // WHEN: Keyguard is shown again
+            keyguardRepository.setKeyguardShowing(true)
+            kosmos.setTransition(
+                sceneTransition = Idle(Scenes.Lockscreen),
+                stateTransition = TransitionStep(KeyguardState.GONE, KeyguardState.AOD),
+            )
+
+            // THEN: The notification is now recognized as "unseen" and is not filtered out.
+            assertThat(unseenFilter.shouldFilterOut(fakeEntry, 0L)).isFalse()
+        }
+    }
+
     private fun runKeyguardCoordinatorTest(
         testBlock: suspend KeyguardCoordinatorTestScope.() -> Unit
     ) {
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/RemoteInputCoordinatorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/RemoteInputCoordinatorTest.kt
index a3f8452..85d7386 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/RemoteInputCoordinatorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/RemoteInputCoordinatorTest.kt
@@ -39,6 +39,7 @@
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifLifetimeExtender
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifLifetimeExtender.OnEndLifetimeExtensionCallback
+import com.android.systemui.statusbar.notification.collection.notifcollection.UpdateSource
 import com.android.systemui.util.mockito.any
 import com.android.systemui.util.mockito.captureMany
 import com.android.systemui.util.mockito.withArgCaptor
@@ -191,7 +192,7 @@
         `when`(remoteInputManager.shouldKeepForRemoteInputHistory(entry)).thenReturn(true)
         `when`(remoteInputManager.shouldKeepForSmartReplyHistory(entry)).thenReturn(false)
 
-        collectionListeners.forEach { it.onEntryUpdated(entry, true) }
+        collectionListeners.forEach { it.onEntryUpdated(entry, UpdateSource.App) }
 
         verify(rebuilder, times(1)).rebuildForRemoteInputReply(entry)
     }
@@ -208,7 +209,7 @@
                 .build()
         `when`(remoteInputManager.shouldKeepForRemoteInputHistory(entry)).thenReturn(false)
         `when`(remoteInputManager.shouldKeepForSmartReplyHistory(entry)).thenReturn(true)
-        collectionListeners.forEach { it.onEntryUpdated(entry, true) }
+        collectionListeners.forEach { it.onEntryUpdated(entry, UpdateSource.App) }
 
         verify(rebuilder, times(1)).rebuildForCanceledSmartReplies(entry)
         verify(smartReplyController, times(1)).stopSending(entry)
@@ -226,7 +227,7 @@
                 .build()
         `when`(remoteInputManager.shouldKeepForRemoteInputHistory(entry)).thenReturn(false)
         `when`(remoteInputManager.shouldKeepForSmartReplyHistory(entry)).thenReturn(false)
-        collectionListeners.forEach { it.onEntryUpdated(entry, true) }
+        collectionListeners.forEach { it.onEntryUpdated(entry, UpdateSource.App) }
 
         verify(rebuilder, times(1)).rebuildForRemoteInputReply(entry)
     }
@@ -246,7 +247,7 @@
         `when`(remoteInputManager.shouldKeepForRemoteInputHistory(entry)).thenReturn(false)
         `when`(remoteInputManager.shouldKeepForSmartReplyHistory(entry)).thenReturn(false)
 
-        collectionListeners.forEach { it.onEntryUpdated(entry, true) }
+        collectionListeners.forEach { it.onEntryUpdated(entry, UpdateSource.App) }
 
         assertThat(entry.remoteInputs).isNull()
     }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinatorTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinatorTest.java
deleted file mode 100644
index 2aa1efa..0000000
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinatorTest.java
+++ /dev/null
@@ -1,1000 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.statusbar.notification.collection.coordinator;
-
-import static android.platform.test.flag.junit.FlagsParameterization.allCombinationsOf;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static junit.framework.Assert.assertFalse;
-
-
-import static org.junit.Assume.assumeFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import static kotlinx.coroutines.flow.StateFlowKt.MutableStateFlow;
-
-import android.platform.test.annotations.EnableFlags;
-import android.platform.test.flag.junit.FlagsParameterization;
-import android.testing.TestableLooper;
-
-import androidx.test.filters.SmallTest;
-
-import com.android.compose.animation.scene.ObservableTransitionState;
-import com.android.systemui.Flags;
-import com.android.systemui.SysuiTestCase;
-import com.android.systemui.communal.shared.model.CommunalScenes;
-import com.android.systemui.dump.DumpManager;
-import com.android.systemui.flags.BrokenWithSceneContainer;
-import com.android.systemui.flags.DisableSceneContainer;
-import com.android.systemui.flags.EnableSceneContainer;
-import com.android.systemui.flags.SceneContainerFlagParameterizationKt;
-import com.android.systemui.keyguard.WakefulnessLifecycle;
-import com.android.systemui.keyguard.shared.model.KeyguardState;
-import com.android.systemui.keyguard.shared.model.TransitionState;
-import com.android.systemui.keyguard.shared.model.TransitionStep;
-import com.android.systemui.kosmos.KosmosJavaAdapter;
-import com.android.systemui.plugins.statusbar.StatusBarStateController;
-import com.android.systemui.scene.shared.flag.SceneContainerFlag;
-import com.android.systemui.shade.data.repository.FakeShadeRepository;
-import com.android.systemui.shade.data.repository.ShadeAnimationRepository;
-import com.android.systemui.shade.data.repository.ShadeRepository;
-import com.android.systemui.shade.domain.interactor.ShadeAnimationInteractor;
-import com.android.systemui.shade.domain.interactor.ShadeAnimationInteractorLegacyImpl;
-import com.android.systemui.statusbar.notification.VisibilityLocationProvider;
-import com.android.systemui.statusbar.notification.collection.GroupEntry;
-import com.android.systemui.statusbar.notification.collection.GroupEntryBuilder;
-import com.android.systemui.statusbar.notification.collection.NotifPipeline;
-import com.android.systemui.statusbar.notification.collection.NotificationEntry;
-import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
-import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifStabilityManager;
-import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.Pluggable;
-import com.android.systemui.statusbar.notification.collection.provider.VisualStabilityProvider;
-import com.android.systemui.statusbar.notification.domain.interactor.SeenNotificationsInteractor;
-import com.android.systemui.statusbar.notification.headsup.HeadsUpManager;
-import com.android.systemui.statusbar.policy.KeyguardStateController;
-import com.android.systemui.util.concurrency.FakeExecutor;
-import com.android.systemui.util.kotlin.JavaAdapter;
-import com.android.systemui.util.time.FakeSystemClock;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Captor;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.mockito.verification.VerificationMode;
-
-import java.util.List;
-import java.util.Set;
-
-import kotlinx.coroutines.flow.MutableStateFlow;
-import kotlinx.coroutines.test.TestScope;
-
-import platform.test.runner.parameterized.ParameterizedAndroidJunit4;
-import platform.test.runner.parameterized.Parameters;
-
-@SmallTest
-@RunWith(ParameterizedAndroidJunit4.class)
-@TestableLooper.RunWithLooper
-public class VisualStabilityCoordinatorTest extends SysuiTestCase {
-
-    @Parameters(name = "{0}")
-    public static List<FlagsParameterization> getParams() {
-        return SceneContainerFlagParameterizationKt
-                .andSceneContainer(allCombinationsOf(Flags.FLAG_STABILIZE_HEADS_UP_GROUP_V2));
-    }
-
-    private VisualStabilityCoordinator mCoordinator;
-
-    @Mock private DumpManager mDumpManager;
-    @Mock private NotifPipeline mNotifPipeline;
-    @Mock private WakefulnessLifecycle mWakefulnessLifecycle;
-    @Mock private StatusBarStateController mStatusBarStateController;
-    @Mock private Pluggable.PluggableListener<NotifStabilityManager> mInvalidateListener;
-    @Mock private SeenNotificationsInteractor mSeenNotificationsInteractor;
-    @Mock private HeadsUpManager mHeadsUpManager;
-    @Mock private VisibilityLocationProvider mVisibilityLocationProvider;
-    @Mock private VisualStabilityProvider mVisualStabilityProvider;
-    @Mock private VisualStabilityCoordinatorLogger mLogger;
-    @Mock private KeyguardStateController mKeyguardStateController;
-
-    @Captor private ArgumentCaptor<WakefulnessLifecycle.Observer> mWakefulnessObserverCaptor;
-    @Captor private ArgumentCaptor<StatusBarStateController.StateListener> mSBStateListenerCaptor;
-    @Captor private ArgumentCaptor<NotifStabilityManager> mNotifStabilityManagerCaptor;
-
-    private final KosmosJavaAdapter mKosmos = new KosmosJavaAdapter(this);
-    private FakeSystemClock mFakeSystemClock = new FakeSystemClock();
-    private FakeExecutor mFakeBackgroundExecutor = new FakeExecutor(mFakeSystemClock);
-    private FakeExecutor mFakeMainExecutor = new FakeExecutor(mFakeSystemClock);
-    private final TestScope mTestScope = mKosmos.getTestScope();
-    private final JavaAdapter mJavaAdapter = new JavaAdapter(mTestScope.getBackgroundScope());
-
-    private ShadeAnimationInteractor mShadeAnimationInteractor;
-    private ShadeRepository mShadeRepository;
-    private WakefulnessLifecycle.Observer mWakefulnessObserver;
-    private StatusBarStateController.StateListener mStatusBarStateListener;
-    private NotifStabilityManager mNotifStabilityManager;
-    private NotificationEntry mEntry;
-    private GroupEntry mGroupEntry;
-
-    public VisualStabilityCoordinatorTest(FlagsParameterization flags) {
-        super();
-        mSetFlagsRule.setFlagsParameterization(flags);
-    }
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mShadeRepository = new FakeShadeRepository();
-        mShadeAnimationInteractor = new ShadeAnimationInteractorLegacyImpl(
-                new ShadeAnimationRepository(), mShadeRepository);
-        mCoordinator = new VisualStabilityCoordinator(
-                mFakeBackgroundExecutor,
-                mFakeMainExecutor,
-                mDumpManager,
-                mHeadsUpManager,
-                mShadeAnimationInteractor,
-                mJavaAdapter,
-                mSeenNotificationsInteractor,
-                mStatusBarStateController,
-                mVisibilityLocationProvider,
-                mVisualStabilityProvider,
-                mWakefulnessLifecycle,
-                mKosmos.getCommunalSceneInteractor(),
-                mKosmos.getShadeInteractor(),
-                mKosmos.getKeyguardTransitionInteractor(),
-                mKeyguardStateController,
-                mLogger);
-        mCoordinator.attach(mNotifPipeline);
-        mTestScope.getTestScheduler().runCurrent();
-
-        // capture arguments:
-        verify(mWakefulnessLifecycle).addObserver(mWakefulnessObserverCaptor.capture());
-        mWakefulnessObserver = mWakefulnessObserverCaptor.getValue();
-
-        verify(mStatusBarStateController).addCallback(mSBStateListenerCaptor.capture());
-        mStatusBarStateListener = mSBStateListenerCaptor.getValue();
-
-        verify(mNotifPipeline).setVisualStabilityManager(mNotifStabilityManagerCaptor.capture());
-        mNotifStabilityManager = mNotifStabilityManagerCaptor.getValue();
-        mNotifStabilityManager.setInvalidationListener(mInvalidateListener);
-
-        mEntry = new NotificationEntryBuilder()
-                .setPkg("testPkg1")
-                .build();
-
-        mGroupEntry = new GroupEntryBuilder()
-                .setSummary(mEntry)
-                .build();
-
-        when(mHeadsUpManager.isHeadsUpEntry(mEntry.getKey())).thenReturn(false);
-
-        // Whenever we invalidate, the pipeline runs again, so we invalidate the state
-        doAnswer(i -> {
-            mNotifStabilityManager.onBeginRun();
-            return null;
-        }).when(mInvalidateListener).onPluggableInvalidated(eq(mNotifStabilityManager), any());
-    }
-
-    @Test
-    public void testScreenOff_groupAndSectionChangesAllowed() {
-        // GIVEN screen is off, panel isn't expanded and device isn't pulsing
-        setFullyDozed(true);
-        setSleepy(true);
-        setPanelExpanded(false);
-        setPulsing(false);
-
-        // THEN group changes are allowed
-        assertTrue(mNotifStabilityManager.isGroupChangeAllowed(mEntry));
-        assertTrue(mNotifStabilityManager.isGroupPruneAllowed(mGroupEntry));
-
-        // THEN section changes are allowed
-        assertTrue(mNotifStabilityManager.isSectionChangeAllowed(mEntry));
-    }
-
-    @Test
-    public void testScreenTurningOff_groupAndSectionChangesNotAllowed() {
-        // GIVEN the screen is turning off (sleepy but partially dozed)
-        setFullyDozed(false);
-        setSleepy(true);
-        setPanelExpanded(true);
-        setPulsing(false);
-
-        // THEN group changes are NOT allowed
-        assertFalse(mNotifStabilityManager.isGroupChangeAllowed(mEntry));
-        assertFalse(mNotifStabilityManager.isGroupPruneAllowed(mGroupEntry));
-
-        // THEN section changes are NOT allowed
-        assertFalse(mNotifStabilityManager.isSectionChangeAllowed(mEntry));
-    }
-
-    @Test
-    public void testScreenTurningOn_groupAndSectionChangesNotAllowed() {
-        // GIVEN the screen is turning on (still fully dozed, not sleepy)
-        setFullyDozed(true);
-        setSleepy(false);
-        setPanelExpanded(true);
-        setPulsing(false);
-
-        // THEN group changes are NOT allowed
-        assertFalse(mNotifStabilityManager.isGroupChangeAllowed(mEntry));
-        assertFalse(mNotifStabilityManager.isGroupPruneAllowed(mGroupEntry));
-
-        // THEN section changes are NOT allowed
-        assertFalse(mNotifStabilityManager.isSectionChangeAllowed(mEntry));
-    }
-
-    @Test
-    public void testPanelNotExpanded_groupAndSectionChangesAllowed() {
-        // GIVEN screen is on but the panel isn't expanded and device isn't pulsing
-        setFullyDozed(false);
-        setSleepy(false);
-        setPanelExpanded(false);
-        setPulsing(false);
-
-        // THEN group changes are allowed
-        assertTrue(mNotifStabilityManager.isGroupChangeAllowed(mEntry));
-        assertTrue(mNotifStabilityManager.isGroupPruneAllowed(mGroupEntry));
-
-        // THEN section changes are allowed
-        assertTrue(mNotifStabilityManager.isSectionChangeAllowed(mEntry));
-    }
-
-    @Test
-    public void testPanelExpanded_groupAndSectionChangesNotAllowed() {
-        // GIVEN the panel true expanded and device isn't pulsing
-        setFullyDozed(false);
-        setSleepy(false);
-        setPanelExpanded(true);
-        setPulsing(false);
-
-        // THEN group changes are NOT allowed
-        assertFalse(mNotifStabilityManager.isGroupChangeAllowed(mEntry));
-        assertFalse(mNotifStabilityManager.isGroupPruneAllowed(mGroupEntry));
-
-        // THEN section changes are NOT allowed
-        assertFalse(mNotifStabilityManager.isSectionChangeAllowed(mEntry));
-    }
-
-    @Test
-    @BrokenWithSceneContainer(bugId = 377868472) // mReorderingAllowed is broken with SceneContainer
-    public void testLockscreenPartlyShowing_groupAndSectionChangesNotAllowed() {
-        // GIVEN the panel true expanded and device isn't pulsing
-        setFullyDozed(false);
-        setSleepy(false);
-        setLockscreenShowing(0.5f);
-        setPulsing(false);
-
-        // THEN group changes are NOT allowed
-        assertFalse(mNotifStabilityManager.isGroupChangeAllowed(mEntry));
-        assertFalse(mNotifStabilityManager.isGroupPruneAllowed(mGroupEntry));
-
-        // THEN section changes are NOT allowed
-        assertFalse(mNotifStabilityManager.isSectionChangeAllowed(mEntry));
-    }
-
-    @Test
-    @BrokenWithSceneContainer(bugId = 377868472) // mReorderingAllowed is broken with SceneContainer
-    public void testLockscreenFullyShowing_groupAndSectionChangesNotAllowed() {
-        // GIVEN the panel true expanded and device isn't pulsing
-        setFullyDozed(false);
-        setSleepy(false);
-        setLockscreenShowing(1.0f);
-        setPulsing(false);
-
-        // THEN group changes are NOT allowed
-        assertFalse(mNotifStabilityManager.isGroupChangeAllowed(mEntry));
-        assertFalse(mNotifStabilityManager.isGroupPruneAllowed(mGroupEntry));
-
-        // THEN section changes are NOT allowed
-        assertFalse(mNotifStabilityManager.isSectionChangeAllowed(mEntry));
-    }
-
-    @Test
-    public void testPulsing_screenOff_groupAndSectionChangesNotAllowed() {
-        // GIVEN the device is pulsing and screen is off
-        setFullyDozed(true);
-        setSleepy(true);
-        setPulsing(true);
-
-        // THEN group changes are NOT allowed
-        assertFalse(mNotifStabilityManager.isGroupChangeAllowed(mEntry));
-        assertFalse(mNotifStabilityManager.isGroupPruneAllowed(mGroupEntry));
-
-        // THEN section changes are NOT allowed
-        assertFalse(mNotifStabilityManager.isSectionChangeAllowed(mEntry));
-    }
-
-    @Test
-    public void testPulsing_panelNotExpanded_groupAndSectionChangesNotAllowed() {
-        // GIVEN the device is pulsing and screen is off with the panel not expanded
-        setFullyDozed(true);
-        setSleepy(true);
-        setPanelExpanded(false);
-        setPulsing(true);
-
-        // THEN group changes are NOT allowed
-        assertFalse(mNotifStabilityManager.isGroupChangeAllowed(mEntry));
-        assertFalse(mNotifStabilityManager.isGroupPruneAllowed(mGroupEntry));
-
-        // THEN section changes are NOT allowed
-        assertFalse(mNotifStabilityManager.isSectionChangeAllowed(mEntry));
-    }
-
-    @Test
-    public void testOverrideReorderingSuppression_onlySectionChangesAllowed() {
-        // GIVEN section changes typically wouldn't be allowed because the panel is expanded and
-        // we're not pulsing
-        setFullyDozed(false);
-        setSleepy(false);
-        setPanelExpanded(true);
-        setPulsing(true);
-
-        // WHEN we temporarily allow section changes for this notification entry
-        mCoordinator.temporarilyAllowSectionChanges(mEntry, mFakeSystemClock.currentTimeMillis());
-
-        // THEN group changes aren't allowed
-        assertFalse(mNotifStabilityManager.isGroupChangeAllowed(mEntry));
-        assertFalse(mNotifStabilityManager.isGroupPruneAllowed(mGroupEntry));
-
-        // THEN section changes are allowed for this notification but not other notifications
-        assertTrue(mNotifStabilityManager.isSectionChangeAllowed(mEntry));
-        assertFalse(mNotifStabilityManager.isSectionChangeAllowed(
-                new NotificationEntryBuilder()
-                        .setPkg("testPkg2")
-                        .build()));
-    }
-
-    @Test
-    public void testTemporarilyAllowSectionChanges_callsInvalidate() {
-        // GIVEN section changes typically wouldn't be allowed because the panel is expanded
-        setFullyDozed(false);
-        setSleepy(false);
-        setPanelExpanded(true);
-        setPulsing(false);
-
-        // WHEN we temporarily allow section changes for this notification entry
-        mCoordinator.temporarilyAllowSectionChanges(mEntry, mFakeSystemClock.uptimeMillis());
-
-        // THEN the notification list is invalidated
-        verifyStabilityManagerWasInvalidated(times(1));
-    }
-
-    @Test
-    public void testTemporarilyAllowSectionChanges_noInvalidationCalled() {
-        // GIVEN section changes typically WOULD be allowed
-        setFullyDozed(true);
-        setSleepy(true);
-        setPanelExpanded(false);
-        setPulsing(false);
-
-        // WHEN we temporarily allow section changes for this notification entry
-        mCoordinator.temporarilyAllowSectionChanges(mEntry, mFakeSystemClock.currentTimeMillis());
-
-        // THEN invalidate is not called because this entry was never suppressed from reordering
-        verifyStabilityManagerWasInvalidated(never());
-    }
-
-    @Test
-    public void testTemporarilyAllowSectionChangesTimeout() {
-        // GIVEN section changes typically WOULD be allowed
-        setFullyDozed(true);
-        setSleepy(true);
-        setPanelExpanded(false);
-        setPulsing(false);
-        assertTrue(mNotifStabilityManager.isSectionChangeAllowed(mEntry));
-
-        // WHEN we temporarily allow section changes for this notification entry
-        mCoordinator.temporarilyAllowSectionChanges(mEntry, mFakeSystemClock.currentTimeMillis());
-
-        // THEN invalidate is not called because this entry was never suppressed from reordering;
-        // THEN section changes are allowed for this notification
-        verifyStabilityManagerWasInvalidated(never());
-        assertTrue(mNotifStabilityManager.isSectionChangeAllowed(mEntry));
-
-        // WHEN we're pulsing (now disallowing reordering)
-        setPulsing(true);
-
-        // THEN we're still allowed to reorder this section because it's still in the list of
-        // notifications to allow section changes
-        assertTrue(mNotifStabilityManager.isSectionChangeAllowed(mEntry));
-
-        // WHEN the timeout for the temporarily allow section reordering runnable is finsihed
-        mFakeBackgroundExecutor.advanceClockToNext();
-        mFakeBackgroundExecutor.runNextReady();
-
-        // THEN section changes aren't allowed anymore
-        assertFalse(mNotifStabilityManager.isSectionChangeAllowed(mEntry));
-    }
-
-    @Test
-    public void testTemporarilyAllowSectionChanges_isPulsingChangeBeforeTimeout() {
-        // GIVEN section changes typically wouldn't be allowed because the device is pulsing
-        setFullyDozed(true);
-        setSleepy(true);
-        setPanelExpanded(false);
-        setPulsing(true);
-
-        // WHEN we temporarily allow section changes for this notification entry
-        mCoordinator.temporarilyAllowSectionChanges(mEntry, mFakeSystemClock.currentTimeMillis());
-        // can now reorder, so invalidates
-        verifyStabilityManagerWasInvalidated(times(1));
-
-        // WHEN reordering is now allowed because device isn't pulsing anymore
-        setPulsing(false);
-
-        // THEN invalidate isn't called a second time since reordering was already allowed
-        verifyStabilityManagerWasInvalidated(times(1));
-    }
-
-    @Test
-    public void testMovingVisibleHeadsUpNotAllowed() {
-        // GIVEN stability enforcing conditions
-        setPanelExpanded(true);
-        setSleepy(false);
-
-        // WHEN a notification is alerting and visible
-        when(mHeadsUpManager.isHeadsUpEntry(mEntry.getKey())).thenReturn(true);
-        when(mVisibilityLocationProvider.isInVisibleLocation(any(NotificationEntry.class)))
-                .thenReturn(true);
-
-        // VERIFY the notification cannot be reordered
-        assertThat(mNotifStabilityManager.isEntryReorderingAllowed(mEntry)).isFalse();
-        assertThat(mNotifStabilityManager.isSectionChangeAllowed(mEntry)).isFalse();
-    }
-
-    @Test
-    public void testMovingInvisibleHeadsUpAllowed() {
-        // GIVEN stability enforcing conditions
-        setPanelExpanded(true);
-        setSleepy(false);
-
-        // WHEN a notification is alerting but not visible
-        when(mHeadsUpManager.isHeadsUpEntry(mEntry.getKey())).thenReturn(true);
-        when(mVisibilityLocationProvider.isInVisibleLocation(any(NotificationEntry.class)))
-                .thenReturn(false);
-
-        // VERIFY the notification can be reordered
-        assertThat(mNotifStabilityManager.isEntryReorderingAllowed(mEntry)).isTrue();
-        assertThat(mNotifStabilityManager.isSectionChangeAllowed(mEntry)).isTrue();
-    }
-
-    @Test
-    public void testNeverSuppressedChanges_noInvalidationCalled() {
-        // GIVEN no notifications are currently being suppressed from grouping nor being sorted
-
-        // WHEN device isn't pulsing anymore
-        setPulsing(false);
-
-        // WHEN fully dozed
-        setFullyDozed(true);
-
-        // WHEN sleepy
-        setSleepy(true);
-
-        // WHEN panel isn't expanded
-        setPanelExpanded(false);
-
-        // THEN we never see any calls to invalidate since there weren't any notifications that
-        // were being suppressed from grouping or section changes
-        verifyStabilityManagerWasInvalidated(never());
-    }
-
-    @Test
-    public void testNotSuppressingGroupChangesAnymore_invalidationCalled() {
-        // GIVEN visual stability is being maintained b/c panel is expanded
-        setPulsing(false);
-        setFullyDozed(false);
-        setSleepy(false);
-        setPanelExpanded(true);
-
-        assertFalse(mNotifStabilityManager.isGroupChangeAllowed(mEntry));
-        assertFalse(mNotifStabilityManager.isGroupPruneAllowed(mGroupEntry));
-
-        // WHEN the panel isn't expanded anymore
-        setPanelExpanded(false);
-
-        //  invalidate is called because we were previously suppressing a group change
-        verifyStabilityManagerWasInvalidated(times(1));
-    }
-
-    @Test
-    public void testNotLaunchingActivityAnymore_invalidationCalled() {
-        // GIVEN visual stability is being maintained b/c animation is playing
-        setActivityLaunching(true);
-
-        assertFalse(mNotifStabilityManager.isPipelineRunAllowed());
-
-        // WHEN the animation has stopped playing
-        setActivityLaunching(false);
-
-        // invalidate is called, b/c we were previously suppressing the pipeline from running
-        verifyStabilityManagerWasInvalidated(times(1));
-    }
-
-    @Test
-    public void testNotCollapsingPanelAnymore_invalidationCalled() {
-        // GIVEN visual stability is being maintained b/c animation is playing
-        setPanelCollapsing(true);
-
-        assertFalse(mNotifStabilityManager.isPipelineRunAllowed());
-
-        // WHEN the animation has stopped playing
-        setPanelCollapsing(false);
-
-        // invalidate is called, b/c we were previously suppressing the pipeline from running
-        verifyStabilityManagerWasInvalidated(times(1));
-    }
-
-    @Test
-    @EnableFlags(Flags.FLAG_CHECK_LOCKSCREEN_GONE_TRANSITION)
-    @DisableSceneContainer
-    public void testNotLockscreenInGoneTransitionLegacy_invalidationCalled() {
-        // GIVEN visual stability is being maintained b/c animation is playing
-        doReturn(true).when(mKeyguardStateController).isKeyguardFadingAway();
-        mCoordinator.mKeyguardFadeAwayAnimationCallback.onKeyguardFadingAwayChanged();
-
-        assertFalse(mNotifStabilityManager.isPipelineRunAllowed());
-
-        // WHEN the animation has stopped playing
-        doReturn(false).when(mKeyguardStateController).isKeyguardFadingAway();
-        mCoordinator.mKeyguardFadeAwayAnimationCallback.onKeyguardFadingAwayChanged();
-
-        // invalidate is called, b/c we were previously suppressing the pipeline from running
-        verifyStabilityManagerWasInvalidated(times(1));
-    }
-
-    @Test
-    @EnableFlags(Flags.FLAG_CHECK_LOCKSCREEN_GONE_TRANSITION)
-    @EnableSceneContainer
-    @BrokenWithSceneContainer(bugId = 377868472) // mReorderingAllowed is broken with SceneContainer
-    public void testNotLockscreenInGoneTransition_invalidationCalled() {
-        // GIVEN visual stability is being maintained b/c animation is playing
-        mKosmos.getKeyguardTransitionRepository().sendTransitionStepJava(
-                mTestScope, new TransitionStep(
-                        KeyguardState.LOCKSCREEN,
-                        KeyguardState.GONE,
-                        1f,
-                        TransitionState.RUNNING),  /* validateStep = */ false);
-        mTestScope.getTestScheduler().runCurrent();
-        assertFalse(mNotifStabilityManager.isPipelineRunAllowed());
-
-        // WHEN the animation has stopped playing
-        mKosmos.getKeyguardTransitionRepository().sendTransitionStepJava(
-                mTestScope, new TransitionStep(
-                        KeyguardState.LOCKSCREEN,
-                        KeyguardState.GONE,
-                        1f,
-                        TransitionState.FINISHED),  /* validateStep = */ false);
-        mTestScope.getTestScheduler().runCurrent();
-
-        // invalidate is called, b/c we were previously suppressing the pipeline from running
-        verifyStabilityManagerWasInvalidated(times(1));
-    }
-
-    @Test
-    public void testNeverSuppressPipelineRunFromPanelCollapse_noInvalidationCalled() {
-        // GIVEN animation is playing
-        setPanelCollapsing(true);
-
-        // WHEN the animation has stopped playing
-        setPanelCollapsing(false);
-
-        // THEN invalidate is not called, b/c nothing has been suppressed
-        verifyStabilityManagerWasInvalidated(never());
-    }
-
-    @Test
-    public void testNeverSuppressPipelineRunFromLaunchActivity_noInvalidationCalled() {
-        // GIVEN animation is playing
-        setActivityLaunching(true);
-
-        // WHEN the animation has stopped playing
-        setActivityLaunching(false);
-
-        // THEN invalidate is not called, b/c nothing has been suppressed
-        verifyStabilityManagerWasInvalidated(never());
-    }
-
-    @Test
-    public void testNotSuppressingEntryReorderingAnymoreWillInvalidate() {
-        // GIVEN visual stability is being maintained b/c panel is expanded
-        setPulsing(false);
-        setFullyDozed(false);
-        setSleepy(false);
-        setPanelExpanded(true);
-        setCommunalShowing(false);
-
-        assertFalse(mNotifStabilityManager.isEntryReorderingAllowed(mEntry));
-        // The pipeline still has to report back that entry reordering was suppressed
-        mNotifStabilityManager.onEntryReorderSuppressed();
-
-        // WHEN the panel isn't expanded anymore
-        setPanelExpanded(false);
-
-        //  invalidate is called because we were previously suppressing an entry reorder
-        verifyStabilityManagerWasInvalidated(times(1));
-    }
-
-    @Test
-    @BrokenWithSceneContainer(bugId = 377868472) // mReorderingAllowed is broken with SceneContainer
-    public void testCommunalShowingWillNotSuppressReordering() {
-        // GIVEN panel is expanded, communal is showing, and QS is collapsed
-        setPulsing(false);
-        setFullyDozed(false);
-        setSleepy(false);
-        setPanelExpanded(true);
-        setQsExpanded(false);
-        setCommunalShowing(true);
-
-        // Reordering should be allowed
-        assertTrue(mNotifStabilityManager.isEntryReorderingAllowed(mEntry));
-    }
-
-    @Test
-    public void testQsExpandedOverCommunalWillSuppressReordering() {
-        // GIVEN panel is expanded and communal is showing, but QS is expanded
-        setPulsing(false);
-        setFullyDozed(false);
-        setSleepy(false);
-        setPanelExpanded(true);
-        setQsExpanded(true);
-        setCommunalShowing(true);
-
-        // Reordering should not be allowed
-        assertFalse(mNotifStabilityManager.isEntryReorderingAllowed(mEntry));
-    }
-
-    @Test
-    public void testQueryingEntryReorderingButNotReportingReorderSuppressedDoesNotInvalidate() {
-        // GIVEN visual stability is being maintained b/c panel is expanded
-        setPulsing(false);
-        setFullyDozed(false);
-        setSleepy(false);
-        setPanelExpanded(true);
-
-        assertFalse(mNotifStabilityManager.isEntryReorderingAllowed(mEntry));
-
-        // WHEN the panel isn't expanded anymore
-        setPanelExpanded(false);
-
-        // invalidate is not called because we were not told that an entry reorder was suppressed
-        verifyStabilityManagerWasInvalidated(never());
-    }
-
-    @Test
-    public void testHeadsUp_allowedToChangeGroupAndSection() {
-        // GIVEN group + section changes disallowed
-        setFullyDozed(false);
-        setSleepy(false);
-        setPanelExpanded(true);
-        setPulsing(true);
-        assertFalse(mNotifStabilityManager.isGroupChangeAllowed(mEntry));
-        assertFalse(mNotifStabilityManager.isGroupPruneAllowed(mGroupEntry));
-        assertFalse(mNotifStabilityManager.isSectionChangeAllowed(mEntry));
-
-        // GIVEN mEntry is a HUN
-        when(mHeadsUpManager.isHeadsUpEntry(mEntry.getKey())).thenReturn(true);
-
-        // THEN group + section changes are allowed
-        assertTrue(mNotifStabilityManager.isGroupChangeAllowed(mEntry));
-        assertTrue(mNotifStabilityManager.isSectionChangeAllowed(mEntry));
-
-        // BUT pruning the group for which this is the summary would still NOT be allowed.
-        assertFalse(mNotifStabilityManager.isGroupPruneAllowed(mGroupEntry));
-    }
-
-    @Test
-    public void everyChangeAllowed_onReorderingEnabled_legacy() {
-        assumeFalse(StabilizeHeadsUpGroup.isEnabled());
-        // GIVEN - reordering is allowed.
-        setPulsing(false);
-        setPanelExpanded(false);
-
-        // THEN
-        assertThat(mNotifStabilityManager.isEveryChangeAllowed()).isTrue();
-        assertThat(mNotifStabilityManager.isGroupChangeAllowed(any())).isTrue();
-        assertThat(mNotifStabilityManager.isGroupPruneAllowed(any())).isTrue();
-        assertThat(mNotifStabilityManager.isSectionChangeAllowed(any())).isTrue();
-        assertThat(mNotifStabilityManager.isEntryReorderingAllowed(any())).isTrue();
-    }
-
-    @Test
-    public void everyChangeAllowed_noActiveHeadsUpGroup_onReorderingEnabled() {
-        assumeTrue(StabilizeHeadsUpGroup.isEnabled());
-        // GIVEN - reordering is allowed.
-        setPulsing(false);
-        setPanelExpanded(false);
-
-        // GIVEN - empty heads-up-group keys
-        mCoordinator.setHeadsUpGroupKeys(Set.of());
-
-        // THEN
-        assertThat(mNotifStabilityManager.isEveryChangeAllowed()).isTrue();
-        assertThat(mNotifStabilityManager.isGroupChangeAllowed(any())).isTrue();
-        assertThat(mNotifStabilityManager.isGroupPruneAllowed(any())).isTrue();
-        assertThat(mNotifStabilityManager.isSectionChangeAllowed(any())).isTrue();
-        assertThat(mNotifStabilityManager.isEntryReorderingAllowed(any())).isTrue();
-    }
-
-    @Test
-    public void everyChangeDisallowed_activeHeadsUpGroup_onReorderingEnabled() {
-        assumeTrue(StabilizeHeadsUpGroup.isEnabled());
-        // GIVEN - reordering is allowed.
-        setPulsing(false);
-        setPanelExpanded(false);
-
-        // GIVEN - there is a group heads-up.
-        mCoordinator.setHeadsUpGroupKeys(Set.of("heads_up_group_key"));
-
-        // THEN
-        assertThat(mNotifStabilityManager.isEveryChangeAllowed()).isFalse();
-    }
-
-    @Test
-    public void nonHeadsUpGroup_changesAllowed_onReorderingEnabled() {
-        assumeTrue(StabilizeHeadsUpGroup.isEnabled());
-        // GIVEN - reordering is allowed.
-        setPulsing(false);
-        setPanelExpanded(false);
-
-        //  GIVEN - there is a group heads-up.
-        String headsUpGroupKey = "heads_up_group_key";
-        mCoordinator.setHeadsUpGroupKeys(Set.of(headsUpGroupKey));
-        when(mHeadsUpManager.isHeadsUpEntry(headsUpGroupKey)).thenReturn(true);
-
-        // GIVEN - HUN Group Summary
-        final NotificationEntry nonHeadsUpGroupSummary = mock(NotificationEntry.class);
-        when(nonHeadsUpGroupSummary.getKey()).thenReturn("non_heads_up_group_key");
-        when(nonHeadsUpGroupSummary.isSummaryWithChildren()).thenReturn(true);
-        final GroupEntry nonHeadsUpGroupEntry = mock(GroupEntry.class);
-        when(nonHeadsUpGroupEntry.getSummary()).thenReturn(nonHeadsUpGroupSummary);
-        when(nonHeadsUpGroupEntry.getRepresentativeEntry()).thenReturn(nonHeadsUpGroupSummary);
-
-        // THEN
-        assertThat(mNotifStabilityManager.isGroupPruneAllowed(nonHeadsUpGroupEntry)).isTrue();
-        assertThat(mNotifStabilityManager.isEntryReorderingAllowed(nonHeadsUpGroupEntry)).isTrue();
-    }
-
-    @Test
-    public void headsUpGroup_changesDisallowed_onReorderingEnabled() {
-        assumeTrue(StabilizeHeadsUpGroup.isEnabled());
-        // GIVEN - reordering is allowed.
-        setPulsing(false);
-        setPanelExpanded(false);
-
-        //  GIVEN - there is a group heads-up.
-        final String headsUpGroupKey = "heads_up_group_key";
-        mCoordinator.setHeadsUpGroupKeys(Set.of(headsUpGroupKey));
-        when(mHeadsUpManager.isHeadsUpEntry(headsUpGroupKey)).thenReturn(true);
-
-        // GIVEN - HUN Group
-        final NotificationEntry headsUpGroupSummary = mock(NotificationEntry.class);
-        when(headsUpGroupSummary.rowIsChildInGroup()).thenReturn(false);
-        when(headsUpGroupSummary.getKey()).thenReturn(headsUpGroupKey);
-        when(headsUpGroupSummary.isSummaryWithChildren()).thenReturn(true);
-
-        final GroupEntry headsUpGroupEntry = mock(GroupEntry.class);
-        when(headsUpGroupEntry.getSummary()).thenReturn(headsUpGroupSummary);
-        when(headsUpGroupEntry.getRepresentativeEntry()).thenReturn(headsUpGroupSummary);
-
-        when(headsUpGroupSummary.getParent()).thenReturn(headsUpGroupEntry);
-
-        // GIVEN - HUN is in visible location
-        when(mVisibilityLocationProvider.isInVisibleLocation(headsUpGroupSummary)).thenReturn(true);
-
-        // THEN
-        assertThat(mNotifStabilityManager.isGroupPruneAllowed(headsUpGroupEntry)).isFalse();
-        assertThat(mNotifStabilityManager.isEntryReorderingAllowed(headsUpGroupEntry)).isFalse();
-    }
-
-    @Test
-    public void headsUpGroupSummaries_changesDisallowed_onReorderingEnabled() {
-        assumeTrue(StabilizeHeadsUpGroup.isEnabled());
-        // GIVEN - reordering is allowed.
-        setPulsing(false);
-        setPanelExpanded(false);
-
-        //  GIVEN - there is a group heads-up.
-        final String headsUpGroupKey = "heads_up_group_key";
-        mCoordinator.setHeadsUpGroupKeys(Set.of(headsUpGroupKey));
-        when(mHeadsUpManager.isHeadsUpEntry(headsUpGroupKey)).thenReturn(true);
-
-        // GIVEN - HUN Group
-        final NotificationEntry headsUpGroupSummary = mock(NotificationEntry.class);
-        when(headsUpGroupSummary.rowIsChildInGroup()).thenReturn(false);
-        when(headsUpGroupSummary.getKey()).thenReturn(headsUpGroupKey);
-        when(headsUpGroupSummary.isSummaryWithChildren()).thenReturn(true);
-
-        final GroupEntry headsUpGroupEntry = mock(GroupEntry.class);
-        when(headsUpGroupEntry.getSummary()).thenReturn(headsUpGroupSummary);
-        when(headsUpGroupEntry.getRepresentativeEntry()).thenReturn(headsUpGroupSummary);
-
-        when(headsUpGroupSummary.getParent()).thenReturn(headsUpGroupEntry);
-
-        // GIVEN - HUN is in visible location
-        when(mVisibilityLocationProvider.isInVisibleLocation(headsUpGroupSummary)).thenReturn(true);
-
-        // THEN
-        assertThat(mNotifStabilityManager.isGroupChangeAllowed(headsUpGroupSummary)).isFalse();
-        assertThat(mNotifStabilityManager.isEntryReorderingAllowed(headsUpGroupSummary)).isFalse();
-        assertThat(mNotifStabilityManager.isSectionChangeAllowed(headsUpGroupSummary)).isFalse();
-    }
-
-    @Test
-    public void notificationInNonHUNGroup_changesAllowed_onReorderingEnabled() {
-        assumeTrue(StabilizeHeadsUpGroup.isEnabled());
-        // GIVEN - reordering is allowed.
-        setPulsing(false);
-        setPanelExpanded(false);
-
-        //  GIVEN - there is a group heads-up.
-        String headsUpGroupKey = "heads_up_group_key";
-        mCoordinator.setHeadsUpGroupKeys(Set.of(headsUpGroupKey));
-        when(mHeadsUpManager.isHeadsUpEntry(headsUpGroupKey)).thenReturn(true);
-
-        // GIVEN - non HUN parent Group Summary
-        final NotificationEntry groupSummary = mock(NotificationEntry.class);
-        when(groupSummary.getKey()).thenReturn("non_heads_up_group_key");
-        when(groupSummary.isSummaryWithChildren()).thenReturn(true);
-
-        final GroupEntry nonHeadsUpGroupEntry = mock(GroupEntry.class);
-        when(nonHeadsUpGroupEntry.getSummary()).thenReturn(groupSummary);
-        when(nonHeadsUpGroupEntry.getRepresentativeEntry()).thenReturn(groupSummary);
-
-        // GIVEN - child entry in a non heads-up group.
-        final NotificationEntry childEntry = mock(NotificationEntry.class);
-        when(childEntry.rowIsChildInGroup()).thenReturn(true);
-        when(childEntry.getParent()).thenReturn(nonHeadsUpGroupEntry);
-        when(childEntry.getParent()).thenReturn(nonHeadsUpGroupEntry);
-
-        // THEN
-        assertThat(mNotifStabilityManager.isGroupChangeAllowed(childEntry)).isTrue();
-        assertThat(mNotifStabilityManager.isSectionChangeAllowed(childEntry)).isTrue();
-        assertThat(mNotifStabilityManager.isEntryReorderingAllowed(nonHeadsUpGroupEntry)).isTrue();
-    }
-
-    @Test
-    public void notificationInHUNGroup_changesDisallowed_reorderingEnabled() {
-        assumeTrue(StabilizeHeadsUpGroup.isEnabled());
-        // GIVEN - reordering is allowed.
-        setPulsing(false);
-        setPanelExpanded(false);
-
-        // GIVEN - there is a group heads-up.
-        final String headsUpGroupKey = "heads_up_group_key";
-        mCoordinator.setHeadsUpGroupKeys(Set.of(headsUpGroupKey));
-        when(mHeadsUpManager.isHeadsUpEntry(headsUpGroupKey)).thenReturn(true);
-
-        // GIVEN - HUN Group Summary
-        final NotificationEntry headsUpGroupSummary = mock(NotificationEntry.class);
-        when(headsUpGroupSummary.rowIsChildInGroup()).thenReturn(false);
-        when(headsUpGroupSummary.getKey()).thenReturn(headsUpGroupKey);
-        when(headsUpGroupSummary.isSummaryWithChildren()).thenReturn(true);
-
-        final GroupEntry nonHeadsUpGroupEntry = mock(GroupEntry.class);
-        when(nonHeadsUpGroupEntry.getSummary()).thenReturn(headsUpGroupSummary);
-        when(nonHeadsUpGroupEntry.getRepresentativeEntry()).thenReturn(headsUpGroupSummary);
-
-        // GIVEN - child entry in a non heads-up group.
-        final NotificationEntry childEntry = mock(NotificationEntry.class);
-        when(childEntry.rowIsChildInGroup()).thenReturn(true);
-        when(childEntry.getParent()).thenReturn(nonHeadsUpGroupEntry);
-
-        // GIVEN - HUN is in visible location
-        when(mVisibilityLocationProvider.isInVisibleLocation(headsUpGroupSummary)).thenReturn(true);
-
-        // THEN
-        assertThat(mNotifStabilityManager.isGroupChangeAllowed(childEntry)).isFalse();
-        assertThat(mNotifStabilityManager.isSectionChangeAllowed(childEntry)).isFalse();
-        assertThat(mNotifStabilityManager.isEntryReorderingAllowed(childEntry)).isFalse();
-    }
-
-    private void verifyStabilityManagerWasInvalidated(VerificationMode mode) {
-        verify(mInvalidateListener, mode).onPluggableInvalidated(eq(mNotifStabilityManager), any());
-    }
-
-    private void setActivityLaunching(boolean activityLaunching) {
-        mShadeAnimationInteractor.setIsLaunchingActivity(activityLaunching);
-        mTestScope.getTestScheduler().runCurrent();
-    }
-
-    private void setPanelCollapsing(boolean collapsing) {
-        mShadeRepository.setLegacyIsClosing(collapsing);
-        mTestScope.getTestScheduler().runCurrent();
-    }
-
-    private void setCommunalShowing(boolean isShowing) {
-        final MutableStateFlow<ObservableTransitionState> showingFlow =
-                MutableStateFlow(
-                        new ObservableTransitionState.Idle(
-                                isShowing ? CommunalScenes.Communal : CommunalScenes.Blank)
-                );
-        mKosmos.getCommunalSceneInteractor().setTransitionState(showingFlow);
-        mTestScope.getTestScheduler().runCurrent();
-    }
-
-    private void setQsExpanded(boolean isExpanded) {
-        mKosmos.getShadeRepository().setQsExpansion(isExpanded ? 1.0f : 0.0f);
-        mTestScope.getTestScheduler().runCurrent();
-    }
-
-    private void setPulsing(boolean pulsing) {
-        mStatusBarStateListener.onPulsingChanged(pulsing);
-    }
-
-    private void setFullyDozed(boolean fullyDozed) {
-        float dozeAmount = fullyDozed ? 1 : 0;
-        mStatusBarStateListener.onDozeAmountChanged(dozeAmount, dozeAmount);
-    }
-
-    private void setSleepy(boolean sleepy) {
-        if (sleepy) {
-            mWakefulnessObserver.onFinishedGoingToSleep();
-        } else {
-            mWakefulnessObserver.onStartedWakingUp();
-        }
-    }
-
-    private void setPanelExpanded(boolean expanded) {
-        setPanelExpandedAndLockscreenShowing(expanded, /* lockscreenShowing = */ 0.0f);
-    }
-
-    private void setLockscreenShowing(float lockscreenShowing) {
-        setPanelExpandedAndLockscreenShowing(/* panelExpanded = */ false, lockscreenShowing);
-    }
-
-    private void setPanelExpandedAndLockscreenShowing(boolean panelExpanded,
-            float lockscreenShowing) {
-        if (SceneContainerFlag.isEnabled()) {
-            mStatusBarStateListener.onExpandedChanged(panelExpanded);
-            mKosmos.getKeyguardTransitionRepository().sendTransitionStepJava(
-                    mTestScope,
-                    makeLockscreenTransitionStep(lockscreenShowing),
-                    /* validateStep = */ false);
-        } else {
-            mStatusBarStateListener.onExpandedChanged(panelExpanded || lockscreenShowing > 0.0f);
-        }
-    }
-
-    private TransitionStep makeLockscreenTransitionStep(float value) {
-        if (value <= 0.0f) {
-            return new TransitionStep(KeyguardState.GONE);
-        } else if (value >= 1.0f) {
-            return new TransitionStep(KeyguardState.LOCKSCREEN);
-        } else {
-            return new TransitionStep(
-                    KeyguardState.GONE,
-                    KeyguardState.LOCKSCREEN,
-                    value,
-                    TransitionState.RUNNING);
-        }
-    }
-}
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinatorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinatorTest.kt
new file mode 100644
index 0000000..ef0a416
--- /dev/null
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinatorTest.kt
@@ -0,0 +1,1007 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.systemui.statusbar.notification.collection.coordinator
+
+import android.platform.test.annotations.EnableFlags
+import android.platform.test.flag.junit.FlagsParameterization
+import android.testing.TestableLooper.RunWithLooper
+import androidx.test.filters.SmallTest
+import com.android.compose.animation.scene.ObservableTransitionState
+import com.android.systemui.Flags
+import com.android.systemui.SysuiTestCase
+import com.android.systemui.communal.domain.interactor.communalSceneInteractor
+import com.android.systemui.communal.shared.model.CommunalScenes
+import com.android.systemui.concurrency.fakeExecutor
+import com.android.systemui.flags.BrokenWithSceneContainer
+import com.android.systemui.flags.DisableSceneContainer
+import com.android.systemui.flags.EnableSceneContainer
+import com.android.systemui.flags.andSceneContainer
+import com.android.systemui.keyguard.WakefulnessLifecycle
+import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository
+import com.android.systemui.keyguard.shared.model.KeyguardState
+import com.android.systemui.keyguard.shared.model.TransitionState
+import com.android.systemui.keyguard.shared.model.TransitionStep
+import com.android.systemui.keyguard.wakefulnessLifecycle
+import com.android.systemui.kosmos.testCase
+import com.android.systemui.kosmos.testScope
+import com.android.systemui.plugins.statusbar.StatusBarStateController
+import com.android.systemui.plugins.statusbar.statusBarStateController
+import com.android.systemui.scene.shared.flag.SceneContainerFlag
+import com.android.systemui.shade.data.repository.ShadeAnimationRepository
+import com.android.systemui.shade.data.repository.fakeShadeRepository
+import com.android.systemui.shade.data.repository.shadeRepository
+import com.android.systemui.shade.domain.interactor.ShadeAnimationInteractorLegacyImpl
+import com.android.systemui.shade.domain.interactor.shadeAnimationInteractor
+import com.android.systemui.statusbar.notification.VisibilityLocationProvider
+import com.android.systemui.statusbar.notification.collection.GroupEntry
+import com.android.systemui.statusbar.notification.collection.GroupEntryBuilder
+import com.android.systemui.statusbar.notification.collection.NotificationEntry
+import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder
+import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifStabilityManager
+import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.Pluggable.PluggableListener
+import com.android.systemui.statusbar.notification.collection.notifPipeline
+import com.android.systemui.statusbar.notification.data.repository.FakeHeadsUpRowRepository
+import com.android.systemui.statusbar.notification.stack.data.repository.FakeHeadsUpNotificationRepository
+import com.android.systemui.statusbar.notification.stack.data.repository.headsUpNotificationRepository
+import com.android.systemui.statusbar.notification.visibilityLocationProvider
+import com.android.systemui.statusbar.policy.KeyguardStateController
+import com.android.systemui.statusbar.policy.keyguardStateController
+import com.android.systemui.testKosmos
+import com.android.systemui.util.mockito.withArgCaptor
+import com.android.systemui.util.time.fakeSystemClock
+import com.google.common.truth.Truth.assertThat
+import kotlin.test.Test
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.test.runTest
+import org.junit.Assume.assumeFalse
+import org.junit.Assume.assumeTrue
+import org.junit.Before
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doAnswer
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.never
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
+import org.mockito.verification.VerificationMode
+import platform.test.runner.parameterized.ParameterizedAndroidJunit4
+import platform.test.runner.parameterized.Parameters
+
+@SmallTest
+@RunWith(ParameterizedAndroidJunit4::class)
+@RunWithLooper
+class VisualStabilityCoordinatorTest(flags: FlagsParameterization) : SysuiTestCase() {
+    private val kosmos = testKosmos().apply { testCase = this@VisualStabilityCoordinatorTest }
+
+    private val invalidateListener: PluggableListener<NotifStabilityManager> = mock()
+    private val headsUpRepository = kosmos.headsUpNotificationRepository
+    private val visibilityLocationProvider: VisibilityLocationProvider =
+        kosmos.visibilityLocationProvider
+    private val keyguardStateController: KeyguardStateController = kosmos.keyguardStateController
+
+    private val fakeSystemClock = kosmos.fakeSystemClock
+    private val fakeBackgroundExecutor = kosmos.fakeExecutor
+    private val testScope = kosmos.testScope
+
+    private val shadeRepository = kosmos.fakeShadeRepository
+    private lateinit var wakefulnessObserver: WakefulnessLifecycle.Observer
+    private lateinit var statusBarStateListener: StatusBarStateController.StateListener
+    private lateinit var notifStabilityManager: NotifStabilityManager
+    private lateinit var entry: NotificationEntry
+    private lateinit var groupEntry: GroupEntry
+
+    private val underTest: VisualStabilityCoordinator by lazy { kosmos.visualStabilityCoordinator }
+
+    companion object {
+        @JvmStatic
+        @Parameters(name = "{0}")
+        fun getParams(): List<FlagsParameterization> {
+            return FlagsParameterization.allCombinationsOf(Flags.FLAG_STABILIZE_HEADS_UP_GROUP_V2)
+                .andSceneContainer()
+        }
+    }
+
+    init {
+        mSetFlagsRule.setFlagsParameterization(flags)
+    }
+
+    @Before
+    fun setUp() {
+        configureKosmos()
+
+        underTest.attach(kosmos.notifPipeline)
+        testScope.testScheduler.runCurrent()
+
+        // capture arguments:
+        wakefulnessObserver = withArgCaptor {
+            verify(kosmos.wakefulnessLifecycle).addObserver(capture())
+        }
+        statusBarStateListener = withArgCaptor {
+            verify(kosmos.statusBarStateController).addCallback(capture())
+        }
+        notifStabilityManager = withArgCaptor {
+            verify(kosmos.notifPipeline).setVisualStabilityManager(capture())
+        }
+        notifStabilityManager.setInvalidationListener(invalidateListener)
+
+        entry = NotificationEntryBuilder().setPkg("testPkg1").build()
+
+        groupEntry = GroupEntryBuilder().setSummary(entry).build()
+
+        // Whenever we invalidate, the pipeline runs again, so we invalidate the state
+        whenever(invalidateListener.onPluggableInvalidated(eq(notifStabilityManager), any()))
+            .doAnswer { _ ->
+                notifStabilityManager.onBeginRun()
+                null
+            }
+    }
+
+    private fun configureKosmos() {
+        kosmos.statusBarStateController = mock()
+        // TODO(377868472) only override this when SceneContainer is disabled
+        kosmos.shadeAnimationInteractor =
+            ShadeAnimationInteractorLegacyImpl(ShadeAnimationRepository(), shadeRepository)
+    }
+
+    @Test
+    fun testScreenOff_groupAndSectionChangesAllowed() =
+        testScope.runTest {
+            // GIVEN screen is off, panel isn't expanded and device isn't pulsing
+            setFullyDozed(true)
+            setSleepy(true)
+            setPanelExpanded(false)
+            setPulsing(false)
+
+            // THEN group changes are allowed
+            assertThat(notifStabilityManager.isGroupChangeAllowed(entry)).isTrue()
+            assertThat(notifStabilityManager.isGroupPruneAllowed(groupEntry)).isTrue()
+
+            // THEN section changes are allowed
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isTrue()
+        }
+
+    @Test
+    fun testScreenTurningOff_groupAndSectionChangesNotAllowed() =
+        testScope.runTest {
+            // GIVEN the screen is turning off (sleepy but partially dozed)
+            setFullyDozed(false)
+            setSleepy(true)
+            setPanelExpanded(true)
+            setPulsing(false)
+
+            // THEN group changes are NOT allowed
+            assertThat(notifStabilityManager.isGroupChangeAllowed(entry)).isFalse()
+            assertThat(notifStabilityManager.isGroupPruneAllowed(groupEntry)).isFalse()
+
+            // THEN section changes are NOT allowed
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isFalse()
+        }
+
+    @Test
+    fun testScreenTurningOn_groupAndSectionChangesNotAllowed() =
+        testScope.runTest {
+            // GIVEN the screen is turning on (still fully dozed, not sleepy)
+            setFullyDozed(true)
+            setSleepy(false)
+            setPanelExpanded(true)
+            setPulsing(false)
+
+            // THEN group changes are NOT allowed
+            assertThat(notifStabilityManager.isGroupChangeAllowed(entry)).isFalse()
+            assertThat(notifStabilityManager.isGroupPruneAllowed(groupEntry)).isFalse()
+
+            // THEN section changes are NOT allowed
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isFalse()
+        }
+
+    @Test
+    fun testPanelNotExpanded_groupAndSectionChangesAllowed() =
+        testScope.runTest {
+            // GIVEN screen is on but the panel isn't expanded and device isn't pulsing
+            setFullyDozed(false)
+            setSleepy(false)
+            setPanelExpanded(false)
+            setPulsing(false)
+
+            // THEN group changes are allowed
+            assertThat(notifStabilityManager.isGroupChangeAllowed(entry)).isTrue()
+            assertThat(notifStabilityManager.isGroupPruneAllowed(groupEntry)).isTrue()
+
+            // THEN section changes are allowed
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isTrue()
+        }
+
+    @Test
+    fun testPanelExpanded_groupAndSectionChangesNotAllowed() =
+        testScope.runTest {
+            // GIVEN the panel true expanded and device isn't pulsing
+            setFullyDozed(false)
+            setSleepy(false)
+            setPanelExpanded(true)
+            setPulsing(false)
+
+            // THEN group changes are NOT allowed
+            assertThat(notifStabilityManager.isGroupChangeAllowed(entry)).isFalse()
+            assertThat(notifStabilityManager.isGroupPruneAllowed(groupEntry)).isFalse()
+
+            // THEN section changes are NOT allowed
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isFalse()
+        }
+
+    @Test
+    @BrokenWithSceneContainer(bugId = 377868472) // mReorderingAllowed is broken with SceneContainer
+    fun testLockscreenPartlyShowing_groupAndSectionChangesNotAllowed() =
+        testScope.runTest {
+            // GIVEN the panel true expanded and device isn't pulsing
+            setFullyDozed(false)
+            setSleepy(false)
+            setLockscreenShowing(0.5f)
+            setPulsing(false)
+
+            // THEN group changes are NOT allowed
+            assertThat(notifStabilityManager.isGroupChangeAllowed(entry)).isFalse()
+            assertThat(notifStabilityManager.isGroupPruneAllowed(groupEntry)).isFalse()
+
+            // THEN section changes are NOT allowed
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isFalse()
+        }
+
+    @Test
+    @BrokenWithSceneContainer(bugId = 377868472) // mReorderingAllowed is broken with SceneContainer
+    fun testLockscreenFullyShowing_groupAndSectionChangesNotAllowed() =
+        testScope.runTest {
+            // GIVEN the panel true expanded and device isn't pulsing
+            setFullyDozed(false)
+            setSleepy(false)
+            setLockscreenShowing(1.0f)
+            setPulsing(false)
+
+            // THEN group changes are NOT allowed
+            assertThat(notifStabilityManager.isGroupChangeAllowed(entry)).isFalse()
+            assertThat(notifStabilityManager.isGroupPruneAllowed(groupEntry)).isFalse()
+
+            // THEN section changes are NOT allowed
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isFalse()
+        }
+
+    @Test
+    fun testPulsing_screenOff_groupAndSectionChangesNotAllowed() =
+        testScope.runTest {
+            // GIVEN the device is pulsing and screen is off
+            setFullyDozed(true)
+            setSleepy(true)
+            setPulsing(true)
+
+            // THEN group changes are NOT allowed
+            assertThat(notifStabilityManager.isGroupChangeAllowed(entry)).isFalse()
+            assertThat(notifStabilityManager.isGroupPruneAllowed(groupEntry)).isFalse()
+
+            // THEN section changes are NOT allowed
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isFalse()
+        }
+
+    @Test
+    fun testPulsing_panelNotExpanded_groupAndSectionChangesNotAllowed() =
+        testScope.runTest {
+            // GIVEN the device is pulsing and screen is off with the panel not expanded
+            setFullyDozed(true)
+            setSleepy(true)
+            setPanelExpanded(false)
+            setPulsing(true)
+
+            // THEN group changes are NOT allowed
+            assertThat(notifStabilityManager.isGroupChangeAllowed(entry)).isFalse()
+            assertThat(notifStabilityManager.isGroupPruneAllowed(groupEntry)).isFalse()
+
+            // THEN section changes are NOT allowed
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isFalse()
+        }
+
+    @Test
+    fun testOverrideReorderingSuppression_onlySectionChangesAllowed() =
+        testScope.runTest {
+            // GIVEN section changes typically wouldn't be allowed because the panel is expanded and
+            // we're not pulsing
+            setFullyDozed(false)
+            setSleepy(false)
+            setPanelExpanded(true)
+            setPulsing(true)
+
+            // WHEN we temporarily allow section changes for this notification entry
+            underTest.temporarilyAllowSectionChanges(entry, fakeSystemClock.currentTimeMillis())
+
+            // THEN group changes aren't allowed
+            assertThat(notifStabilityManager.isGroupChangeAllowed(entry)).isFalse()
+            assertThat(notifStabilityManager.isGroupPruneAllowed(groupEntry)).isFalse()
+
+            // THEN section changes are allowed for this notification but not other notifications
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isTrue()
+            assertThat(
+                    notifStabilityManager.isSectionChangeAllowed(
+                        NotificationEntryBuilder().setPkg("testPkg2").build()
+                    )
+                )
+                .isFalse()
+        }
+
+    @Test
+    fun testTemporarilyAllowSectionChanges_callsInvalidate() =
+        testScope.runTest {
+            // GIVEN section changes typically wouldn't be allowed because the panel is expanded
+            setFullyDozed(false)
+            setSleepy(false)
+            setPanelExpanded(true)
+            setPulsing(false)
+
+            // WHEN we temporarily allow section changes for this notification entry
+            underTest.temporarilyAllowSectionChanges(entry, fakeSystemClock.uptimeMillis())
+
+            // THEN the notification list is invalidated
+            verifyStabilityManagerWasInvalidated(times(1))
+        }
+
+    @Test
+    fun testTemporarilyAllowSectionChanges_noInvalidationCalled() =
+        testScope.runTest {
+            // GIVEN section changes typically WOULD be allowed
+            setFullyDozed(true)
+            setSleepy(true)
+            setPanelExpanded(false)
+            setPulsing(false)
+
+            // WHEN we temporarily allow section changes for this notification entry
+            underTest.temporarilyAllowSectionChanges(entry, fakeSystemClock.currentTimeMillis())
+
+            // THEN invalidate is not called because this entry was never suppressed from reordering
+            verifyStabilityManagerWasInvalidated(never())
+        }
+
+    @Test
+    fun testTemporarilyAllowSectionChangesTimeout() =
+        testScope.runTest {
+            // GIVEN section changes typically WOULD be allowed
+            setFullyDozed(true)
+            setSleepy(true)
+            setPanelExpanded(false)
+            setPulsing(false)
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isTrue()
+
+            // WHEN we temporarily allow section changes for this notification entry
+            underTest.temporarilyAllowSectionChanges(entry, fakeSystemClock.currentTimeMillis())
+
+            // THEN invalidate is not called because this entry was never suppressed from
+            // reordering;
+            // THEN section changes are allowed for this notification
+            verifyStabilityManagerWasInvalidated(never())
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isTrue()
+
+            // WHEN we're pulsing (now disallowing reordering)
+            setPulsing(true)
+
+            // THEN we're still allowed to reorder this section because it's still in the list of
+            // notifications to allow section changes
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isTrue()
+
+            // WHEN the timeout for the temporarily allow section reordering runnable is finsihed
+            fakeBackgroundExecutor.advanceClockToNext()
+            fakeBackgroundExecutor.runNextReady()
+
+            // THEN section changes aren't allowed anymore
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isFalse()
+        }
+
+    @Test
+    fun testTemporarilyAllowSectionChanges_isPulsingChangeBeforeTimeout() =
+        testScope.runTest {
+            // GIVEN section changes typically wouldn't be allowed because the device is pulsing
+            setFullyDozed(true)
+            setSleepy(true)
+            setPanelExpanded(false)
+            setPulsing(true)
+
+            // WHEN we temporarily allow section changes for this notification entry
+            underTest.temporarilyAllowSectionChanges(entry, fakeSystemClock.currentTimeMillis())
+            // can now reorder, so invalidates
+            verifyStabilityManagerWasInvalidated(times(1))
+
+            // WHEN reordering is now allowed because device isn't pulsing anymore
+            setPulsing(false)
+
+            // THEN invalidate isn't called a second time since reordering was already allowed
+            verifyStabilityManagerWasInvalidated(times(1))
+        }
+
+    @Test
+    fun testMovingVisibleHeadsUpNotAllowed() =
+        testScope.runTest {
+            // GIVEN stability enforcing conditions
+            setPanelExpanded(true)
+            setSleepy(false)
+
+            // WHEN a notification is alerting and visible
+            headsUpRepository.setHeadsUpKeys(entry.key)
+            whenever(visibilityLocationProvider.isInVisibleLocation(any())).thenReturn(true)
+
+            // THEN the notification cannot be reordered
+            assertThat(notifStabilityManager.isEntryReorderingAllowed(entry)).isFalse()
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isFalse()
+        }
+
+    @Test
+    fun testMovingInvisibleHeadsUpAllowed() =
+        testScope.runTest {
+            // GIVEN stability enforcing conditions
+            setPanelExpanded(true)
+            setSleepy(false)
+
+            // WHEN a notification is alerting but not visible
+            headsUpRepository.setHeadsUpKeys(entry.key)
+            whenever(visibilityLocationProvider.isInVisibleLocation(any())).thenReturn(false)
+
+            // THEN the notification can be reordered
+            assertThat(notifStabilityManager.isEntryReorderingAllowed(entry)).isTrue()
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isTrue()
+        }
+
+    @Test
+    fun testNeverSuppressedChanges_noInvalidationCalled() =
+        testScope.runTest {
+            // GIVEN no notifications are currently being suppressed from grouping nor being sorted
+
+            // WHEN device isn't pulsing anymore
+
+            setPulsing(false)
+
+            // WHEN fully dozed
+            setFullyDozed(true)
+
+            // WHEN sleepy
+            setSleepy(true)
+
+            // WHEN panel isn't expanded
+            setPanelExpanded(false)
+
+            // THEN we never see any calls to invalidate since there weren't any notifications that
+            // were being suppressed from grouping or section changes
+            verifyStabilityManagerWasInvalidated(never())
+        }
+
+    @Test
+    fun testNotSuppressingGroupChangesAnymore_invalidationCalled() =
+        testScope.runTest {
+            // GIVEN visual stability is being maintained b/c panel is expanded
+            setPulsing(false)
+            setFullyDozed(false)
+            setSleepy(false)
+            setPanelExpanded(true)
+
+            assertThat(notifStabilityManager.isGroupChangeAllowed(entry)).isFalse()
+            assertThat(notifStabilityManager.isGroupPruneAllowed(groupEntry)).isFalse()
+
+            // WHEN the panel isn't expanded anymore
+            setPanelExpanded(false)
+
+            // THEN invalidate is called because we were previously suppressing a group change
+            verifyStabilityManagerWasInvalidated(times(1))
+        }
+
+    @Test
+    fun testNotLaunchingActivityAnymore_invalidationCalled() {
+        // GIVEN visual stability is being maintained b/c animation is playing
+        setActivityLaunching(true)
+
+        assertThat(notifStabilityManager.isPipelineRunAllowed()).isFalse()
+
+        // WHEN the animation has stopped playing
+        setActivityLaunching(false)
+
+        // THEN invalidate is called, b/c we were previously suppressing the pipeline from running
+        verifyStabilityManagerWasInvalidated(times(1))
+    }
+
+    @Test
+    fun testNotCollapsingPanelAnymore_invalidationCalled() {
+        // GIVEN visual stability is being maintained b/c animation is playing
+        setPanelCollapsing(true)
+
+        assertThat(notifStabilityManager.isPipelineRunAllowed()).isFalse()
+
+        // WHEN the animation has stopped playing
+        setPanelCollapsing(false)
+
+        // THEN invalidate is called, b/c we were previously suppressing the pipeline from running
+        verifyStabilityManagerWasInvalidated(times(1))
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_CHECK_LOCKSCREEN_GONE_TRANSITION)
+    @DisableSceneContainer
+    fun testNotLockscreenInGoneTransitionLegacy_invalidationCalled() {
+        // GIVEN visual stability is being maintained b/c animation is playing
+        whenever(keyguardStateController.isKeyguardFadingAway).thenReturn(true)
+        underTest.mKeyguardFadeAwayAnimationCallback.onKeyguardFadingAwayChanged()
+
+        assertThat(notifStabilityManager.isPipelineRunAllowed()).isFalse()
+
+        // WHEN the animation has stopped playing
+        whenever(keyguardStateController.isKeyguardFadingAway).thenReturn(false)
+        underTest.mKeyguardFadeAwayAnimationCallback.onKeyguardFadingAwayChanged()
+
+        // THEN invalidate is called, b/c we were previously suppressing the pipeline from running
+        verifyStabilityManagerWasInvalidated(times(1))
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_CHECK_LOCKSCREEN_GONE_TRANSITION)
+    @EnableSceneContainer
+    @BrokenWithSceneContainer(bugId = 377868472) // mReorderingAllowed is broken with SceneContainer
+    fun testNotLockscreenInGoneTransition_invalidationCalled() =
+        testScope.runTest {
+            // GIVEN visual stability is being maintained b/c animation is playing
+            kosmos.fakeKeyguardTransitionRepository.sendTransitionStep(
+                TransitionStep(
+                    KeyguardState.LOCKSCREEN,
+                    KeyguardState.GONE,
+                    1f,
+                    TransitionState.RUNNING,
+                ),
+                /* validateStep = */ false,
+            )
+            testScope.testScheduler.runCurrent()
+            assertThat(notifStabilityManager.isPipelineRunAllowed()).isFalse()
+
+            // WHEN the animation has stopped playing
+            kosmos.fakeKeyguardTransitionRepository.sendTransitionStep(
+                TransitionStep(
+                    KeyguardState.LOCKSCREEN,
+                    KeyguardState.GONE,
+                    1f,
+                    TransitionState.FINISHED,
+                ),
+                /* validateStep = */ false,
+            )
+            testScope.testScheduler.runCurrent()
+
+            // THEN invalidate is called, b/c we were previously suppressing the pipeline from
+            // running
+            verifyStabilityManagerWasInvalidated(times(1))
+        }
+
+    @Test
+    fun testNeverSuppressPipelineRunFromPanelCollapse_noInvalidationCalled() {
+        // GIVEN animation is playing
+        setPanelCollapsing(true)
+
+        // WHEN the animation has stopped playing
+        setPanelCollapsing(false)
+
+        // THEN invalidate is not called, b/c nothing has been suppressed
+        verifyStabilityManagerWasInvalidated(never())
+    }
+
+    @Test
+    fun testNeverSuppressPipelineRunFromLaunchActivity_noInvalidationCalled() {
+        // GIVEN animation is playing
+        setActivityLaunching(true)
+
+        // WHEN the animation has stopped playing
+        setActivityLaunching(false)
+
+        // THEN invalidate is not called, b/c nothing has been suppressed
+        verifyStabilityManagerWasInvalidated(never())
+    }
+
+    @Test
+    fun testNotSuppressingEntryReorderingAnymoreWillInvalidate() =
+        testScope.runTest {
+            // GIVEN visual stability is being maintained b/c panel is expanded
+            setPulsing(false)
+            setFullyDozed(false)
+            setSleepy(false)
+            setPanelExpanded(true)
+            setCommunalShowing(false)
+
+            assertThat(notifStabilityManager.isEntryReorderingAllowed(entry)).isFalse()
+            // The pipeline still has to report back that entry reordering was suppressed
+            notifStabilityManager.onEntryReorderSuppressed()
+
+            // WHEN the panel isn't expanded anymore
+            setPanelExpanded(false)
+
+            // THEN invalidate is called because we were previously suppressing an entry reorder
+            verifyStabilityManagerWasInvalidated(times(1))
+        }
+
+    @Test
+    @BrokenWithSceneContainer(bugId = 377868472) // mReorderingAllowed is broken with SceneContainer
+    fun testCommunalShowingWillNotSuppressReordering() =
+        testScope.runTest {
+            // GIVEN panel is expanded, communal is showing, and QS is collapsed
+            setPulsing(false)
+            setFullyDozed(false)
+            setSleepy(false)
+            setPanelExpanded(true)
+            setQsExpanded(false)
+            setCommunalShowing(true)
+
+            // THEN Reordering should be allowed
+            assertThat(notifStabilityManager.isEntryReorderingAllowed(entry)).isTrue()
+        }
+
+    @Test
+    fun testQsExpandedOverCommunalWillSuppressReordering() =
+        testScope.runTest {
+            // GIVEN panel is expanded and communal is showing, but QS is expanded
+            setPulsing(false)
+            setFullyDozed(false)
+            setSleepy(false)
+            setPanelExpanded(true)
+            setQsExpanded(true)
+            setCommunalShowing(true)
+
+            // THEN Reordering should not be allowed
+            assertThat(notifStabilityManager.isEntryReorderingAllowed(entry)).isFalse()
+        }
+
+    @Test
+    fun testQueryingEntryReorderingButNotReportingReorderSuppressedDoesNotInvalidate() =
+        testScope.runTest {
+            // GIVEN visual stability is being maintained b/c panel is expanded
+            setPulsing(false)
+            setFullyDozed(false)
+            setSleepy(false)
+            setPanelExpanded(true)
+
+            assertThat(notifStabilityManager.isEntryReorderingAllowed(entry)).isFalse()
+
+            // WHEN the panel isn't expanded anymore
+            setPanelExpanded(false)
+
+            // THEN invalidate is not called because we were not told that an entry reorder was
+            // suppressed
+            verifyStabilityManagerWasInvalidated(never())
+        }
+
+    @Test
+    fun testHeadsUp_allowedToChangeGroupAndSection() =
+        testScope.runTest {
+            // GIVEN group + section changes disallowed
+            setFullyDozed(false)
+            setSleepy(false)
+            setPanelExpanded(true)
+            setPulsing(true)
+            assertThat(notifStabilityManager.isGroupChangeAllowed(entry)).isFalse()
+            assertThat(notifStabilityManager.isGroupPruneAllowed(groupEntry)).isFalse()
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isFalse()
+
+            // GIVEN mEntry is a HUN
+            headsUpRepository.setHeadsUpKeys(entry.key)
+
+            // THEN group + section changes are allowed
+            assertThat(notifStabilityManager.isGroupChangeAllowed(entry)).isTrue()
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isTrue()
+
+            // BUT pruning the group for which this is the summary would still NOT be allowed.
+            assertThat(notifStabilityManager.isGroupPruneAllowed(groupEntry)).isFalse()
+        }
+
+    @Test
+    fun everyChangeAllowed_onReorderingEnabled_legacy() =
+        testScope.runTest {
+            assumeFalse(StabilizeHeadsUpGroup.isEnabled)
+            // GIVEN - reordering is allowed.
+            setPulsing(false)
+            setPanelExpanded(false)
+
+            // THEN
+            assertThat(notifStabilityManager.isEveryChangeAllowed()).isTrue()
+            assertThat(notifStabilityManager.isGroupChangeAllowed(entry)).isTrue()
+            assertThat(notifStabilityManager.isGroupPruneAllowed(groupEntry)).isTrue()
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isTrue()
+            assertThat(notifStabilityManager.isEntryReorderingAllowed(entry)).isTrue()
+        }
+
+    @Test
+    fun everyChangeAllowed_noActiveHeadsUpGroup_onReorderingEnabled() =
+        testScope.runTest {
+            assumeTrue(StabilizeHeadsUpGroup.isEnabled)
+            // GIVEN - reordering is allowed.
+            setPulsing(false)
+            setPanelExpanded(false)
+
+            // GIVEN - empty heads-up-group keys
+            underTest.setHeadsUpGroupKeys(setOf())
+
+            // THEN
+            assertThat(notifStabilityManager.isEveryChangeAllowed()).isTrue()
+            assertThat(notifStabilityManager.isGroupChangeAllowed(entry)).isTrue()
+            assertThat(notifStabilityManager.isGroupPruneAllowed(groupEntry)).isTrue()
+            assertThat(notifStabilityManager.isSectionChangeAllowed(entry)).isTrue()
+            assertThat(notifStabilityManager.isEntryReorderingAllowed(entry)).isTrue()
+        }
+
+    @Test
+    fun everyChangeDisallowed_activeHeadsUpGroup_onReorderingEnabled() =
+        testScope.runTest {
+            assumeTrue(StabilizeHeadsUpGroup.isEnabled)
+            // GIVEN - reordering is allowed.
+            setPulsing(false)
+            setPanelExpanded(false)
+
+            // GIVEN - there is a group heads-up.
+            underTest.setHeadsUpGroupKeys(setOf("heads_up_group_key"))
+
+            // THEN
+            assertThat(notifStabilityManager.isEveryChangeAllowed()).isFalse()
+        }
+
+    @Test
+    fun nonHeadsUpGroup_changesAllowed_onReorderingEnabled() =
+        testScope.runTest {
+            assumeTrue(StabilizeHeadsUpGroup.isEnabled)
+            // GIVEN - reordering is allowed.
+            setPulsing(false)
+            setPanelExpanded(false)
+
+            //  GIVEN - there is a group heads-up.
+            val headsUpGroupKey = "heads_up_group_key"
+            underTest.setHeadsUpGroupKeys(setOf(headsUpGroupKey))
+            headsUpRepository.setHeadsUpKeys(headsUpGroupKey)
+
+            // GIVEN - HUN Group Summary
+            val nonHeadsUpGroupSummary: NotificationEntry = mock()
+            whenever(nonHeadsUpGroupSummary.key).thenReturn("non_heads_up_group_key")
+            whenever(nonHeadsUpGroupSummary.isSummaryWithChildren).thenReturn(true)
+            val nonHeadsUpGroupEntry: GroupEntry = mock()
+            whenever(nonHeadsUpGroupEntry.summary).thenReturn(nonHeadsUpGroupSummary)
+            whenever(nonHeadsUpGroupEntry.representativeEntry).thenReturn(nonHeadsUpGroupSummary)
+
+            // THEN
+            assertThat(notifStabilityManager.isGroupPruneAllowed(nonHeadsUpGroupEntry)).isTrue()
+            assertThat(notifStabilityManager.isEntryReorderingAllowed(nonHeadsUpGroupEntry))
+                .isTrue()
+        }
+
+    @Test
+    fun headsUpGroup_changesDisallowed_onReorderingEnabled() =
+        testScope.runTest {
+            assumeTrue(StabilizeHeadsUpGroup.isEnabled)
+            // GIVEN - reordering is allowed.
+            setPulsing(false)
+            setPanelExpanded(false)
+
+            //  GIVEN - there is a group heads-up.
+            val headsUpGroupKey = "heads_up_group_key"
+            underTest.setHeadsUpGroupKeys(setOf(headsUpGroupKey))
+            headsUpRepository.setHeadsUpKeys(headsUpGroupKey)
+
+            // GIVEN - HUN Group
+            val headsUpGroupSummary: NotificationEntry = mock()
+            whenever(headsUpGroupSummary.rowIsChildInGroup()).thenReturn(false)
+            whenever(headsUpGroupSummary.key).thenReturn(headsUpGroupKey)
+            whenever(headsUpGroupSummary.isSummaryWithChildren).thenReturn(true)
+
+            val headsUpGroupEntry: GroupEntry = mock()
+            whenever(headsUpGroupEntry.summary).thenReturn(headsUpGroupSummary)
+            whenever(headsUpGroupEntry.representativeEntry).thenReturn(headsUpGroupSummary)
+
+            whenever(headsUpGroupSummary.parent).thenReturn(headsUpGroupEntry)
+
+            // GIVEN - HUN is in visible location
+            whenever(visibilityLocationProvider.isInVisibleLocation(headsUpGroupSummary))
+                .thenReturn(true)
+
+            // THEN
+            assertThat(notifStabilityManager.isGroupPruneAllowed(headsUpGroupEntry)).isFalse()
+            assertThat(notifStabilityManager.isEntryReorderingAllowed(headsUpGroupEntry)).isFalse()
+        }
+
+    @Test
+    fun headsUpGroupSummaries_changesDisallowed_onReorderingEnabled() =
+        testScope.runTest {
+            assumeTrue(StabilizeHeadsUpGroup.isEnabled)
+            // GIVEN - reordering is allowed.
+            setPulsing(false)
+            setPanelExpanded(false)
+
+            //  GIVEN - there is a group heads-up.
+            val headsUpGroupKey = "heads_up_group_key"
+            underTest.setHeadsUpGroupKeys(setOf(headsUpGroupKey))
+            headsUpRepository.setHeadsUpKeys(headsUpGroupKey)
+
+            // GIVEN - HUN Group
+            val headsUpGroupSummary: NotificationEntry = mock()
+            whenever(headsUpGroupSummary.rowIsChildInGroup()).thenReturn(false)
+            whenever(headsUpGroupSummary.key).thenReturn(headsUpGroupKey)
+            whenever(headsUpGroupSummary.isSummaryWithChildren).thenReturn(true)
+
+            val headsUpGroupEntry: GroupEntry = mock()
+            whenever(headsUpGroupEntry.summary).thenReturn(headsUpGroupSummary)
+            whenever(headsUpGroupEntry.representativeEntry).thenReturn(headsUpGroupSummary)
+
+            whenever(headsUpGroupSummary.parent).thenReturn(headsUpGroupEntry)
+
+            // GIVEN - HUN is in visible location
+            whenever(visibilityLocationProvider.isInVisibleLocation(headsUpGroupSummary))
+                .thenReturn(true)
+
+            // THEN
+            assertThat(notifStabilityManager.isGroupChangeAllowed(headsUpGroupSummary)).isFalse()
+            assertThat(notifStabilityManager.isEntryReorderingAllowed(headsUpGroupSummary))
+                .isFalse()
+            assertThat(notifStabilityManager.isSectionChangeAllowed(headsUpGroupSummary)).isFalse()
+        }
+
+    @Test
+    fun notificationInNonHUNGroup_changesAllowed_onReorderingEnabled() =
+        testScope.runTest {
+            assumeTrue(StabilizeHeadsUpGroup.isEnabled)
+            // GIVEN - reordering is allowed.
+            setPulsing(false)
+            setPanelExpanded(false)
+
+            //  GIVEN - there is a group heads-up.
+            val headsUpGroupKey = "heads_up_group_key"
+            underTest.setHeadsUpGroupKeys(setOf(headsUpGroupKey))
+            headsUpRepository.setHeadsUpKeys(headsUpGroupKey)
+
+            // GIVEN - non HUN parent Group Summary
+            val groupSummary: NotificationEntry = mock()
+            whenever(groupSummary.key).thenReturn("non_heads_up_group_key")
+            whenever(groupSummary.isSummaryWithChildren).thenReturn(true)
+
+            val nonHeadsUpGroupEntry: GroupEntry = mock()
+            whenever(nonHeadsUpGroupEntry.summary).thenReturn(groupSummary)
+            whenever(nonHeadsUpGroupEntry.representativeEntry).thenReturn(groupSummary)
+
+            // GIVEN - child entry in a non heads-up group.
+            val childEntry: NotificationEntry = mock()
+            whenever(childEntry.rowIsChildInGroup()).thenReturn(true)
+            whenever(childEntry.parent).thenReturn(nonHeadsUpGroupEntry)
+            whenever(childEntry.parent).thenReturn(nonHeadsUpGroupEntry)
+
+            // THEN
+            assertThat(notifStabilityManager.isGroupChangeAllowed(childEntry)).isTrue()
+            assertThat(notifStabilityManager.isSectionChangeAllowed(childEntry)).isTrue()
+            assertThat(notifStabilityManager.isEntryReorderingAllowed(nonHeadsUpGroupEntry))
+                .isTrue()
+        }
+
+    @Test
+    fun notificationInHUNGroup_changesDisallowed_reorderingEnabled() =
+        testScope.runTest {
+            assumeTrue(StabilizeHeadsUpGroup.isEnabled)
+            // GIVEN - reordering is allowed.
+            setPulsing(false)
+            setPanelExpanded(false)
+
+            // GIVEN - there is a group heads-up.
+            val headsUpGroupKey = "heads_up_group_key"
+            underTest.setHeadsUpGroupKeys(setOf(headsUpGroupKey))
+            headsUpRepository.setHeadsUpKeys(headsUpGroupKey)
+
+            // GIVEN - HUN Group Summary
+            val headsUpGroupSummary: NotificationEntry = mock()
+            whenever(headsUpGroupSummary.rowIsChildInGroup()).thenReturn(false)
+            whenever(headsUpGroupSummary.key).thenReturn(headsUpGroupKey)
+            whenever(headsUpGroupSummary.isSummaryWithChildren).thenReturn(true)
+
+            val nonHeadsUpGroupEntry: GroupEntry = mock()
+            whenever(nonHeadsUpGroupEntry.summary).thenReturn(headsUpGroupSummary)
+            whenever(nonHeadsUpGroupEntry.representativeEntry).thenReturn(headsUpGroupSummary)
+
+            // GIVEN - child entry in a non heads-up group.
+            val childEntry: NotificationEntry =
+                mock<NotificationEntry>().apply { whenever(key).thenReturn("child") }
+            whenever(childEntry.rowIsChildInGroup()).thenReturn(true)
+            whenever(childEntry.parent).thenReturn(nonHeadsUpGroupEntry)
+
+            // GIVEN - HUN is in visible location
+            whenever(visibilityLocationProvider.isInVisibleLocation(headsUpGroupSummary))
+                .thenReturn(true)
+
+            // THEN
+            assertThat(notifStabilityManager.isGroupChangeAllowed(childEntry)).isFalse()
+            assertThat(notifStabilityManager.isSectionChangeAllowed(childEntry)).isFalse()
+            assertThat(notifStabilityManager.isEntryReorderingAllowed(childEntry)).isFalse()
+        }
+
+    private fun verifyStabilityManagerWasInvalidated(mode: VerificationMode) {
+        verify(invalidateListener, mode).onPluggableInvalidated(eq(notifStabilityManager), any())
+    }
+
+    private fun setActivityLaunching(activityLaunching: Boolean) {
+        kosmos.shadeAnimationInteractor.setIsLaunchingActivity(activityLaunching)
+        testScope.testScheduler.runCurrent()
+    }
+
+    private fun setPanelCollapsing(collapsing: Boolean) {
+        shadeRepository.setLegacyIsClosing(collapsing)
+        testScope.testScheduler.runCurrent()
+    }
+
+    private fun setCommunalShowing(isShowing: Boolean) {
+        val showingFlow =
+            MutableStateFlow<ObservableTransitionState>(
+                ObservableTransitionState.Idle(
+                    if (isShowing) CommunalScenes.Communal else CommunalScenes.Blank
+                )
+            )
+        kosmos.communalSceneInteractor.setTransitionState(showingFlow)
+        testScope.testScheduler.runCurrent()
+    }
+
+    private fun setQsExpanded(isExpanded: Boolean) {
+        kosmos.shadeRepository.setQsExpansion(if (isExpanded) 1.0f else 0.0f)
+        testScope.testScheduler.runCurrent()
+    }
+
+    private fun setPulsing(pulsing: Boolean) = statusBarStateListener.onPulsingChanged(pulsing)
+
+    private fun setFullyDozed(fullyDozed: Boolean) {
+        val dozeAmount = if (fullyDozed) 1f else 0f
+        statusBarStateListener.onDozeAmountChanged(dozeAmount, dozeAmount)
+    }
+
+    private fun setSleepy(sleepy: Boolean) {
+        if (sleepy) {
+            wakefulnessObserver.onFinishedGoingToSleep()
+        } else {
+            wakefulnessObserver.onStartedWakingUp()
+        }
+    }
+
+    private suspend fun setPanelExpanded(expanded: Boolean) =
+        setPanelExpandedAndLockscreenShowing(expanded, /* lockscreenShowing= */ 0.0f)
+
+    private suspend fun setLockscreenShowing(lockscreenShowing: Float) =
+        setPanelExpandedAndLockscreenShowing(/* panelExpanded= */ false, lockscreenShowing)
+
+    private suspend fun setPanelExpandedAndLockscreenShowing(
+        panelExpanded: Boolean,
+        lockscreenShowing: Float,
+    ) {
+        if (SceneContainerFlag.isEnabled) {
+            statusBarStateListener.onExpandedChanged(panelExpanded)
+            kosmos.fakeKeyguardTransitionRepository.sendTransitionStep(
+                makeLockscreenTransitionStep(lockscreenShowing),
+                /* validateStep = */ false,
+            )
+        } else {
+            statusBarStateListener.onExpandedChanged(panelExpanded || lockscreenShowing > 0.0f)
+        }
+    }
+
+    private fun makeLockscreenTransitionStep(value: Float): TransitionStep {
+        return when (value) {
+            0.0f -> TransitionStep(KeyguardState.GONE)
+            1.0f -> TransitionStep(KeyguardState.LOCKSCREEN)
+            else ->
+                TransitionStep(
+                    KeyguardState.GONE,
+                    KeyguardState.LOCKSCREEN,
+                    value,
+                    TransitionState.RUNNING,
+                )
+        }
+    }
+}
+
+private fun FakeHeadsUpNotificationRepository.setHeadsUpKeys(vararg keys: String) {
+    setNotifications(keys.map { FakeHeadsUpRowRepository(key = it) })
+}
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/render/GroupExpansionManagerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/render/GroupExpansionManagerTest.kt
index 3dd0982..8e6aedca 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/render/GroupExpansionManagerTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/render/GroupExpansionManagerTest.kt
@@ -17,6 +17,7 @@
 package com.android.systemui.statusbar.notification.collection.render
 
 import android.os.Build
+import android.os.UserHandle
 import android.platform.test.annotations.DisableFlags
 import android.platform.test.annotations.EnableFlags
 import android.platform.test.flag.junit.SetFlagsRule
@@ -29,9 +30,12 @@
 import com.android.systemui.statusbar.notification.collection.GroupEntryBuilder
 import com.android.systemui.statusbar.notification.collection.ListEntry
 import com.android.systemui.statusbar.notification.collection.NotifPipeline
+import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder
 import com.android.systemui.statusbar.notification.collection.listbuilder.OnBeforeRenderListListener
 import com.android.systemui.statusbar.notification.collection.render.GroupExpansionManager.OnGroupExpansionChangeListener
+import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
+import com.android.systemui.statusbar.notification.row.NotificationTestHelper
 import com.android.systemui.statusbar.notification.shared.NotificationBundleUi
 import com.android.systemui.util.mockito.any
 import com.android.systemui.util.mockito.mock
@@ -55,56 +59,58 @@
 
     private lateinit var underTest: GroupExpansionManagerImpl
 
+    private lateinit var testHelper: NotificationTestHelper
     private val dumpManager: DumpManager = mock()
     private val groupMembershipManager: GroupMembershipManager = mock()
 
     private val pipeline: NotifPipeline = mock()
     private lateinit var beforeRenderListListener: OnBeforeRenderListListener
 
-    private val summary1 = notificationSummaryEntry("foo", 1)
-    private val summary2 = notificationSummaryEntry("bar", 1)
-    private val entries =
-        listOf<ListEntry>(
-            GroupEntryBuilder()
-                .setSummary(summary1)
-                .setChildren(
-                    listOf(
-                        notificationEntry("foo", 2),
-                        notificationEntry("foo", 3),
-                        notificationEntry("foo", 4)
-                    )
-                )
-                .build(),
-            GroupEntryBuilder()
-                .setSummary(summary2)
-                .setChildren(
-                    listOf(
-                        notificationEntry("bar", 2),
-                        notificationEntry("bar", 3),
-                        notificationEntry("bar", 4)
-                    )
-                )
-                .build(),
-            notificationEntry("baz", 1)
-        )
+    private lateinit var summary1: NotificationEntry
+    private lateinit var summary2: NotificationEntry
+    private lateinit var entries: List<ListEntry>
 
-    private fun notificationEntry(pkg: String, id: Int) =
-        NotificationEntryBuilder().setPkg(pkg).setId(id).build().apply { row = mock() }
-
-    private fun notificationSummaryEntry(pkg: String, id: Int) =
-        NotificationEntryBuilder().setPkg(pkg).setId(id).setParent(GroupEntry.ROOT_ENTRY).build()
-            .apply { row = mock() }
+    private fun notificationEntry(pkg: String, id: Int, parent: ExpandableNotificationRow?) =
+        NotificationEntryBuilder().setPkg(pkg).setId(id).build().apply {
+            row = testHelper.createRow().apply {
+                setIsChildInGroup(true, parent)
+            }
+        }
 
     @Before
     fun setUp() {
+        testHelper = NotificationTestHelper(mContext, mDependency)
+
+        summary1 = testHelper.createRow().entry
+        summary2 = testHelper.createRow().entry
+        entries =
+            listOf<ListEntry>(
+                GroupEntryBuilder()
+                    .setSummary(summary1)
+                    .setChildren(
+                        listOf(
+                            notificationEntry("foo", 2, summary1.row),
+                            notificationEntry("foo", 3, summary1.row),
+                            notificationEntry("foo", 4, summary1.row)
+                        )
+                    )
+                    .build(),
+                GroupEntryBuilder()
+                    .setSummary(summary2)
+                    .setChildren(
+                        listOf(
+                            notificationEntry("bar", 2, summary2.row),
+                            notificationEntry("bar", 3, summary2.row),
+                            notificationEntry("bar", 4, summary2.row)
+                        )
+                    )
+                    .build(),
+                notificationEntry("baz", 1, null)
+            )
+
         whenever(groupMembershipManager.getGroupSummary(summary1)).thenReturn(summary1)
         whenever(groupMembershipManager.getGroupSummary(summary2)).thenReturn(summary2)
 
-        whenever(groupMembershipManager.getGroupRoot(summary1.entryAdapter))
-            .thenReturn(summary1.entryAdapter)
-        whenever(groupMembershipManager.getGroupRoot(summary2.entryAdapter))
-            .thenReturn(summary2.entryAdapter)
-
         underTest = GroupExpansionManagerImpl(dumpManager, groupMembershipManager)
     }
 
@@ -221,4 +227,15 @@
         verify(listener).onGroupExpansionChange(summary1.row, false)
         verifyNoMoreInteractions(listener)
     }
+
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    fun isGroupExpanded() {
+        underTest.setGroupExpanded(summary1.entryAdapter, true)
+
+        assertThat(underTest.isGroupExpanded(summary1.entryAdapter)).isTrue();
+        assertThat(underTest.isGroupExpanded(
+            (entries[0] as? GroupEntry)?.getChildren()?.get(0)?.entryAdapter))
+            .isTrue();
+    }
 }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/render/GroupMembershipManagerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/render/GroupMembershipManagerTest.kt
index dcbf44e..2bbf094 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/render/GroupMembershipManagerTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/render/GroupMembershipManagerTest.kt
@@ -170,6 +170,21 @@
 
     @Test
     @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    fun isChildEntryAdapterInGroup_child() {
+        val groupKey = "group"
+        val summary =
+            NotificationEntryBuilder()
+                .setGroup(mContext, groupKey)
+                .setGroupSummary(mContext, true)
+                .build()
+        val entry = NotificationEntryBuilder().setGroup(mContext, groupKey).build()
+        GroupEntryBuilder().setKey(groupKey).setSummary(summary).addChild(entry).build()
+
+        assertThat(underTest.isChildInGroup(entry.entryAdapter)).isTrue()
+    }
+
+    @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
     fun isGroupRoot_topLevelEntry() {
         val entry = NotificationEntryBuilder().setParent(GroupEntry.ROOT_ENTRY).build()
         assertThat(underTest.isGroupRoot(entry.entryAdapter)).isFalse()
@@ -203,40 +218,4 @@
 
         assertThat(underTest.isGroupRoot(entry.entryAdapter)).isFalse()
     }
-
-    @Test
-    @EnableFlags(NotificationBundleUi.FLAG_NAME)
-    fun getGroupRoot_topLevelEntry() {
-        val entry = NotificationEntryBuilder().setParent(GroupEntry.ROOT_ENTRY).build()
-        assertThat(underTest.getGroupRoot(entry.entryAdapter)).isNull()
-    }
-
-    @Test
-    @EnableFlags(NotificationBundleUi.FLAG_NAME)
-    fun getGroupRoot_summary() {
-        val groupKey = "group"
-        val summary =
-            NotificationEntryBuilder()
-                .setGroup(mContext, groupKey)
-                .setGroupSummary(mContext, true)
-                .build()
-        GroupEntryBuilder().setKey(groupKey).setSummary(summary).build()
-
-        assertThat(underTest.getGroupRoot(summary.entryAdapter)).isEqualTo(summary.entryAdapter)
-    }
-
-    @Test
-    @EnableFlags(NotificationBundleUi.FLAG_NAME)
-    fun getGroupRoot_child() {
-        val groupKey = "group"
-        val summary =
-            NotificationEntryBuilder()
-                .setGroup(mContext, groupKey)
-                .setGroupSummary(mContext, true)
-                .build()
-        val entry = NotificationEntryBuilder().setGroup(mContext, groupKey).build()
-        GroupEntryBuilder().setKey(groupKey).setSummary(summary).addChild(entry).build()
-
-        assertThat(underTest.getGroupRoot(entry.entryAdapter)).isEqualTo(summary.entryAdapter)
-    }
 }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/headsup/HeadsUpAnimatorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/headsup/HeadsUpAnimatorTest.kt
new file mode 100644
index 0000000..206eb89
--- /dev/null
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/headsup/HeadsUpAnimatorTest.kt
@@ -0,0 +1,87 @@
+/*
+ * 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.notification.headsup
+
+import android.platform.test.annotations.EnableFlags
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import com.android.systemui.SysuiTestCase
+import com.android.systemui.res.R
+import com.google.common.truth.Truth.assertThat
+import kotlin.test.Test
+import org.junit.Before
+import org.junit.runner.RunWith
+
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+@EnableFlags(NotificationsHunSharedAnimationValues.FLAG_NAME)
+class HeadsUpAnimatorTest : SysuiTestCase() {
+    @Before
+    fun setUp() {
+        context.getOrCreateTestableResources().apply {
+            this.addOverride(R.dimen.heads_up_appear_y_above_screen, TEST_Y_ABOVE_SCREEN)
+        }
+    }
+
+    @Test
+    fun getHeadsUpYTranslation_fromBottomTrue_usesBottomAndYAbove() {
+        val underTest = HeadsUpAnimator(context)
+        underTest.stackTopMargin = 30
+        underTest.headsUpAppearHeightBottom = 300
+
+        val yTranslation = underTest.getHeadsUpYTranslation(isHeadsUpFromBottom = true)
+
+        assertThat(yTranslation).isEqualTo(TEST_Y_ABOVE_SCREEN + 300)
+    }
+
+    @Test
+    fun getHeadsUpYTranslation_fromBottomFalse_usesTopMarginAndYAbove() {
+        val underTest = HeadsUpAnimator(context)
+        underTest.stackTopMargin = 30
+        underTest.headsUpAppearHeightBottom = 300
+
+        val yTranslation = underTest.getHeadsUpYTranslation(isHeadsUpFromBottom = false)
+
+        assertThat(yTranslation).isEqualTo(-30 - TEST_Y_ABOVE_SCREEN)
+    }
+
+    @Test
+    fun getHeadsUpYTranslation_resourcesUpdated() {
+        val underTest = HeadsUpAnimator(context)
+        underTest.stackTopMargin = 30
+        underTest.headsUpAppearHeightBottom = 300
+
+        val yTranslation = underTest.getHeadsUpYTranslation(isHeadsUpFromBottom = true)
+
+        assertThat(yTranslation).isEqualTo(TEST_Y_ABOVE_SCREEN + 300)
+
+        // WHEN the resource is updated
+        val newYAbove = 600
+        context.getOrCreateTestableResources().apply {
+            this.addOverride(R.dimen.heads_up_appear_y_above_screen, newYAbove)
+        }
+        underTest.updateResources(context)
+
+        // THEN HeadsUpAnimator knows about it
+        assertThat(underTest.getHeadsUpYTranslation(isHeadsUpFromBottom = true))
+            .isEqualTo(newYAbove + 300)
+    }
+
+    companion object {
+        private const val TEST_Y_ABOVE_SCREEN = 50
+    }
+}
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowControllerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowControllerTest.kt
index 25ae13f..f060cae 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowControllerTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowControllerTest.kt
@@ -21,6 +21,7 @@
 import android.net.Uri
 import android.os.UserHandle
 import android.os.UserHandle.USER_ALL
+import android.service.notification.StatusBarNotification
 import android.testing.TestableLooper
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
@@ -36,6 +37,7 @@
 import com.android.systemui.statusbar.SbnBuilder
 import com.android.systemui.statusbar.SmartReplyController
 import com.android.systemui.statusbar.notification.ColorUpdateLogger
+import com.android.systemui.statusbar.notification.collection.EntryAdapter
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder
 import com.android.systemui.statusbar.notification.collection.provider.NotificationDismissibilityProvider
@@ -229,6 +231,10 @@
     @Test
     fun registerSettingsListener_forBubbles() {
         controller.init(mock(NotificationEntry::class.java))
+        val entryAdapter = mock(EntryAdapter::class.java)
+        whenever(entryAdapter.sbn).thenReturn(mock(StatusBarNotification::class.java))
+        whenever(view.entryAdapter).thenReturn(entryAdapter)
+
         val viewStateObserver = withArgCaptor {
             verify(view).addOnAttachStateChangeListener(capture())
         }
@@ -239,6 +245,9 @@
     @Test
     fun unregisterSettingsListener_forBubbles() {
         controller.init(mock(NotificationEntry::class.java))
+        val entryAdapter = mock(EntryAdapter::class.java)
+        whenever(entryAdapter.sbn).thenReturn(mock(StatusBarNotification::class.java))
+        whenever(view.entryAdapter).thenReturn(entryAdapter)
         val viewStateObserver = withArgCaptor {
             verify(view).addOnAttachStateChangeListener(capture())
         }
@@ -255,6 +264,7 @@
 
     @Test
     fun settingsListener_invalidUserId() {
+        whenever(view.entryAdapter).thenReturn(mock(EntryAdapter::class.java))
         controller.mSettingsListener.onSettingChanged(BUBBLES_SETTING_URI, -1000, "1")
         controller.mSettingsListener.onSettingChanged(BUBBLES_SETTING_URI, -1000, null)
 
@@ -265,6 +275,12 @@
     fun settingsListener_validUserId() {
         val childView: NotificationContentView = mock()
         whenever(view.privateLayout).thenReturn(childView)
+        val entryAdapter = mock(EntryAdapter::class.java)
+        val sbn =
+            SbnBuilder().setNotification(Notification.Builder(mContext).build())
+                .setUser(UserHandle.of(view.entry.sbn.userId)).build()
+        whenever(entryAdapter.sbn).thenReturn(sbn)
+        whenever(view.entryAdapter).thenReturn(entryAdapter)
 
         controller.mSettingsListener.onSettingChanged(
             BUBBLES_SETTING_URI,
@@ -293,6 +309,9 @@
             .thenReturn(
                 NotificationEntryBuilder().setSbn(sbn).setUser(UserHandle.of(USER_ALL)).build()
             )
+        val entryAdapter = mock(EntryAdapter::class.java)
+        whenever(entryAdapter.sbn).thenReturn(sbn)
+        whenever(view.entryAdapter).thenReturn(entryAdapter)
 
         controller.mSettingsListener.onSettingChanged(BUBBLES_SETTING_URI, 9, "1")
         verify(childView).setBubblesEnabledForUser(true)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowDragControllerTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowDragControllerTest.java
index 979a1d0..fd49f60 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowDragControllerTest.java
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowDragControllerTest.java
@@ -79,6 +79,7 @@
         mRow = spy(mNotificationTestHelper.createRow());
         Notification notification = mRow.getEntry().getSbn().getNotification();
         notification.contentIntent = mock(PendingIntent.class);
+        when(notification.contentIntent.isActivity()).thenReturn(true);
         doReturn(true).when(mRow).startDragAndDrop(any(), any(), any(), anyInt());
         mGroupRow = mNotificationTestHelper.createGroup(4);
         when(mMenuRow.getLongpressMenuItem(any(Context.class))).thenReturn(mMenuItem);
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/NotificationTestHelper.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/NotificationTestHelper.java
index f2131da..c376fad 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/NotificationTestHelper.java
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/NotificationTestHelper.java
@@ -70,6 +70,8 @@
 import com.android.systemui.statusbar.SmartReplyController;
 import com.android.systemui.statusbar.notification.ColorUpdateLogger;
 import com.android.systemui.statusbar.notification.ConversationNotificationProcessor;
+import com.android.systemui.statusbar.notification.collection.GroupEntry;
+import com.android.systemui.statusbar.notification.collection.GroupEntryBuilder;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
 import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
 import com.android.systemui.statusbar.notification.collection.notifcollection.CommonNotifCollection;
@@ -101,10 +103,12 @@
 
 import kotlin.coroutines.CoroutineContext;
 
+import kotlinx.coroutines.flow.StateFlowKt;
 import kotlinx.coroutines.test.TestScope;
 
 import org.mockito.ArgumentCaptor;
 
+import java.util.List;
 import java.util.Objects;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.Executor;
@@ -166,11 +170,21 @@
         this(context, dependency, testLooper, new FakeFeatureFlagsClassic());
     }
 
+
     public NotificationTestHelper(
             Context context,
             TestableDependency dependency,
             @Nullable TestableLooper testLooper,
             @NonNull FakeFeatureFlagsClassic featureFlags) {
+        this(context, dependency, testLooper, featureFlags, mockHeadsUpManager());
+    }
+
+    public NotificationTestHelper(
+            Context context,
+            TestableDependency dependency,
+            @Nullable TestableLooper testLooper,
+            @NonNull FakeFeatureFlagsClassic featureFlags,
+            @NonNull HeadsUpManager headsUpManager) {
         mContext = context;
         mFeatureFlags = Objects.requireNonNull(featureFlags);
         dependency.injectTestDependency(FeatureFlagsClassic.class, mFeatureFlags);
@@ -182,7 +196,7 @@
         mKeyguardBypassController = mock(KeyguardBypassController.class);
         mGroupMembershipManager = mock(GroupMembershipManager.class);
         mGroupExpansionManager = mock(GroupExpansionManager.class);
-        mHeadsUpManager = mock(HeadsUpManager.class);
+        mHeadsUpManager = headsUpManager;
         mIconManager = new IconManager(
                 mock(CommonNotifCollection.class),
                 mock(LauncherApps.class),
@@ -327,6 +341,46 @@
     }
 
     /**
+     * Returns an {@link GroupEntry} group with the given number of child
+     * notifications.
+     */
+    public GroupEntry createGroupEntry(int numChildren,
+            @Nullable List<NotificationEntry> additionalChildren) {
+        Notification summary = new Notification.Builder(mContext, "")
+                .setSmallIcon(R.drawable.ic_person)
+                .setGroupSummary(true)
+                .setGroup(GROUP_KEY)
+                .build();
+
+        NotificationEntry summaryEntry = new NotificationEntryBuilder()
+                .setPkg(PKG)
+                .setOpPkg(PKG)
+                .setId(mId++)
+                .setUid(UID)
+                .setInitialPid(2000)
+                .setNotification(summary)
+                .setParent(GroupEntry.ROOT_ENTRY)
+                .build();
+        GroupEntryBuilder groupEntry = new GroupEntryBuilder()
+                .setSummary(summaryEntry);
+
+        for (int i = 0; i < numChildren; i++) {
+            NotificationEntry child = new NotificationEntryBuilder()
+                    .setParent(GroupEntry.ROOT_ENTRY)
+                    .setNotification(new Notification.Builder(mContext, "")
+                            .setSmallIcon(R.drawable.ic_person)
+                            .setGroup(GROUP_KEY)
+                            .build())
+                    .build();
+            groupEntry.addChild(child);
+        }
+        for (NotificationEntry entry : additionalChildren) {
+            groupEntry.addChild(entry);
+        }
+        return groupEntry.build();
+    }
+
+    /**
      * Returns an {@link ExpandableNotificationRow} group with the given number of child
      * notifications.
      */
@@ -400,6 +454,23 @@
     }
 
     /**
+     * Returns an {@link NotificationEntry} that should be shown as a bubble and is part
+     * of a group of notifications.
+     */
+    public NotificationEntry createBubbleEntryInGroup() throws Exception {
+        Notification n = createNotification(false /* isGroupSummary */,
+                GROUP_KEY /* groupKey */,
+                makeBubbleMetadata(null /* deleteIntent */, false /* autoExpand */));
+        n.flags |= FLAG_BUBBLE;
+        NotificationEntry entry = generateEntry(n, PKG, UID, USER_HANDLE,
+                mDefaultInflationFlags, IMPORTANCE_HIGH);
+        modifyRanking(entry)
+                .setCanBubble(true)
+                .build();
+        return entry;
+    }
+
+    /**
      * Returns an {@link ExpandableNotificationRow} that should be shown as a bubble and is part
      * of a group of notifications.
      */
@@ -562,6 +633,41 @@
         return mKeyguardBypassController;
     }
 
+    private NotificationEntry generateEntry(
+            Notification notification,
+            String pkg,
+            int uid,
+            UserHandle userHandle,
+            @InflationFlag int extraInflationFlags,
+            int importance)
+            throws Exception {
+        final NotificationChannel channel =
+                new NotificationChannel(
+                        notification.getChannelId(),
+                        notification.getChannelId(),
+                        importance);
+        channel.setBlockable(true);
+
+        NotificationEntry entry = new NotificationEntryBuilder()
+                .setPkg(pkg)
+                .setOpPkg(pkg)
+                .setId(mId++)
+                .setUid(uid)
+                .setInitialPid(2000)
+                .setNotification(notification)
+                .setUser(userHandle)
+                .setPostTime(System.currentTimeMillis())
+                .setChannel(channel)
+                .updateRanking(rankingBuilder -> rankingBuilder.setIsConversation(
+                        notification.isStyle(Notification.MessagingStyle.class)
+                ))
+                .build();
+
+
+        return entry;
+    }
+
+
     private ExpandableNotificationRow generateRow(
             Notification notification,
             String pkg,
@@ -689,6 +795,12 @@
                 .build();
     }
 
+    private static HeadsUpManager mockHeadsUpManager() {
+        HeadsUpManager mock = mock(HeadsUpManager.class);
+        when(mock.isTrackingHeadsUp()).thenReturn(StateFlowKt.MutableStateFlow(false));
+        return mock;
+    }
+
     private static class MockSmartReplyInflater implements SmartReplyStateInflater {
         @Override
         public InflatedSmartReplyState inflateSmartReplyState(NotificationEntry entry) {
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/ui/viewmodel/ActivatableNotificationViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/ui/viewmodel/ActivatableNotificationViewModelTest.kt
index 961616c..3d1fdee 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/ui/viewmodel/ActivatableNotificationViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/ui/viewmodel/ActivatableNotificationViewModelTest.kt
@@ -22,6 +22,8 @@
 import com.android.systemui.accessibility.data.repository.FakeAccessibilityRepository
 import com.android.systemui.accessibility.domain.interactor.AccessibilityInteractor
 import com.android.systemui.coroutines.collectLastValue
+import com.android.systemui.testKosmos
+import com.android.systemui.window.domain.interactor.windowRootViewBlurInteractor
 import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.test.runCurrent
 import kotlinx.coroutines.test.runTest
@@ -32,12 +34,16 @@
 @SmallTest
 class ActivatableNotificationViewModelTest : SysuiTestCase() {
 
+    private val kosmos = testKosmos()
+
     // fakes
     private val a11yRepo = FakeAccessibilityRepository()
 
     // real impls
     private val a11yInteractor = AccessibilityInteractor(a11yRepo)
-    private val underTest = ActivatableNotificationViewModel(a11yInteractor)
+    private val windowRootViewBlurInteractor = kosmos.windowRootViewBlurInteractor
+    private val underTest = ActivatableNotificationViewModel(a11yInteractor,
+        windowRootViewBlurInteractor)
 
     @Test
     fun isTouchable_whenA11yTouchExplorationDisabled() = runTest {
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/AmbientStateTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/AmbientStateTest.kt
index 92b8c3a..13da04e 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/AmbientStateTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/AmbientStateTest.kt
@@ -24,6 +24,7 @@
 import com.android.systemui.flags.andSceneContainer
 import com.android.systemui.shade.transition.LargeScreenShadeInterpolator
 import com.android.systemui.statusbar.StatusBarState
+import com.android.systemui.statusbar.notification.data.repository.HeadsUpRepository
 import com.android.systemui.statusbar.notification.headsup.AvalancheController
 import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager
 import com.android.systemui.util.mockito.mock
@@ -47,6 +48,7 @@
     private val statusBarKeyguardViewManager = mock<StatusBarKeyguardViewManager>()
     private val largeScreenShadeInterpolator = mock<LargeScreenShadeInterpolator>()
     private val avalancheController = mock<AvalancheController>()
+    private val headsupRepository = mock<HeadsUpRepository>()
 
     private lateinit var sut: AmbientState
 
@@ -72,6 +74,7 @@
                 bypassController,
                 statusBarKeyguardViewManager,
                 largeScreenShadeInterpolator,
+                headsupRepository,
                 avalancheController,
             )
     }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/MagneticNotificationRowManagerImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/MagneticNotificationRowManagerImplTest.kt
index 885e71e..ccc8be7 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/MagneticNotificationRowManagerImplTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/MagneticNotificationRowManagerImplTest.kt
@@ -80,7 +80,7 @@
             // THEN the magnetic and roundable targets are defined and the state is TARGETS_SET
             assertThat(underTest.currentState).isEqualTo(State.TARGETS_SET)
             assertThat(underTest.currentMagneticListeners.isNotEmpty()).isTrue()
-            assertThat(underTest.currentRoundableTargets).isNotNull()
+            assertThat(underTest.isSwipedViewRoundableSet).isTrue()
         }
 
     @Test
@@ -281,6 +281,19 @@
             assertThat(magneticAnimationsCancelled[neighborIndex]).isTrue()
         }
 
+    @Test
+    fun onResetRoundness_swipedRoundableGetsCleared() =
+        kosmos.testScope.runTest {
+            // GIVEN targets are set
+            setTargets()
+
+            // WHEN we reset the roundness
+            underTest.resetRoundness()
+
+            // THEN the swiped roundable gets cleared
+            assertThat(underTest.isSwipedViewRoundableSet).isFalse()
+        }
+
     @After
     fun tearDown() {
         // We reset the manager so that all MagneticRowListener can cancel all animations
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculatorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculatorTest.kt
index 4b8a0c2..f7bbf98 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculatorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculatorTest.kt
@@ -29,6 +29,7 @@
 import com.android.systemui.statusbar.LockscreenShadeTransitionController
 import com.android.systemui.statusbar.StatusBarState
 import com.android.systemui.statusbar.SysuiStatusBarStateController
+import com.android.systemui.statusbar.notification.collection.EntryAdapter
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.domain.interactor.SeenNotificationsInteractor
 import com.android.systemui.statusbar.notification.promoted.PromotedNotificationUiForceExpanded
@@ -436,6 +437,9 @@
         val row = mock(ExpandableNotificationRow::class.java)
         val entry = mock(NotificationEntry::class.java)
         whenever(entry.isStickyAndNotDemoted).thenReturn(isSticky)
+        val entryAdapter = mock(EntryAdapter::class.java)
+        whenever(entryAdapter.canPeek()).thenReturn(isSticky)
+        whenever(row.entryAdapter).thenReturn(entryAdapter)
         val sbn = mock(StatusBarNotification::class.java)
         whenever(entry.sbn).thenReturn(sbn)
         whenever(row.entry).thenReturn(entry)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt
index 7603eec..9545150 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt
@@ -20,11 +20,15 @@
 import com.android.systemui.statusbar.NotificationShelf
 import com.android.systemui.statusbar.StatusBarState
 import com.android.systemui.statusbar.notification.RoundableState
+import com.android.systemui.statusbar.notification.collection.EntryAdapter
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
+import com.android.systemui.statusbar.notification.data.repository.HeadsUpRepository
 import com.android.systemui.statusbar.notification.emptyshade.ui.view.EmptyShadeView
 import com.android.systemui.statusbar.notification.footer.ui.view.FooterView
 import com.android.systemui.statusbar.notification.footer.ui.view.FooterView.FooterViewState
 import com.android.systemui.statusbar.notification.headsup.AvalancheController
+import com.android.systemui.statusbar.notification.headsup.HeadsUpAnimator
+import com.android.systemui.statusbar.notification.headsup.NotificationsHunSharedAnimationValues
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
 import com.android.systemui.statusbar.notification.row.ExpandableView
 import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager
@@ -53,12 +57,15 @@
     private val avalancheController = mock<AvalancheController>()
 
     private val hostView = FrameLayout(context)
-    private val stackScrollAlgorithm = StackScrollAlgorithm(context, hostView)
+    private lateinit var headsUpAnimator: HeadsUpAnimator
+    private lateinit var stackScrollAlgorithm: StackScrollAlgorithm
     private val notificationRow = mock<ExpandableNotificationRow>()
     private val notificationEntry = mock<NotificationEntry>()
+    private val notificationEntryAdapter = mock<EntryAdapter>()
     private val dumpManager = mock<DumpManager>()
     private val mStatusBarKeyguardViewManager = mock<StatusBarKeyguardViewManager>()
     private val notificationShelf = mock<NotificationShelf>()
+    private val headsUpRepository = mock<HeadsUpRepository>()
     private val emptyShadeView =
         EmptyShadeView(context, /* attrs= */ null).apply {
             layout(/* l= */ 0, /* t= */ 0, /* r= */ 100, /* b= */ 100)
@@ -72,6 +79,7 @@
             /* bypassController */ { false },
             mStatusBarKeyguardViewManager,
             largeScreenShadeInterpolator,
+            headsUpRepository,
             avalancheController,
         )
 
@@ -96,7 +104,10 @@
         @JvmStatic
         @Parameters(name = "{0}")
         fun getParams(): List<FlagsParameterization> {
-            return FlagsParameterization.allCombinationsOf().andSceneContainer()
+            return FlagsParameterization.allCombinationsOf(
+                    NotificationsHunSharedAnimationValues.FLAG_NAME
+                )
+                .andSceneContainer()
         }
     }
 
@@ -109,13 +120,24 @@
         Assume.assumeFalse(isTv())
         mDependency.injectTestDependency(FeatureFlags::class.java, featureFlags)
         whenever(notificationShelf.viewState).thenReturn(ExpandableViewState())
+        whenever(notificationRow.key).thenReturn("key")
         whenever(notificationRow.viewState).thenReturn(ExpandableViewState())
         whenever(notificationRow.entry).thenReturn(notificationEntry)
+        whenever(notificationRow.entryAdapter).thenReturn(notificationEntryAdapter)
         whenever(notificationRow.roundableState)
             .thenReturn(RoundableState(notificationRow, notificationRow, 0f))
         ambientState.isSmallScreen = true
 
         hostView.addView(notificationRow)
+
+        if (NotificationsHunSharedAnimationValues.isEnabled) {
+             headsUpAnimator = HeadsUpAnimator(context)
+        }
+        stackScrollAlgorithm = StackScrollAlgorithm(
+            context,
+            hostView,
+            if (::headsUpAnimator.isInitialized) headsUpAnimator else null,
+        )
     }
 
     private fun isTv(): Boolean {
@@ -396,7 +418,11 @@
         ambientState.setLayoutMinHeight(2500) // Mock the height of shade
         ambientState.stackY = 2500f // Scroll over the max translation
         stackScrollAlgorithm.setIsExpanded(true) // Mark the shade open
-        stackScrollAlgorithm.setHeadsUpAppearHeightBottom(bottomOfScreen.toInt())
+        if (NotificationsHunSharedAnimationValues.isEnabled) {
+            headsUpAnimator.headsUpAppearHeightBottom = bottomOfScreen.toInt()
+        } else {
+            stackScrollAlgorithm.setHeadsUpAppearHeightBottom(bottomOfScreen.toInt())
+        }
         whenever(notificationRow.mustStayOnScreen()).thenReturn(true)
         whenever(notificationRow.isHeadsUp).thenReturn(true)
         whenever(notificationRow.isAboveShelf).thenReturn(true)
@@ -412,6 +438,9 @@
         val topMargin = 100f
         ambientState.maxHeadsUpTranslation = 2000f
         ambientState.stackTopMargin = topMargin.toInt()
+        if (NotificationsHunSharedAnimationValues.isEnabled) {
+            headsUpAnimator.stackTopMargin = topMargin.toInt()
+        }
         whenever(notificationRow.intrinsicHeight).thenReturn(100)
         whenever(notificationRow.isHeadsUpAnimatingAway).thenReturn(true)
 
@@ -452,7 +481,11 @@
     @Test
     fun resetViewStates_hunsOverlapping_bottomHunClipped() {
         val topHun = mockExpandableNotificationRow()
+        whenever(topHun.key).thenReturn("key")
+        whenever(topHun.entryAdapter).thenReturn(notificationEntryAdapter)
         val bottomHun = mockExpandableNotificationRow()
+        whenever(bottomHun.key).thenReturn("key")
+        whenever(bottomHun.entryAdapter).thenReturn(notificationEntryAdapter)
         whenever(topHun.isHeadsUp).thenReturn(true)
         whenever(topHun.isPinned).thenReturn(true)
         whenever(bottomHun.isHeadsUp).thenReturn(true)
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 e7be20e..cb4642c 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
@@ -16,12 +16,18 @@
 
 package com.android.systemui.statusbar.notification.stack
 
+import android.platform.test.annotations.DisableFlags
+import android.platform.test.annotations.EnableFlags
+import android.platform.test.flag.junit.SetFlagsRule
 import android.testing.TestableLooper.RunWithLooper
 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.animation.AnimatorTestRule
 import com.android.systemui.res.R
+import com.android.systemui.statusbar.notification.headsup.HeadsUpAnimator
+import com.android.systemui.statusbar.notification.headsup.NotificationsHunSharedAnimationValues
 import com.android.systemui.statusbar.notification.row.ExpandableView
 import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.AnimationEvent
 import com.android.systemui.statusbar.notification.stack.StackStateAnimator.ANIMATION_DURATION_HEADS_UP_APPEAR
@@ -40,6 +46,7 @@
 import org.mockito.Mockito.description
 import org.mockito.Mockito.eq
 import org.mockito.Mockito.verify
+import org.mockito.kotlin.doNothing
 
 private const val VIEW_HEIGHT = 100
 private const val FULL_SHADE_APPEAR_TRANSLATION = 300
@@ -50,17 +57,19 @@
 @RunWithLooper
 class StackStateAnimatorTest : SysuiTestCase() {
 
+    @get:Rule val setFlagsRule = SetFlagsRule()
     @get:Rule val animatorTestRule = AnimatorTestRule(this)
 
     private lateinit var stackStateAnimator: StackStateAnimator
+    private lateinit var headsUpAnimator: HeadsUpAnimator
     private val stackScroller: NotificationStackScrollLayout = mock()
     private val view: ExpandableView = mock()
-    private val viewState: ExpandableViewState =
-        ExpandableViewState().apply { height = VIEW_HEIGHT }
+    private lateinit var viewState: ExpandableViewState
     private val runnableCaptor: ArgumentCaptor<Runnable> = argumentCaptor()
 
     @Before
     fun setUp() {
+        viewState = ExpandableViewState().apply { height = VIEW_HEIGHT }
         overrideResource(
             R.dimen.go_to_full_shade_appearing_translation,
             FULL_SHADE_APPEAR_TRANSLATION,
@@ -69,11 +78,20 @@
 
         whenever(stackScroller.context).thenReturn(context)
         whenever(view.viewState).thenReturn(viewState)
-        stackStateAnimator = StackStateAnimator(mContext, stackScroller)
+
+        if (NotificationsHunSharedAnimationValues.isEnabled) {
+            headsUpAnimator = HeadsUpAnimator(context)
+        }
+        stackStateAnimator = StackStateAnimator(
+            mContext,
+            stackScroller,
+            if (::headsUpAnimator.isInitialized) headsUpAnimator else null,
+        )
     }
 
     @Test
-    fun startAnimationForEvents_headsUpFromTop_startsHeadsUpAppearAnim() {
+    @DisableFlags(NotificationsHunSharedAnimationValues.FLAG_NAME)
+    fun startAnimationForEvents_headsUpFromTop_startsHeadsUpAppearAnim_flagOff() {
         val topMargin = 50f
         val expectedStartY = -topMargin - stackStateAnimator.mHeadsUpAppearStartAboveScreen
         val event = AnimationEvent(view, AnimationEvent.ANIMATION_TYPE_HEADS_UP_APPEAR)
@@ -94,7 +112,30 @@
     }
 
     @Test
-    fun startAnimationForEvents_headsUpFromBottom_startsHeadsUpAppearAnim() {
+    @EnableFlags(NotificationsHunSharedAnimationValues.FLAG_NAME)
+    fun startAnimationForEvents_headsUpFromTop_startsHeadsUpAppearAnim_flagOn() {
+        val topMargin = 50f
+        val expectedStartY = -topMargin - HEADS_UP_ABOVE_SCREEN
+        val event = AnimationEvent(view, AnimationEvent.ANIMATION_TYPE_HEADS_UP_APPEAR)
+        headsUpAnimator.stackTopMargin = topMargin.toInt()
+
+        stackStateAnimator.startAnimationForEvents(arrayListOf(event), 0)
+
+        verify(view).setFinalActualHeight(VIEW_HEIGHT)
+        verify(view, description("should animate from the top")).translationY = expectedStartY
+        verify(view)
+            .performAddAnimation(
+                /* delay= */ 0L,
+                /* duration= */ ANIMATION_DURATION_HEADS_UP_APPEAR.toLong(),
+                /* isHeadsUpAppear= */ true,
+                /* isHeadsUpCycling= */ false,
+                /* onEndRunnable= */ null,
+            )
+    }
+
+    @Test
+    @DisableFlags(NotificationsHunSharedAnimationValues.FLAG_NAME)
+    fun startAnimationForEvents_headsUpFromBottom_startsHeadsUpAppearAnim_flagOff() {
         val screenHeight = 2000f
         val expectedStartY = screenHeight + stackStateAnimator.mHeadsUpAppearStartAboveScreen
         val event =
@@ -117,8 +158,35 @@
             )
     }
 
+    @DisableFlags(Flags.FLAG_PHYSICAL_NOTIFICATION_MOVEMENT)
     @Test
-    fun startAnimationForEvents_startsHeadsUpDisappearAnim() {
+    @EnableFlags(NotificationsHunSharedAnimationValues.FLAG_NAME)
+    fun startAnimationForEvents_headsUpFromBottom_startsHeadsUpAppearAnim_flagOn() {
+        val screenHeight = 2000f
+        val expectedStartY = screenHeight + HEADS_UP_ABOVE_SCREEN
+        val event =
+            AnimationEvent(view, AnimationEvent.ANIMATION_TYPE_HEADS_UP_APPEAR).apply {
+                headsUpFromBottom = true
+            }
+        headsUpAnimator.headsUpAppearHeightBottom = screenHeight.toInt()
+
+        stackStateAnimator.startAnimationForEvents(arrayListOf(event), 0)
+
+        verify(view).setFinalActualHeight(VIEW_HEIGHT)
+        verify(view, description("should animate from the bottom")).translationY = expectedStartY
+        verify(view)
+            .performAddAnimation(
+                /* delay= */ 0L,
+                /* duration= */ ANIMATION_DURATION_HEADS_UP_APPEAR.toLong(),
+                /* isHeadsUpAppear= */ true,
+                /* isHeadsUpCycling= */ false,
+                /* onEndRunnable= */ null,
+            )
+    }
+
+    @Test
+    @DisableFlags(NotificationsHunSharedAnimationValues.FLAG_NAME)
+    fun startAnimationForEvents_startsHeadsUpDisappearAnim_flagOff() {
         val disappearDuration = ANIMATION_DURATION_HEADS_UP_DISAPPEAR.toLong()
         val event = AnimationEvent(view, AnimationEvent.ANIMATION_TYPE_HEADS_UP_DISAPPEAR)
         clearInvocations(view)
@@ -147,6 +215,62 @@
     }
 
     @Test
+    @EnableFlags(NotificationsHunSharedAnimationValues.FLAG_NAME)
+    fun startAnimationForEvents_startsHeadsUpDisappearAnim_flagOn() {
+        val disappearDuration = ANIMATION_DURATION_HEADS_UP_DISAPPEAR.toLong()
+        val event = AnimationEvent(view, AnimationEvent.ANIMATION_TYPE_HEADS_UP_DISAPPEAR)
+        clearInvocations(view)
+        stackStateAnimator.startAnimationForEvents(arrayListOf(event), 0)
+
+        verify(view)
+            .performRemoveAnimation(
+                /* duration= */ eq(disappearDuration),
+                /* delay= */ eq(0L),
+                /* translationDirection= */ eq(0f),
+                /* isHeadsUpAnimation= */ eq(true),
+                /* isHeadsUpCycling= */ eq(false),
+                /* onStartedRunnable= */ any(),
+                /* onFinishedRunnable= */ runnableCaptor.capture(),
+                /* animationListener= */ any(),
+                /* clipSide= */ eq(ExpandableView.ClipSide.BOTTOM),
+            )
+
+        animatorTestRule.advanceTimeBy(disappearDuration) // move to the end of SSA animations
+        runnableCaptor.value.run() // execute the end runnable
+
+        verify(view, description("should be translated to the heads up appear start"))
+            .translationY = -stackStateAnimator.mHeadsUpAppearStartAboveScreen
+        verify(view, description("should be called at the end of the disappear animation"))
+            .removeFromTransientContainer()
+    }
+
+    @EnableFlags(Flags.FLAG_PHYSICAL_NOTIFICATION_MOVEMENT)
+    @Test
+    fun startAnimationForEvents_startsHeadsUpDisappearAnim_physical() {
+        val disappearDuration = ANIMATION_DURATION_HEADS_UP_DISAPPEAR.toLong()
+        val event = AnimationEvent(view, AnimationEvent.ANIMATION_TYPE_HEADS_UP_DISAPPEAR)
+        clearInvocations(view)
+        stackStateAnimator.startAnimationForEvents(arrayListOf(event), 0)
+
+        verify(view)
+            .performRemoveAnimation(
+                /* duration= */ eq(disappearDuration),
+                /* delay= */ eq(0L),
+                /* translationDirection= */ eq(0f),
+                /* isHeadsUpAnimation= */ eq(true),
+                /* isHeadsUpCycling= */ eq(false),
+                /* onStartedRunnable= */ any(),
+                /* onFinishedRunnable= */ runnableCaptor.capture(),
+                /* animationListener= */ any(),
+                /* clipSide= */ eq(ExpandableView.ClipSide.BOTTOM),
+            )
+
+        runnableCaptor.value.run() // execute the end runnable
+        verify(view, description("should be called at the end of the disappear animation"))
+            .removeFromTransientContainer()
+    }
+
+    @Test
     fun initView_updatesResources() {
         // Given: the resource values are initialized in the SSA
         assertThat(stackStateAnimator.mGoToFullShadeAppearingTranslation)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/ViewStateTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/ViewStateTest.kt
index ef415c9..6ee1c4d 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/ViewStateTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/ViewStateTest.kt
@@ -16,6 +16,7 @@
 
 package com.android.systemui.statusbar.notification.stack
 
+import android.animation.AnimatorTestRule
 import android.animation.ValueAnimator
 import android.view.View
 import androidx.test.annotation.UiThreadTest
@@ -28,6 +29,7 @@
 import com.android.systemui.statusbar.notification.PhysicsPropertyAnimator.Companion.TAG_ANIMATOR_TRANSLATION_Y
 import com.android.systemui.statusbar.notification.PhysicsPropertyAnimator.Companion.Y_TRANSLATION
 import org.junit.Assert
+import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
 import kotlin.math.log2
@@ -38,6 +40,8 @@
 @UiThreadTest
 class ViewStateTest : SysuiTestCase() {
     private val viewState = ViewState(true /* usePhysicsForMovement */)
+    @get:Rule
+    val animatorTestRule = AnimatorTestRule(this)
 
     @Suppress("DIVISION_BY_ZERO")
     @Test
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.kt
index bd76268..6a56716 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.kt
@@ -388,7 +388,7 @@
 
         // Pulsing: Enabled
         row.isHeadsUp = true
-        underTest.updateHeadsUpAndPulsingRoundness(entry)
+        underTest.updateHeadsUpAndPulsingRoundness(row)
 
         val debugString: String = row.roundableState.debugString()
         // If Pulsing is enabled, roundness should be set to 1
@@ -397,7 +397,7 @@
 
         // Pulsing: Disabled
         row.isHeadsUp = false
-        underTest.updateHeadsUpAndPulsingRoundness(entry)
+        underTest.updateHeadsUpAndPulsingRoundness(row)
 
         // If Pulsing is disabled, roundness should be set to 0
         assertThat(row.topRoundness.toDouble()).isWithin(0.001).of(0.0)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.kt
index baea1a1..47967b3 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.kt
@@ -54,6 +54,7 @@
 import com.android.systemui.statusbar.notification.interruption.VisualInterruptionRefactor
 import com.android.systemui.statusbar.notification.interruption.VisualInterruptionType
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi
 import com.android.systemui.statusbar.notification.stack.notificationStackScrollLayoutController
 import com.android.systemui.statusbar.notification.visualInterruptionDecisionProvider
 import com.android.systemui.statusbar.notificationLockscreenUserManager
@@ -293,6 +294,7 @@
 
     @Test
     @EnableSceneContainer
+    @DisableFlags(NotificationBundleUi.FLAG_NAME)
     fun testExpandSensitiveNotification_onLockScreen_opensShade() =
         kosmos.runTest {
             // Given we are on the keyguard
@@ -303,11 +305,10 @@
             )
 
             // When the user expands a sensitive Notification
-            val row = createRow()
-            val entry =
-                row.entry.apply { setSensitive(/* sensitive= */ true, /* deviceSensitive= */ true) }
+            val row = createRow(createNotificationEntry())
+            row.entry.apply { setSensitive(/* sensitive= */ true, /* deviceSensitive= */ true) }
 
-            underTest.onExpandClicked(entry, mock(), /* nowExpanded= */ true)
+            underTest.onExpandClicked(row.entry, mock(), /* nowExpanded= */ true)
 
             // Then we open the locked shade
             verify(kosmos.lockscreenShadeTransitionController)
@@ -317,6 +318,32 @@
 
     @Test
     @EnableSceneContainer
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    fun testExpandSensitiveNotification_onLockScreen_opensShade_entryAdapter() =
+        kosmos.runTest {
+            // Given we are on the keyguard
+            kosmos.sysuiStatusBarStateController.state = StatusBarState.KEYGUARD
+            // And the device is locked
+            kosmos.fakeAuthenticationRepository.setAuthenticationMethod(
+                AuthenticationMethodModel.Pin
+            )
+
+            // When the user expands a sensitive Notification
+            val entry = createNotificationEntry()
+            val row = createRow(entry)
+            entry.setSensitive(/* sensitive= */ true, /* deviceSensitive= */ true)
+
+            underTest.onExpandClicked(row, row.entryAdapter, /* nowExpanded= */ true)
+
+            // Then we open the locked shade
+            verify(kosmos.lockscreenShadeTransitionController)
+                // Explicit parameters to avoid issues with Kotlin default arguments in Mockito
+                .goToLockedShade(row, true)
+        }
+
+    @Test
+    @EnableSceneContainer
+    @DisableFlags(NotificationBundleUi.FLAG_NAME)
     fun testExpandSensitiveNotification_onLockedShade_showsBouncer() =
         kosmos.runTest {
             // Given we are on the locked shade
@@ -328,7 +355,7 @@
 
             // When the user expands a sensitive Notification
             val entry =
-                createRow().entry.apply {
+                createRow(createNotificationEntry()).entry.apply {
                     setSensitive(/* sensitive= */ true, /* deviceSensitive= */ true)
                 }
             underTest.onExpandClicked(entry, mock(), /* nowExpanded= */ true)
@@ -337,6 +364,29 @@
             verify(kosmos.activityStarter).dismissKeyguardThenExecute(any(), eq(null), eq(false))
         }
 
+    @Test
+    @EnableSceneContainer
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
+    fun testExpandSensitiveNotification_onLockedShade_showsBouncer_entryAdapter() =
+        kosmos.runTest {
+            // Given we are on the locked shade
+            kosmos.sysuiStatusBarStateController.state = StatusBarState.SHADE_LOCKED
+            // And the device is locked
+            kosmos.fakeAuthenticationRepository.setAuthenticationMethod(
+                AuthenticationMethodModel.Pin
+            )
+
+            // When the user expands a sensitive Notification
+            val entry = createNotificationEntry()
+            val row = createRow(entry)
+            entry.setSensitive(/* sensitive= */ true, /* deviceSensitive= */ true)
+
+            underTest.onExpandClicked(row, row.entryAdapter, /* nowExpanded= */ true)
+
+            // Then we show the bouncer
+            verify(kosmos.activityStarter).dismissKeyguardThenExecute(any(), eq(null), eq(false))
+        }
+
     private fun createPresenter(): StatusBarNotificationPresenter {
         val initController: InitController = InitController()
         return StatusBarNotificationPresenter(
@@ -398,10 +448,13 @@
         interruptSuppressor = suppressorCaptor.lastValue
     }
 
-    private fun createRow(): ExpandableNotificationRow {
+    private fun createRow(entry: NotificationEntry): ExpandableNotificationRow {
         val row: ExpandableNotificationRow = mock()
-        val entry: NotificationEntry = createNotificationEntry()
-        whenever(row.entry).thenReturn(entry)
+        if (NotificationBundleUi.isEnabled) {
+            whenever(row.entryAdapter).thenReturn(entry.entryAdapter)
+        } else {
+            whenever(row.entry).thenReturn(entry)
+        }
         entry.row = row
         return row
     }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/LocationBasedMobileIconViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/LocationBasedMobileIconViewModelTest.kt
index cef0824e..1797c4c 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/LocationBasedMobileIconViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/LocationBasedMobileIconViewModelTest.kt
@@ -71,7 +71,6 @@
     private val connectivityRepository = FakeConnectivityRepository()
     private val flags =
         FakeFeatureFlagsClassic().also {
-            it.set(Flags.NEW_NETWORK_SLICE_UI, false)
             it.set(Flags.FILTER_PROVISIONING_NETWORK_SUBSCRIPTIONS, true)
         }
 
@@ -133,7 +132,7 @@
                 iconsInteractor.isForceHidden,
                 repository,
                 context,
-                MobileIconCarrierIdOverridesFake()
+                MobileIconCarrierIdOverridesFake(),
             )
 
         commonImpl =
@@ -142,7 +141,6 @@
                 interactor,
                 airplaneModeInteractor,
                 constants,
-                flags,
                 testScope.backgroundScope,
             )
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModelTest.kt
index 46777fa..3d37914 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModelTest.kt
@@ -21,8 +21,6 @@
 import androidx.test.filters.SmallTest
 import com.android.settingslib.mobile.TelephonyIcons
 import com.android.systemui.SysuiTestCase
-import com.android.systemui.flags.FakeFeatureFlagsClassic
-import com.android.systemui.flags.Flags
 import com.android.systemui.statusbar.phone.StatusBarLocation
 import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository
 import com.android.systemui.statusbar.pipeline.airplane.domain.interactor.AirplaneModeInteractor
@@ -60,7 +58,6 @@
 
     private lateinit var underTest: MobileIconsViewModel
     private val interactor = FakeMobileIconsInteractor(FakeMobileMappingsProxy(), mock())
-    private val flags = FakeFeatureFlagsClassic().also { it.set(Flags.NEW_NETWORK_SLICE_UI, false) }
 
     private lateinit var airplaneModeInteractor: AirplaneModeInteractor
     @Mock private lateinit var constants: ConnectivityConstants
@@ -88,7 +85,6 @@
                 interactor,
                 airplaneModeInteractor,
                 constants,
-                flags,
                 testScope.backgroundScope,
             )
 
@@ -108,7 +104,7 @@
                         isOpportunistic = false,
                         carrierName = "Carrier 1",
                         profileClass = PROFILE_CLASS_UNSET,
-                    ),
+                    )
                 )
             assertThat(latest).isEqualTo(listOf(1))
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/StackedMobileIconViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/StackedMobileIconViewModelTest.kt
index 20bdebd..d7bcf88 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/StackedMobileIconViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/StackedMobileIconViewModelTest.kt
@@ -22,8 +22,6 @@
 import androidx.test.filters.SmallTest
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.common.shared.model.Icon
-import com.android.systemui.flags.Flags
-import com.android.systemui.flags.fakeFeatureFlagsClassic
 import com.android.systemui.kosmos.Kosmos
 import com.android.systemui.kosmos.Kosmos.Fixture
 import com.android.systemui.kosmos.runTest
@@ -53,7 +51,6 @@
 
     @Before
     fun setUp() {
-        kosmos.fakeFeatureFlagsClassic.set(Flags.NEW_NETWORK_SLICE_UI, false)
         kosmos.underTest.activateIn(testScope)
     }
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/satellite/domain/interactor/DeviceBasedSatelliteInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/satellite/domain/interactor/DeviceBasedSatelliteInteractorTest.kt
index 9ad2315..29c6260 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/satellite/domain/interactor/DeviceBasedSatelliteInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/satellite/domain/interactor/DeviceBasedSatelliteInteractorTest.kt
@@ -16,11 +16,8 @@
 
 package com.android.systemui.statusbar.pipeline.satellite.domain.interactor
 
-import android.platform.test.annotations.DisableFlags
-import android.platform.test.annotations.EnableFlags
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
-import com.android.internal.telephony.flags.Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.coroutines.collectLastValue
 import com.android.systemui.log.core.FakeLogBuffer
@@ -71,7 +68,6 @@
     }
 
     @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun isSatelliteAllowed_falseWhenNotAllowed() =
         testScope.runTest {
             val latest by collectLastValue(underTest.isSatelliteAllowed)
@@ -84,7 +80,6 @@
         }
 
     @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun isSatelliteAllowed_trueWhenAllowed() =
         testScope.runTest {
             val latest by collectLastValue(underTest.isSatelliteAllowed)
@@ -97,33 +92,6 @@
         }
 
     @Test
-    @DisableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
-    fun isSatelliteAllowed_offWhenFlagIsOff() =
-        testScope.runTest {
-            // GIVEN feature is disabled
-
-            // Remake the interactor so the flag is read
-            underTest =
-                DeviceBasedSatelliteInteractor(
-                    repo,
-                    iconsInteractor,
-                    wifiInteractor,
-                    testScope.backgroundScope,
-                    FakeLogBuffer.Factory.create(),
-                    mock(),
-                )
-
-            val latest by collectLastValue(underTest.isSatelliteAllowed)
-
-            // WHEN satellite is allowed
-            repo.isSatelliteAllowedForCurrentLocation.value = true
-
-            // THEN the interactor returns false due to the flag value
-            assertThat(latest).isFalse()
-        }
-
-    @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun connectionState_matchesRepositoryValue() =
         testScope.runTest {
             val latest by collectLastValue(underTest.connectionState)
@@ -146,45 +114,6 @@
         }
 
     @Test
-    @DisableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
-    fun connectionState_offWhenFeatureIsDisabled() =
-        testScope.runTest {
-            // GIVEN the flag is disabled
-
-            // Remake the interactor so the flag is read
-            underTest =
-                DeviceBasedSatelliteInteractor(
-                    repo,
-                    iconsInteractor,
-                    wifiInteractor,
-                    testScope.backgroundScope,
-                    FakeLogBuffer.Factory.create(),
-                    mock(),
-                )
-
-            val latest by collectLastValue(underTest.connectionState)
-
-            // THEN the state is always Off, regardless of status in system_server
-
-            // Off
-            repo.connectionState.value = SatelliteConnectionState.Off
-            assertThat(latest).isEqualTo(SatelliteConnectionState.Off)
-
-            // On
-            repo.connectionState.value = SatelliteConnectionState.On
-            assertThat(latest).isEqualTo(SatelliteConnectionState.Off)
-
-            // Connected
-            repo.connectionState.value = SatelliteConnectionState.Connected
-            assertThat(latest).isEqualTo(SatelliteConnectionState.Off)
-
-            // Unknown
-            repo.connectionState.value = SatelliteConnectionState.Unknown
-            assertThat(latest).isEqualTo(SatelliteConnectionState.Off)
-        }
-
-    @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun signalStrength_matchesRepo() =
         testScope.runTest {
             val latest by collectLastValue(underTest.signalStrength)
@@ -203,40 +132,6 @@
         }
 
     @Test
-    @DisableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
-    fun signalStrength_zeroWhenDisabled() =
-        testScope.runTest {
-            // GIVEN the flag is enabled
-
-            // Remake the interactor so the flag is read
-            underTest =
-                DeviceBasedSatelliteInteractor(
-                    repo,
-                    iconsInteractor,
-                    wifiInteractor,
-                    testScope.backgroundScope,
-                    FakeLogBuffer.Factory.create(),
-                    mock(),
-                )
-
-            val latest by collectLastValue(underTest.signalStrength)
-
-            // THEN the value is always 0, regardless of what the system says
-            repo.signalStrength.value = 1
-            assertThat(latest).isEqualTo(0)
-
-            repo.signalStrength.value = 2
-            assertThat(latest).isEqualTo(0)
-
-            repo.signalStrength.value = 3
-            assertThat(latest).isEqualTo(0)
-
-            repo.signalStrength.value = 4
-            assertThat(latest).isEqualTo(0)
-        }
-
-    @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun areAllConnectionsOutOfService_noConnections_noDeviceEmergencyCalls_yes() =
         testScope.runTest {
             val latest by collectLastValue(underTest.areAllConnectionsOutOfService)
@@ -251,7 +146,6 @@
         }
 
     @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun areAllConnectionsOutOfService_noConnections_deviceEmergencyCalls_yes() =
         testScope.runTest {
             val latest by collectLastValue(underTest.areAllConnectionsOutOfService)
@@ -266,7 +160,6 @@
         }
 
     @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun areAllConnectionsOutOfService_oneConnectionInService_thenLost_noDeviceEmergencyCalls_yes() =
         testScope.runTest {
             val latest by collectLastValue(underTest.areAllConnectionsOutOfService)
@@ -292,7 +185,6 @@
         }
 
     @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun areAllConnectionsOutOfService_oneConnectionInService_thenLost_deviceEmergencyCalls_no() =
         testScope.runTest {
             val latest by collectLastValue(underTest.areAllConnectionsOutOfService)
@@ -318,7 +210,6 @@
         }
 
     @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun areAllConnectionsOutOfService_twoConnectionsOos_nonNtn_noDeviceEmergencyCalls_yes() =
         testScope.runTest {
             val latest by collectLastValue(underTest.areAllConnectionsOutOfService)
@@ -342,7 +233,6 @@
         }
 
     @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun areAllConnectionsOutOfService_twoConnectionsOos_nonNtn_deviceEmergencyCalls_no() =
         testScope.runTest {
             val latest by collectLastValue(underTest.areAllConnectionsOutOfService)
@@ -366,7 +256,6 @@
         }
 
     @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun areAllConnectionsOutOfService_twoConnectionsOos_noDeviceEmergencyCalls_oneNtn_no() =
         testScope.runTest {
             val latest by collectLastValue(underTest.areAllConnectionsOutOfService)
@@ -392,7 +281,6 @@
         }
 
     @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun areAllConnectionsOutOfService_oneConnectionOos_noDeviceEmergencyCalls_nonNtn_yes() =
         testScope.runTest {
             val latest by collectLastValue(underTest.areAllConnectionsOutOfService)
@@ -412,7 +300,6 @@
         }
 
     @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun areAllConnectionsOutOfService_oneConnectionOos_nonNtn_no() =
         testScope.runTest {
             val latest by collectLastValue(underTest.areAllConnectionsOutOfService)
@@ -432,7 +319,6 @@
         }
 
     @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun areAllConnectionsOutOfService_oneConnectionOos_ntn_no() =
         testScope.runTest {
             val latest by collectLastValue(underTest.areAllConnectionsOutOfService)
@@ -450,7 +336,6 @@
         }
 
     @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun areAllConnectionsOutOfService_oneConnectionInService_nonNtn_no() =
         testScope.runTest {
             val latest by collectLastValue(underTest.areAllConnectionsOutOfService)
@@ -467,7 +352,6 @@
         }
 
     @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun areAllConnectionsOutOfService_oneConnectionInService_ntn_no() =
         testScope.runTest {
             val latest by collectLastValue(underTest.areAllConnectionsOutOfService)
@@ -484,7 +368,6 @@
         }
 
     @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun areAllConnectionsOutOfService_twoConnectionsOneInService_nonNtn_no() =
         testScope.runTest {
             val latest by collectLastValue(underTest.areAllConnectionsOutOfService)
@@ -504,7 +387,6 @@
         }
 
     @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun areAllConnectionsOutOfService_twoConnectionsInService_nonNtn_no() =
         testScope.runTest {
             val latest by collectLastValue(underTest.areAllConnectionsOutOfService)
@@ -522,37 +404,6 @@
         }
 
     @Test
-    @DisableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
-    fun areAllConnectionsOutOfService_falseWhenFlagIsOff() =
-        testScope.runTest {
-            // GIVEN the flag is disabled
-
-            // Remake the interactor so the flag is read
-            underTest =
-                DeviceBasedSatelliteInteractor(
-                    repo,
-                    iconsInteractor,
-                    wifiInteractor,
-                    testScope.backgroundScope,
-                    FakeLogBuffer.Factory.create(),
-                    mock(),
-                )
-
-            val latest by collectLastValue(underTest.areAllConnectionsOutOfService)
-
-            // GIVEN a condition that should return true (all conections OOS)
-
-            val i1 = iconsInteractor.getMobileConnectionInteractorForSubId(1)
-            val i2 = iconsInteractor.getMobileConnectionInteractorForSubId(2)
-
-            i1.isInService.value = true
-            i2.isInService.value = true
-
-            // THEN the value is still false, because the flag is off
-            assertThat(latest).isFalse()
-        }
-
-    @Test
     fun isWifiActive_falseWhenWifiNotActive() =
         testScope.runTest {
             val latest by collectLastValue(underTest.isWifiActive)
@@ -577,7 +428,6 @@
         }
 
     @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun isAnyConnectionNtn_trueWhenAnyNtn() =
         testScope.runTest {
             val latest by collectLastValue(underTest.isAnyConnectionNtn)
@@ -595,7 +445,6 @@
         }
 
     @Test
-    @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG)
     fun isAnyConnectionNtn_falseWhenNoNtn() =
         testScope.runTest {
             val latest by collectLastValue(underTest.isAnyConnectionNtn)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/policy/ClockTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/policy/ClockTest.kt
deleted file mode 100644
index 7549a7f..0000000
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/policy/ClockTest.kt
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.statusbar.policy
-
-import android.testing.TestableLooper
-import android.view.View.MeasureSpec.UNSPECIFIED
-import android.view.View.MeasureSpec.makeMeasureSpec
-import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
-import android.widget.LinearLayout
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.SmallTest
-import com.android.systemui.SysuiTestCase
-import org.junit.Before
-import org.junit.runner.RunWith
-
-import com.google.common.truth.Truth.assertThat
-import org.junit.Test
-
-@SmallTest
-@RunWith(AndroidJUnit4::class)
-@TestableLooper.RunWithLooper
-class ClockTest : SysuiTestCase() {
-    private lateinit var clockView: Clock
-
-    @Before
-    fun setUp() {
-        allowTestableLooperAsMainThread()
-        TestableLooper.get(this).runWithLooper {
-            val container = LinearLayout(context)
-            val lp = LinearLayout.LayoutParams(1000, WRAP_CONTENT)
-            container.layoutParams = lp
-            clockView = Clock(context, null)
-            container.addView(clockView)
-            measureClock()
-        }
-    }
-
-    @Test
-    fun testWidthDoesNotDecrease_sameCharLength() {
-        // GIVEN time is narrow
-        clockView.text = ONE_3
-        measureClock()
-        val width1 = clockView.measuredWidth
-
-        // WHEN the text changes to be wider characters
-        clockView.text = ZERO_3
-        measureClock()
-        val width2 = clockView.measuredWidth
-
-        // THEN the width should be wider (or equals when using monospace font)
-        assertThat(width2).isAtLeast(width1)
-    }
-
-    @Test
-    fun testWidthDoesNotDecrease_narrowerFont_sameNumberOfChars() {
-        // GIVEN time is wide
-        clockView.text = ZERO_3
-        measureClock()
-        val width1 = clockView.measuredWidth
-
-        // WHEN the text changes to a narrower font
-        clockView.text = ONE_3
-        measureClock()
-        val width2 = clockView.measuredWidth
-
-        // THEN the width should not have decreased, and they should in fact be the same
-        assertThat(width2).isEqualTo(width1)
-    }
-
-    @Test
-    fun testWidthIncreases_whenCharsChanges() {
-        // GIVEN wide 3-char text
-        clockView.text = ZERO_3
-        measureClock()
-        val width1 = clockView.measuredWidth
-
-        // WHEN text changes to 4-char wide text
-        clockView.text = ZERO_4
-        measureClock()
-        val width2 = clockView.measuredWidth
-
-        // THEN the text field is wider
-        assertThat(width2).isGreaterThan(width1)
-    }
-
-    @Test
-    fun testWidthDecreases_whenCharsChange_longToShort() {
-        // GIVEN wide 4-char text
-        clockView.text = ZERO_4
-        measureClock()
-        val width1 = clockView.measuredWidth
-
-        // WHEN number of characters changes to a narrow 3-char text
-        clockView.text = ONE_3
-        measureClock()
-        val width2 = clockView.measuredWidth
-
-        // THEN the width can shrink, because number of chars changed
-        assertThat(width2).isLessThan(width1)
-    }
-
-    private fun measureClock() {
-        clockView.measure(
-                makeMeasureSpec(0, UNSPECIFIED),
-                makeMeasureSpec(0, UNSPECIFIED)
-        )
-    }
-}
-
-/**
- * In a non-monospace font, it is expected that "0:00" is wider than "1:11"
- */
-private const val ZERO_3 = "0:00"
-private const val ZERO_4 = "00:00"
-private const val ONE_3 = "1:11"
-private const val ONE_4 = "11:11"
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/volume/dialog/domain/interactor/VolumeDialogVisibilityInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/volume/dialog/domain/interactor/VolumeDialogVisibilityInteractorTest.kt
index d0cabec..a303da0 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/volume/dialog/domain/interactor/VolumeDialogVisibilityInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/volume/dialog/domain/interactor/VolumeDialogVisibilityInteractorTest.kt
@@ -17,16 +17,17 @@
 package com.android.systemui.volume.dialog.domain.interactor
 
 import android.app.ActivityManager
-import android.testing.TestableLooper
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
 import com.android.systemui.SysuiTestCase
+import com.android.systemui.accessibility.data.repository.accessibilityRepository
 import com.android.systemui.coroutines.collectLastValue
 import com.android.systemui.kosmos.Kosmos
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.plugins.fakeVolumeDialogController
 import com.android.systemui.testKosmos
 import com.android.systemui.volume.Events
+import com.android.systemui.volume.dialog.shared.model.VolumeDialogSafetyWarningModel
 import com.android.systemui.volume.dialog.shared.model.VolumeDialogVisibilityModel
 import com.google.common.truth.Truth.assertThat
 import kotlin.time.Duration.Companion.days
@@ -34,7 +35,6 @@
 import kotlinx.coroutines.test.advanceTimeBy
 import kotlinx.coroutines.test.runCurrent
 import kotlinx.coroutines.test.runTest
-import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
 
@@ -42,17 +42,18 @@
 
 @SmallTest
 @RunWith(AndroidJUnit4::class)
-@TestableLooper.RunWithLooper
+@OptIn(kotlinx.coroutines.ExperimentalCoroutinesApi::class)
 class VolumeDialogVisibilityInteractorTest : SysuiTestCase() {
 
-    private val kosmos: Kosmos = testKosmos()
+    private val kosmos: Kosmos =
+        testKosmos().apply {
+            accessibilityRepository.setRecommendedTimeout(dialogTimeoutDuration)
+            volumeDialogStateInteractor.setHovering(false)
+            volumeDialogStateInteractor.setSafetyWarning(VolumeDialogSafetyWarningModel.Invisible)
+        }
 
-    private lateinit var underTest: VolumeDialogVisibilityInteractor
-
-    @Before
-    fun setUp() {
-        underTest = kosmos.volumeDialogVisibilityInteractor
-    }
+    private val underTest: VolumeDialogVisibilityInteractor =
+        kosmos.volumeDialogVisibilityInteractor
 
     @Test
     fun testShowRequest_visible() =
@@ -92,6 +93,7 @@
                 runCurrent()
 
                 fakeVolumeDialogController.onDismissRequested(Events.DISMISS_REASON_SCREEN_OFF)
+                runCurrent()
 
                 assertThat(visibilityModel!!)
                     .isEqualTo(
@@ -105,7 +107,6 @@
         with(kosmos) {
             testScope.runTest {
                 runCurrent()
-                underTest.resetDismissTimeout()
                 val visibilityModel by collectLastValue(underTest.dialogVisibility)
                 fakeVolumeDialogController.onShowRequested(
                     Events.SHOW_REASON_VOLUME_CHANGED,
@@ -126,7 +127,6 @@
         with(kosmos) {
             testScope.runTest {
                 runCurrent()
-                underTest.resetDismissTimeout()
                 val visibilityModel by collectLastValue(underTest.dialogVisibility)
                 fakeVolumeDialogController.onShowRequested(
                     Events.SHOW_REASON_VOLUME_CHANGED,
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/volume/dialog/sliders/domain/interactor/VolumeDialogSliderInputEventsInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/volume/dialog/sliders/domain/interactor/VolumeDialogSliderInputEventsInteractorTest.kt
index 4ed0d6e..14b61e1 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/volume/dialog/sliders/domain/interactor/VolumeDialogSliderInputEventsInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/volume/dialog/sliders/domain/interactor/VolumeDialogSliderInputEventsInteractorTest.kt
@@ -17,10 +17,10 @@
 package com.android.systemui.volume.dialog.sliders.domain.interactor
 
 import android.app.ActivityManager
-import android.testing.TestableLooper
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
 import com.android.systemui.SysuiTestCase
+import com.android.systemui.accessibility.data.repository.accessibilityRepository
 import com.android.systemui.kosmos.collectLastValue
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.plugins.fakeVolumeDialogController
@@ -35,24 +35,19 @@
 import kotlinx.coroutines.test.advanceTimeBy
 import kotlinx.coroutines.test.runCurrent
 import kotlinx.coroutines.test.runTest
-import org.junit.Before
 import org.junit.runner.RunWith
 
 private val volumeDialogTimeout = 3.seconds
 
 @SmallTest
 @RunWith(AndroidJUnit4::class)
-@TestableLooper.RunWithLooper
 class VolumeDialogSliderInputEventsInteractorTest : SysuiTestCase() {
 
-    private val kosmos = testKosmos()
+    private val kosmos =
+        testKosmos().apply { accessibilityRepository.setRecommendedTimeout(volumeDialogTimeout) }
 
-    private lateinit var underTest: VolumeDialogSliderInputEventsInteractor
-
-    @Before
-    fun setup() {
-        underTest = kosmos.volumeDialogSliderInputEventsInteractor
-    }
+    private val underTest: VolumeDialogSliderInputEventsInteractor =
+        kosmos.volumeDialogSliderInputEventsInteractor
 
     @Test
     fun inputEvents_resetDialogVisibilityTimeout() =
diff --git a/packages/SystemUI/plugin/bcsmartspace/src/com/android/systemui/plugins/BcSmartspaceDataPlugin.java b/packages/SystemUI/plugin/bcsmartspace/src/com/android/systemui/plugins/BcSmartspaceDataPlugin.java
index b2083c2..d7b4cba 100644
--- a/packages/SystemUI/plugin/bcsmartspace/src/com/android/systemui/plugins/BcSmartspaceDataPlugin.java
+++ b/packages/SystemUI/plugin/bcsmartspace/src/com/android/systemui/plugins/BcSmartspaceDataPlugin.java
@@ -85,6 +85,10 @@
         throw new UnsupportedOperationException("Not implemented by " + getClass());
     }
 
+    default SmartspaceView getLargeClockView(ViewGroup parent) {
+        throw new UnsupportedOperationException("Not implemented by " + getClass());
+    }
+
     /**
      * As the smartspace view becomes available, allow listeners to receive an event.
      */
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockLogger.kt b/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockLogger.kt
index 3ed321e..02a3902 100644
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockLogger.kt
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockLogger.kt
@@ -16,7 +16,9 @@
 
 package com.android.systemui.plugins.clocks
 
+import android.graphics.Rect
 import android.view.View
+import android.view.View.MeasureSpec
 import com.android.systemui.log.core.LogLevel
 import com.android.systemui.log.core.LogcatOnlyMessageBuffer
 import com.android.systemui.log.core.Logger
@@ -46,12 +48,21 @@
         }
     }
 
-    fun onMeasure() {
-        d("onMeasure()")
+    fun onMeasure(widthSpec: Int, heightSpec: Int) {
+        d({ "onMeasure(${getSpecText(int1)}, ${getSpecText(int2)})" }) {
+            int1 = widthSpec
+            int2 = heightSpec
+        }
     }
 
-    fun onLayout() {
-        d("onLayout()")
+    fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int) {
+        d({ "onLayout($bool1, ${Rect(int1, int2, long1.toInt(), long2.toInt())})" }) {
+            bool1 = changed
+            int1 = left
+            int2 = top
+            long1 = right.toLong()
+            long2 = bottom.toLong()
+        }
     }
 
     fun onDraw() {
@@ -90,8 +101,8 @@
         }
     }
 
-    fun addView(child: View) {
-        d({ "addView($str1 @$int1)" }) {
+    fun onViewAdded(child: View) {
+        d({ "onViewAdded($str1 @$int1)" }) {
             str1 = child::class.simpleName!!
             int1 = child.id
         }
@@ -133,6 +144,20 @@
         }
 
         @JvmStatic
+        fun getSpecText(spec: Int): String {
+            val size = MeasureSpec.getSize(spec)
+            val mode = MeasureSpec.getMode(spec)
+            val modeText =
+                when (mode) {
+                    MeasureSpec.EXACTLY -> "EXACTLY"
+                    MeasureSpec.AT_MOST -> "AT MOST"
+                    MeasureSpec.UNSPECIFIED -> "UNSPECIFIED"
+                    else -> "$mode"
+                }
+            return "($size, $modeText)"
+        }
+
+        @JvmStatic
         fun escapeTime(timeStr: String?): String? {
             return timeStr?.replace("\n", "\\n")
         }
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockPickerConfig.kt b/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockPickerConfig.kt
index 6e4dc14..0cbc30d 100644
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockPickerConfig.kt
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/clocks/ClockPickerConfig.kt
@@ -34,6 +34,9 @@
 
     /** Font axes that can be modified on this clock */
     val axes: List<ClockFontAxis> = listOf(),
+
+    /** List of font presets for this clock. Can be assigned directly. */
+    val axisPresets: List<List<ClockFontAxisSetting>> = listOf(),
 )
 
 /** Represents an Axis that can be modified */
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java
index 56176cf..d197cdb7 100644
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java
@@ -42,7 +42,7 @@
 @DependsOn(target = Icon.class)
 @DependsOn(target = State.class)
 public interface QSTile {
-    int VERSION = 4;
+    int VERSION = 5;
 
     String getTileSpec();
 
@@ -78,6 +78,7 @@
     void longClick(@Nullable Expandable expandable);
 
     void userSwitch(int currentUser);
+    int getCurrentTileUser();
 
     /**
      * @deprecated not needed as {@link com.android.internal.logging.UiEvent} will use
@@ -150,6 +151,8 @@
         return null;
     }
 
+    boolean isDestroyed();
+
     @ProvidesInterface(version = Callback.VERSION)
     interface Callback {
         static final int VERSION = 2;
diff --git a/packages/SystemUI/pods/Android.bp b/packages/SystemUI/pods/Android.bp
index e45f317..fba8962 100644
--- a/packages/SystemUI/pods/Android.bp
+++ b/packages/SystemUI/pods/Android.bp
@@ -20,3 +20,19 @@
     // specify default_visibility:
     default_visibility: ["//visibility:private"],
 }
+
+java_defaults {
+    name: "SystemUI_pod_defaults",
+    libs: [
+        "jsr330",
+    ],
+    lint: {
+        extra_check_modules: ["SystemUILintChecker"],
+        warning_checks: ["MissingApacheLicenseDetector"],
+    },
+    kotlincflags: [
+        "-Xexplicit-api=strict",
+        "-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/RetailModeModule.kt b/packages/SystemUI/pods/com/android/systemui/retail/RetailModeModule.kt
index c20e368..fe78bb3 100644
--- a/packages/SystemUI/pods/com/android/systemui/retail/RetailModeModule.kt
+++ b/packages/SystemUI/pods/com/android/systemui/retail/RetailModeModule.kt
@@ -24,11 +24,15 @@
 import dagger.Module
 
 @Module
-abstract class RetailModeModule {
+public abstract class RetailModeModule {
 
     @Binds
-    abstract fun bindsRetailModeRepository(impl: RetailModeSettingsRepository): RetailModeRepository
+    public abstract fun bindsRetailModeRepository(
+        impl: RetailModeSettingsRepository
+    ): RetailModeRepository
 
     @Binds
-    abstract fun bindsRetailModeInteractor(impl: RetailModeInteractorImpl): RetailModeInteractor
+    public abstract fun bindsRetailModeInteractor(
+        impl: RetailModeInteractorImpl
+    ): RetailModeInteractor
 }
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/data/repository/RetailModeRepository.kt b/packages/SystemUI/pods/com/android/systemui/retail/data/repository/RetailModeRepository.kt
index c9eac25..4fd6985 100644
--- a/packages/SystemUI/pods/com/android/systemui/retail/data/repository/RetailModeRepository.kt
+++ b/packages/SystemUI/pods/com/android/systemui/retail/data/repository/RetailModeRepository.kt
@@ -19,11 +19,11 @@
 import kotlinx.coroutines.flow.StateFlow
 
 /** Repository to track if the device is in Retail mode */
-interface RetailModeRepository {
+public interface RetailModeRepository {
     /** Flow of whether the device is currently in retail mode. */
-    val retailMode: StateFlow<Boolean>
+    public val retailMode: StateFlow<Boolean>
 
     /** Last value of whether the device is in retail mode. */
-    val inRetailMode: Boolean
+    public val inRetailMode: Boolean
         get() = retailMode.value
 }
diff --git a/packages/SystemUI/pods/com/android/systemui/retail/data/repository/impl/RetailModeSettingsRepository.kt b/packages/SystemUI/pods/com/android/systemui/retail/data/repository/impl/RetailModeSettingsRepository.kt
index 8955263..7296835 100644
--- a/packages/SystemUI/pods/com/android/systemui/retail/data/repository/impl/RetailModeSettingsRepository.kt
+++ b/packages/SystemUI/pods/com/android/systemui/retail/data/repository/impl/RetailModeSettingsRepository.kt
@@ -38,17 +38,17 @@
 /**
  * Tracks [Settings.Global.DEVICE_DEMO_MODE].
  *
- * @see UserManager.isDeviceInDemoMode
+ * @see android.os.UserManager.isDeviceInDemoMode
  */
 @SysUISingleton
-class RetailModeSettingsRepository
+public class RetailModeSettingsRepository
 @Inject
 constructor(
     globalSettings: GlobalSettings,
     @Background backgroundDispatcher: CoroutineDispatcher,
     @Application scope: CoroutineScope,
 ) : RetailModeRepository {
-    override val retailMode =
+    override val retailMode: StateFlow<Boolean> =
         conflatedCallbackFlow {
                 val observer =
                     object : ContentObserver(null) {
@@ -66,7 +66,7 @@
             .flowOn(backgroundDispatcher)
             .stateIn(scope, SharingStarted.Eagerly, false)
 
-    companion object {
+    public companion object {
         private const val RETAIL_MODE_SETTING = Settings.Global.DEVICE_DEMO_MODE
     }
 }
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/retail/domain/interactor/RetailModeInteractor.kt b/packages/SystemUI/pods/com/android/systemui/retail/domain/interactor/RetailModeInteractor.kt
index 748e34d..3e44f8d 100644
--- a/packages/SystemUI/pods/com/android/systemui/retail/domain/interactor/RetailModeInteractor.kt
+++ b/packages/SystemUI/pods/com/android/systemui/retail/domain/interactor/RetailModeInteractor.kt
@@ -17,7 +17,7 @@
 package com.android.systemui.retail.domain.interactor
 
 /** Interactor to determine if the device is currently in retail mode */
-interface RetailModeInteractor {
+public interface RetailModeInteractor {
     /** Whether the device is currently in retail mode */
-    val isInRetailMode: Boolean
+    public val isInRetailMode: Boolean
 }
diff --git a/packages/SystemUI/pods/com/android/systemui/retail/domain/interactor/impl/RetailModeInteractorImpl.kt b/packages/SystemUI/pods/com/android/systemui/retail/domain/interactor/impl/RetailModeInteractorImpl.kt
index 8dbe562..52b4bcc 100644
--- a/packages/SystemUI/pods/com/android/systemui/retail/domain/interactor/impl/RetailModeInteractorImpl.kt
+++ b/packages/SystemUI/pods/com/android/systemui/retail/domain/interactor/impl/RetailModeInteractorImpl.kt
@@ -22,11 +22,9 @@
 import javax.inject.Inject
 
 @SysUISingleton
-class RetailModeInteractorImpl
+public class RetailModeInteractorImpl
 @Inject
-constructor(
-    private val repository: RetailModeRepository,
-) : RetailModeInteractor {
+constructor(private val repository: RetailModeRepository) : RetailModeInteractor {
     override val isInRetailMode: Boolean
         get() = repository.inRetailMode
 }
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/pods/com/android/systemui/util/settings/SettingsProxy.kt b/packages/SystemUI/pods/com/android/systemui/util/settings/SettingsProxy.kt
index 597276a..a8d4f79 100644
--- a/packages/SystemUI/pods/com/android/systemui/util/settings/SettingsProxy.kt
+++ b/packages/SystemUI/pods/com/android/systemui/util/settings/SettingsProxy.kt
@@ -19,6 +19,7 @@
 import android.content.ContentResolver
 import android.database.ContentObserver
 import android.net.Uri
+import android.provider.Settings
 import android.provider.Settings.SettingNotFoundException
 import androidx.annotation.AnyThread
 import androidx.annotation.WorkerThread
@@ -28,6 +29,7 @@
 import kotlin.coroutines.coroutineContext
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Job
 
 /**
  * Used to interact with mainly with Settings.Global, but can also be used for Settings.System and
@@ -43,15 +45,15 @@
  * This class also provides [.registerContentObserver] methods, normally found on [ContentResolver]
  * instances, unifying setting related actions in one place.
  */
-interface SettingsProxy {
+public interface SettingsProxy {
     /** Returns the [ContentResolver] this instance was constructed with. */
-    fun getContentResolver(): ContentResolver
+    public fun getContentResolver(): ContentResolver
 
     /** Returns the [CoroutineScope] that the async APIs will use. */
-    val settingsScope: CoroutineScope
+    public val settingsScope: CoroutineScope
 
     @OptIn(ExperimentalStdlibApi::class)
-    suspend fun executeOnSettingsScopeDispatcher(name: String, block: () -> Unit) {
+    public suspend fun executeOnSettingsScopeDispatcher(name: String, block: () -> Unit) {
         val settingsDispatcher = settingsScope.coroutineContext[CoroutineDispatcher]
         if (
             settingsDispatcher != null &&
@@ -70,7 +72,7 @@
      * @param name to look up in the table
      * @return the corresponding content URI, or null if not present
      */
-    @AnyThread fun getUriFor(name: String): Uri
+    @AnyThread public fun getUriFor(name: String): Uri
 
     /**
      * Registers listener for a given content observer <b>while blocking the current thread</b>.
@@ -80,7 +82,7 @@
      * [registerContentObserverAsync] instead.
      */
     @WorkerThread
-    fun registerContentObserverSync(name: String, settingsObserver: ContentObserver) {
+    public fun registerContentObserverSync(name: String, settingsObserver: ContentObserver) {
         registerContentObserverSync(getUriFor(name), settingsObserver)
     }
 
@@ -91,7 +93,7 @@
      * registration happens on a worker thread. Caller may wrap the API in an async block if they
      * wish to synchronize execution.
      */
-    suspend fun registerContentObserver(name: String, settingsObserver: ContentObserver) {
+    public suspend fun registerContentObserver(name: String, settingsObserver: ContentObserver) {
         executeOnSettingsScopeDispatcher("registerContentObserver-A") {
             registerContentObserverSync(getUriFor(name), settingsObserver)
         }
@@ -103,7 +105,7 @@
      * API corresponding to [registerContentObserver] for Java usage.
      */
     @AnyThread
-    fun registerContentObserverAsync(name: String, settingsObserver: ContentObserver) =
+    public fun registerContentObserverAsync(name: String, settingsObserver: ContentObserver): Job =
         settingsScope.launch("registerContentObserverAsync-A") {
             registerContentObserverSync(getUriFor(name), settingsObserver)
         }
@@ -116,11 +118,11 @@
      * value.
      */
     @AnyThread
-    fun registerContentObserverAsync(
+    public fun registerContentObserverAsync(
         name: String,
         settingsObserver: ContentObserver,
         @WorkerThread registered: Runnable,
-    ) =
+    ): Job =
         settingsScope.launch("registerContentObserverAsync-B") {
             registerContentObserverSync(getUriFor(name), settingsObserver)
             registered.run()
@@ -133,8 +135,9 @@
      * [registerContentObserverAsync] instead.
      */
     @WorkerThread
-    fun registerContentObserverSync(uri: Uri, settingsObserver: ContentObserver) =
+    public fun registerContentObserverSync(uri: Uri, settingsObserver: ContentObserver) {
         registerContentObserverSync(uri, false, settingsObserver)
+    }
 
     /**
      * Convenience wrapper around [ContentResolver.registerContentObserver].'
@@ -143,7 +146,7 @@
      * registration happens on a worker thread. Caller may wrap the API in an async block if they
      * wish to synchronize execution.
      */
-    suspend fun registerContentObserver(uri: Uri, settingsObserver: ContentObserver) {
+    public suspend fun registerContentObserver(uri: Uri, settingsObserver: ContentObserver) {
         executeOnSettingsScopeDispatcher("registerContentObserver-B") {
             registerContentObserverSync(uri, settingsObserver)
         }
@@ -155,7 +158,7 @@
      * API corresponding to [registerContentObserver] for Java usage.
      */
     @AnyThread
-    fun registerContentObserverAsync(uri: Uri, settingsObserver: ContentObserver) =
+    public fun registerContentObserverAsync(uri: Uri, settingsObserver: ContentObserver): Job =
         settingsScope.launch("registerContentObserverAsync-C") {
             registerContentObserverSync(uri, settingsObserver)
         }
@@ -168,11 +171,11 @@
      * value.
      */
     @AnyThread
-    fun registerContentObserverAsync(
+    public fun registerContentObserverAsync(
         uri: Uri,
         settingsObserver: ContentObserver,
         @WorkerThread registered: Runnable,
-    ) =
+    ): Job =
         settingsScope.launch("registerContentObserverAsync-D") {
             registerContentObserverSync(uri, settingsObserver)
             registered.run()
@@ -184,11 +187,13 @@
      * Implicitly calls [getUriFor] on the passed in name.
      */
     @WorkerThread
-    fun registerContentObserverSync(
+    public fun registerContentObserverSync(
         name: String,
         notifyForDescendants: Boolean,
         settingsObserver: ContentObserver,
-    ) = registerContentObserverSync(getUriFor(name), notifyForDescendants, settingsObserver)
+    ) {
+        registerContentObserverSync(getUriFor(name), notifyForDescendants, settingsObserver)
+    }
 
     /**
      * Convenience wrapper around [ContentResolver.registerContentObserver].'
@@ -197,7 +202,7 @@
      * registration happens on a worker thread. Caller may wrap the API in an async block if they
      * wish to synchronize execution.
      */
-    suspend fun registerContentObserver(
+    public suspend fun registerContentObserver(
         name: String,
         notifyForDescendants: Boolean,
         settingsObserver: ContentObserver,
@@ -213,11 +218,11 @@
      * API corresponding to [registerContentObserver] for Java usage.
      */
     @AnyThread
-    fun registerContentObserverAsync(
+    public fun registerContentObserverAsync(
         name: String,
         notifyForDescendants: Boolean,
         settingsObserver: ContentObserver,
-    ) =
+    ): Job =
         settingsScope.launch("registerContentObserverAsync-E") {
             registerContentObserverSync(getUriFor(name), notifyForDescendants, settingsObserver)
         }
@@ -230,12 +235,12 @@
      * value.
      */
     @AnyThread
-    fun registerContentObserverAsync(
+    public fun registerContentObserverAsync(
         name: String,
         notifyForDescendants: Boolean,
         settingsObserver: ContentObserver,
         @WorkerThread registered: Runnable,
-    ) =
+    ): Job =
         settingsScope.launch("registerContentObserverAsync-F") {
             registerContentObserverSync(getUriFor(name), notifyForDescendants, settingsObserver)
             registered.run()
@@ -248,7 +253,7 @@
      * [registerContentObserverAsync] instead.
      */
     @WorkerThread
-    fun registerContentObserverSync(
+    public fun registerContentObserverSync(
         uri: Uri,
         notifyForDescendants: Boolean,
         settingsObserver: ContentObserver,
@@ -266,7 +271,7 @@
      * registration happens on a worker thread. Caller may wrap the API in an async block if they
      * wish to synchronize execution.
      */
-    suspend fun registerContentObserver(
+    public suspend fun registerContentObserver(
         uri: Uri,
         notifyForDescendants: Boolean,
         settingsObserver: ContentObserver,
@@ -282,11 +287,11 @@
      * API corresponding to [registerContentObserver] for Java usage.
      */
     @AnyThread
-    fun registerContentObserverAsync(
+    public fun registerContentObserverAsync(
         uri: Uri,
         notifyForDescendants: Boolean,
         settingsObserver: ContentObserver,
-    ) =
+    ): Job =
         settingsScope.launch("registerContentObserverAsync-G") {
             registerContentObserverSync(uri, notifyForDescendants, settingsObserver)
         }
@@ -299,12 +304,12 @@
      * value.
      */
     @AnyThread
-    fun registerContentObserverAsync(
+    public fun registerContentObserverAsync(
         uri: Uri,
         notifyForDescendants: Boolean,
         settingsObserver: ContentObserver,
         @WorkerThread registered: Runnable,
-    ) =
+    ): Job =
         settingsScope.launch("registerContentObserverAsync-H") {
             registerContentObserverSync(uri, notifyForDescendants, settingsObserver)
             registered.run()
@@ -317,7 +322,7 @@
      * [unregisterContentObserverAsync] instead.
      */
     @WorkerThread
-    fun unregisterContentObserverSync(settingsObserver: ContentObserver) {
+    public fun unregisterContentObserverSync(settingsObserver: ContentObserver) {
         trace({ "SP#unregisterObserver" }) {
             getContentResolver().unregisterContentObserver(settingsObserver)
         }
@@ -330,7 +335,7 @@
      * [ContentObserver] un-registration happens on a worker thread. Caller may wrap the API in an
      * async block if they wish to synchronize execution.
      */
-    suspend fun unregisterContentObserver(settingsObserver: ContentObserver) {
+    public suspend fun unregisterContentObserver(settingsObserver: ContentObserver) {
         executeOnSettingsScopeDispatcher("unregisterContentObserver") {
             unregisterContentObserverSync(settingsObserver)
         }
@@ -343,7 +348,7 @@
      * [ContentObserver] registration happens on a worker thread.
      */
     @AnyThread
-    fun unregisterContentObserverAsync(settingsObserver: ContentObserver) =
+    public fun unregisterContentObserverAsync(settingsObserver: ContentObserver): Job =
         settingsScope.launch("unregisterContentObserverAsync") {
             unregisterContentObserver(settingsObserver)
         }
@@ -354,7 +359,7 @@
      * @param name to look up in the table
      * @return the corresponding value, or null if not present
      */
-    fun getString(name: String): String?
+    public fun getString(name: String): String?
 
     /**
      * Store a name/value pair into the database.
@@ -363,7 +368,7 @@
      * @param value to associate with the name
      * @return true if the value was set, false on database errors
      */
-    fun putString(name: String, value: String?): Boolean
+    public fun putString(name: String, value: String?): Boolean
 
     /**
      * Store a name/value pair into the database.
@@ -394,7 +399,7 @@
      * @return true if the value was set, false on database errors.
      * @see .resetToDefaults
      */
-    fun putString(name: String, value: String?, tag: String?, makeDefault: Boolean): Boolean
+    public fun putString(name: String, value: String?, tag: String?, makeDefault: Boolean): Boolean
 
     /**
      * Convenience function for retrieving a single secure settings value as an integer. Note that
@@ -406,7 +411,7 @@
      * @param default Value to return if the setting is not defined.
      * @return The setting's current value, or default if it is not defined or not a valid integer.
      */
-    fun getInt(name: String, default: Int): Int {
+    public fun getInt(name: String, default: Int): Int {
         val v = getString(name)
         return try {
             v?.toInt() ?: default
@@ -429,7 +434,7 @@
      *   found or the setting value is not an integer.
      */
     @Throws(SettingNotFoundException::class)
-    fun getInt(name: String): Int {
+    public fun getInt(name: String): Int {
         val v = getString(name) ?: throw SettingNotFoundException(name)
         return try {
             v.toInt()
@@ -448,7 +453,7 @@
      * @param value The new value for the setting.
      * @return true if the value was set, false on database errors
      */
-    fun putInt(name: String, value: Int): Boolean {
+    public fun putInt(name: String, value: Int): Boolean {
         return putString(name, value.toString())
     }
 
@@ -462,7 +467,7 @@
      * @param default Value to return if the setting is not defined.
      * @return The setting's current value, or default if it is not defined or not a valid boolean.
      */
-    fun getBool(name: String, default: Boolean): Boolean {
+    public fun getBool(name: String, default: Boolean): Boolean {
         return getInt(name, if (default) 1 else 0) != 0
     }
 
@@ -480,7 +485,7 @@
      *   found or the setting value is not a boolean.
      */
     @Throws(SettingNotFoundException::class)
-    fun getBool(name: String): Boolean {
+    public fun getBool(name: String): Boolean {
         return getInt(name) != 0
     }
 
@@ -494,7 +499,7 @@
      * @param value The new value for the setting.
      * @return true if the value was set, false on database errors
      */
-    fun putBool(name: String, value: Boolean): Boolean {
+    public fun putBool(name: String, value: Boolean): Boolean {
         return putInt(name, if (value) 1 else 0)
     }
 
@@ -508,7 +513,7 @@
      * @param def Value to return if the setting is not defined.
      * @return The setting's current value, or 'def' if it is not defined or not a valid `long`.
      */
-    fun getLong(name: String, def: Long): Long {
+    public fun getLong(name: String, def: Long): Long {
         val valString = getString(name)
         return parseLongOrUseDefault(valString, def)
     }
@@ -527,7 +532,7 @@
      *   found or the setting value is not an integer.
      */
     @Throws(SettingNotFoundException::class)
-    fun getLong(name: String): Long {
+    public fun getLong(name: String): Long {
         val valString = getString(name)
         return parseLongOrThrow(name, valString)
     }
@@ -542,7 +547,7 @@
      * @param value The new value for the setting.
      * @return true if the value was set, false on database errors
      */
-    fun putLong(name: String, value: Long): Boolean {
+    public fun putLong(name: String, value: Long): Boolean {
         return putString(name, value.toString())
     }
 
@@ -556,7 +561,7 @@
      * @param def Value to return if the setting is not defined.
      * @return The setting's current value, or 'def' if it is not defined or not a valid float.
      */
-    fun getFloat(name: String, def: Float): Float {
+    public fun getFloat(name: String, def: Float): Float {
         val v = getString(name)
         return parseFloat(v, def)
     }
@@ -575,7 +580,7 @@
      *   found or the setting value is not a float.
      */
     @Throws(SettingNotFoundException::class)
-    fun getFloat(name: String): Float {
+    public fun getFloat(name: String): Float {
         val v = getString(name)
         return parseFloatOrThrow(name, v)
     }
@@ -590,14 +595,14 @@
      * @param value The new value for the setting.
      * @return true if the value was set, false on database errors
      */
-    fun putFloat(name: String, value: Float): Boolean {
+    public fun putFloat(name: String, value: Float): Boolean {
         return putString(name, value.toString())
     }
 
-    companion object {
+    public companion object {
         /** Convert a string to a long, or uses a default if the string is malformed or null */
         @JvmStatic
-        fun parseLongOrUseDefault(valString: String?, default: Long): Long {
+        public fun parseLongOrUseDefault(valString: String?, default: Long): Long {
             val value: Long =
                 try {
                     valString?.toLong() ?: default
@@ -610,7 +615,7 @@
         /** Convert a string to a long, or throws an exception if the string is malformed or null */
         @JvmStatic
         @Throws(SettingNotFoundException::class)
-        fun parseLongOrThrow(name: String, valString: String?): Long {
+        public fun parseLongOrThrow(name: String, valString: String?): Long {
             if (valString == null) {
                 throw SettingNotFoundException(name)
             }
@@ -623,7 +628,7 @@
 
         /** Convert a string to a float, or uses a default if the string is malformed or null */
         @JvmStatic
-        fun parseFloat(v: String?, def: Float): Float {
+        public fun parseFloat(v: String?, def: Float): Float {
             return try {
                 v?.toFloat() ?: def
             } catch (e: NumberFormatException) {
@@ -636,7 +641,7 @@
          */
         @JvmStatic
         @Throws(SettingNotFoundException::class)
-        fun parseFloatOrThrow(name: String, v: String?): Float {
+        public fun parseFloatOrThrow(name: String, v: String?): Float {
             if (v == null) {
                 throw SettingNotFoundException(name)
             }
@@ -648,7 +653,7 @@
         }
     }
 
-    fun interface CurrentUserIdProvider {
-        @UserIdInt fun getUserId(): Int
+    public fun interface CurrentUserIdProvider {
+        @UserIdInt public fun getUserId(): Int
     }
 }
diff --git a/packages/SystemUI/pods/com/android/systemui/util/settings/SettingsProxyExt.kt b/packages/SystemUI/pods/com/android/systemui/util/settings/SettingsProxyExt.kt
index 36468144..60feaf1 100644
--- a/packages/SystemUI/pods/com/android/systemui/util/settings/SettingsProxyExt.kt
+++ b/packages/SystemUI/pods/com/android/systemui/util/settings/SettingsProxyExt.kt
@@ -17,6 +17,7 @@
 
 package com.android.systemui.util.settings
 
+import android.annotation.SuppressLint
 import android.annotation.UserIdInt
 import android.database.ContentObserver
 import com.android.systemui.Flags
@@ -25,10 +26,11 @@
 import kotlinx.coroutines.flow.Flow
 
 /** Kotlin extension functions for [SettingsProxy]. */
-object SettingsProxyExt {
+@SuppressLint("RegisterContentObserverSyncWarning")
+public object SettingsProxyExt {
 
     /** Returns a flow of [Unit] that is invoked each time that content is updated. */
-    fun UserSettingsProxy.observerFlow(
+    public fun UserSettingsProxy.observerFlow(
         @UserIdInt userId: Int,
         vararg names: String,
     ): Flow<Unit> {
@@ -59,9 +61,7 @@
     }
 
     /** Returns a flow of [Unit] that is invoked each time that content is updated. */
-    fun SettingsProxy.observerFlow(
-        vararg names: String,
-    ): Flow<Unit> {
+    public fun SettingsProxy.observerFlow(vararg names: String): Flow<Unit> {
         return conflatedCallbackFlow {
             val observer =
                 object : ContentObserver(null) {
diff --git a/packages/SystemUI/pods/com/android/systemui/util/settings/UserSettingsProxy.kt b/packages/SystemUI/pods/com/android/systemui/util/settings/UserSettingsProxy.kt
index 3ccac9e3..61c7f73 100644
--- a/packages/SystemUI/pods/com/android/systemui/util/settings/UserSettingsProxy.kt
+++ b/packages/SystemUI/pods/com/android/systemui/util/settings/UserSettingsProxy.kt
@@ -15,6 +15,7 @@
  */
 package com.android.systemui.util.settings
 
+import android.annotation.SuppressLint
 import android.annotation.UserIdInt
 import android.annotation.WorkerThread
 import android.content.ContentResolver
@@ -28,6 +29,7 @@
 import com.android.systemui.util.settings.SettingsProxy.Companion.parseFloatOrThrow
 import com.android.systemui.util.settings.SettingsProxy.Companion.parseLongOrThrow
 import com.android.systemui.util.settings.SettingsProxy.Companion.parseLongOrUseDefault
+import kotlinx.coroutines.Job
 
 /**
  * Used to interact with per-user Settings.Secure and Settings.System settings (but not
@@ -42,11 +44,12 @@
  * This class also provides [.registerContentObserver] methods, normally found on [ContentResolver]
  * instances, unifying setting related actions in one place.
  */
-interface UserSettingsProxy : SettingsProxy {
-    val currentUserProvider: SettingsProxy.CurrentUserIdProvider
+@SuppressLint("RegisterContentObserverSyncWarning")
+public interface UserSettingsProxy : SettingsProxy {
+    public val currentUserProvider: SettingsProxy.CurrentUserIdProvider
 
     /** Returns the user id for the associated [ContentResolver]. */
-    var userId: Int
+    public var userId: Int
         get() = getContentResolver().userId
         set(_) {
             throw UnsupportedOperationException(
@@ -58,7 +61,7 @@
      * Returns the actual current user handle when querying with the current user. Otherwise,
      * returns the passed in user id.
      */
-    fun getRealUserHandle(userHandle: Int): Int {
+    public fun getRealUserHandle(userHandle: Int): Int {
         return if (userHandle != UserHandle.USER_CURRENT) {
             userHandle
         } else currentUserProvider.getUserId()
@@ -75,7 +78,7 @@
         }
     }
 
-    override fun registerContentObserverAsync(uri: Uri, settingsObserver: ContentObserver) =
+    override fun registerContentObserverAsync(uri: Uri, settingsObserver: ContentObserver): Job =
         settingsScope.launch("registerContentObserverAsync-A") {
             registerContentObserverForUserSync(uri, settingsObserver, userId)
         }
@@ -109,7 +112,7 @@
         uri: Uri,
         notifyForDescendants: Boolean,
         settingsObserver: ContentObserver,
-    ) =
+    ): Job =
         settingsScope.launch("registerContentObserverAsync-B") {
             registerContentObserverForUserSync(uri, notifyForDescendants, settingsObserver, userId)
         }
@@ -120,7 +123,7 @@
      * Implicitly calls [getUriFor] on the passed in name.
      */
     @WorkerThread
-    fun registerContentObserverForUserSync(
+    public fun registerContentObserverForUserSync(
         name: String,
         settingsObserver: ContentObserver,
         userHandle: Int,
@@ -135,7 +138,7 @@
      * [ContentObserver] registration happens on a worker thread. Caller may wrap the API in an
      * async block if they wish to synchronize execution.
      */
-    suspend fun registerContentObserverForUser(
+    public suspend fun registerContentObserverForUser(
         name: String,
         settingsObserver: ContentObserver,
         userHandle: Int,
@@ -150,11 +153,11 @@
      *
      * API corresponding to [registerContentObserverForUser] for Java usage.
      */
-    fun registerContentObserverForUserAsync(
+    public fun registerContentObserverForUserAsync(
         name: String,
         settingsObserver: ContentObserver,
         userHandle: Int,
-    ) =
+    ): Job =
         settingsScope.launch("registerContentObserverForUserAsync-A") {
             try {
                 registerContentObserverForUserSync(getUriFor(name), settingsObserver, userHandle)
@@ -165,7 +168,7 @@
 
     /** Convenience wrapper around [ContentResolver.registerContentObserver] */
     @WorkerThread
-    fun registerContentObserverForUserSync(
+    public fun registerContentObserverForUserSync(
         uri: Uri,
         settingsObserver: ContentObserver,
         userHandle: Int,
@@ -180,7 +183,7 @@
      * [ContentObserver] registration happens on a worker thread. Caller may wrap the API in an
      * async block if they wish to synchronize execution.
      */
-    suspend fun registerContentObserverForUser(
+    public suspend fun registerContentObserverForUser(
         uri: Uri,
         settingsObserver: ContentObserver,
         userHandle: Int,
@@ -195,11 +198,11 @@
      *
      * API corresponding to [registerContentObserverForUser] for Java usage.
      */
-    fun registerContentObserverForUserAsync(
+    public fun registerContentObserverForUserAsync(
         uri: Uri,
         settingsObserver: ContentObserver,
         userHandle: Int,
-    ) =
+    ): Job =
         settingsScope.launch("registerContentObserverForUserAsync-B") {
             try {
                 registerContentObserverForUserSync(uri, settingsObserver, userHandle)
@@ -215,12 +218,12 @@
      * complete, the callback block is called on the <b>background thread</b> to allow for update of
      * value.
      */
-    fun registerContentObserverForUserAsync(
+    public fun registerContentObserverForUserAsync(
         uri: Uri,
         settingsObserver: ContentObserver,
         userHandle: Int,
         @WorkerThread registered: Runnable,
-    ) =
+    ): Job =
         settingsScope.launch("registerContentObserverForUserAsync-C") {
             try {
                 registerContentObserverForUserSync(uri, settingsObserver, userHandle)
@@ -236,7 +239,7 @@
      * Implicitly calls [getUriFor] on the passed in name.
      */
     @WorkerThread
-    fun registerContentObserverForUserSync(
+    public fun registerContentObserverForUserSync(
         name: String,
         notifyForDescendants: Boolean,
         settingsObserver: ContentObserver,
@@ -257,7 +260,7 @@
      * [ContentObserver] registration happens on a worker thread. Caller may wrap the API in an
      * async block if they wish to synchronize execution.
      */
-    suspend fun registerContentObserverForUser(
+    public suspend fun registerContentObserverForUser(
         name: String,
         notifyForDescendants: Boolean,
         settingsObserver: ContentObserver,
@@ -278,7 +281,7 @@
      *
      * API corresponding to [registerContentObserverForUser] for Java usage.
      */
-    fun registerContentObserverForUserAsync(
+    public fun registerContentObserverForUserAsync(
         name: String,
         notifyForDescendants: Boolean,
         settingsObserver: ContentObserver,
@@ -300,7 +303,7 @@
 
     /** Convenience wrapper around [ContentResolver.registerContentObserver] */
     @WorkerThread
-    fun registerContentObserverForUserSync(
+    public fun registerContentObserverForUserSync(
         uri: Uri,
         notifyForDescendants: Boolean,
         settingsObserver: ContentObserver,
@@ -314,7 +317,6 @@
                     settingsObserver,
                     getRealUserHandle(userHandle),
                 )
-            Unit
         }
     }
 
@@ -325,7 +327,7 @@
      * [ContentObserver] registration happens on a worker thread. Caller may wrap the API in an
      * async block if they wish to synchronize execution.
      */
-    suspend fun registerContentObserverForUser(
+    public suspend fun registerContentObserverForUser(
         uri: Uri,
         notifyForDescendants: Boolean,
         settingsObserver: ContentObserver,
@@ -346,12 +348,12 @@
      *
      * API corresponding to [registerContentObserverForUser] for Java usage.
      */
-    fun registerContentObserverForUserAsync(
+    public fun registerContentObserverForUserAsync(
         uri: Uri,
         notifyForDescendants: Boolean,
         settingsObserver: ContentObserver,
         userHandle: Int,
-    ) =
+    ): Job =
         settingsScope.launch("registerContentObserverForUserAsync-E") {
             try {
                 registerContentObserverForUserSync(
@@ -376,7 +378,7 @@
     }
 
     /** See [getString]. */
-    fun getStringForUser(name: String, userHandle: Int): String?
+    public fun getStringForUser(name: String, userHandle: Int): String?
 
     /**
      * Store a name/value pair into the database. Values written by this method will be overridden
@@ -386,17 +388,17 @@
      * @param value to associate with the name
      * @return true if the value was set, false on database errors
      */
-    fun putString(name: String, value: String?, overrideableByRestore: Boolean): Boolean
+    public fun putString(name: String, value: String?, overrideableByRestore: Boolean): Boolean
 
     override fun putString(name: String, value: String?): Boolean {
         return putStringForUser(name, value, userId)
     }
 
     /** Similar implementation to [putString] for the specified [userHandle]. */
-    fun putStringForUser(name: String, value: String?, userHandle: Int): Boolean
+    public fun putStringForUser(name: String, value: String?, userHandle: Int): Boolean
 
     /** Similar implementation to [putString] for the specified [userHandle]. */
-    fun putStringForUser(
+    public fun putStringForUser(
         name: String,
         value: String?,
         tag: String?,
@@ -410,7 +412,7 @@
     }
 
     /** Similar implementation to [getInt] for the specified [userHandle]. */
-    fun getIntForUser(name: String, default: Int, userHandle: Int): Int {
+    public fun getIntForUser(name: String, default: Int, userHandle: Int): Int {
         val v = getStringForUser(name, userHandle)
         return try {
             v?.toInt() ?: default
@@ -420,11 +422,11 @@
     }
 
     @Throws(SettingNotFoundException::class)
-    override fun getInt(name: String) = getIntForUser(name, userId)
+    override fun getInt(name: String): Int = getIntForUser(name, userId)
 
     /** Similar implementation to [getInt] for the specified [userHandle]. */
     @Throws(SettingNotFoundException::class)
-    fun getIntForUser(name: String, userHandle: Int): Int {
+    public fun getIntForUser(name: String, userHandle: Int): Int {
         val v = getStringForUser(name, userHandle) ?: throw SettingNotFoundException(name)
         return try {
             v.toInt()
@@ -433,24 +435,24 @@
         }
     }
 
-    override fun putInt(name: String, value: Int) = putIntForUser(name, value, userId)
+    override fun putInt(name: String, value: Int): Boolean = putIntForUser(name, value, userId)
 
     /** Similar implementation to [getInt] for the specified [userHandle]. */
-    fun putIntForUser(name: String, value: Int, userHandle: Int) =
+    public fun putIntForUser(name: String, value: Int, userHandle: Int): Boolean =
         putStringForUser(name, value.toString(), userHandle)
 
-    override fun getBool(name: String, def: Boolean) = getBoolForUser(name, def, userId)
+    override fun getBool(name: String, def: Boolean): Boolean = getBoolForUser(name, def, userId)
 
     /** Similar implementation to [getBool] for the specified [userHandle]. */
-    fun getBoolForUser(name: String, def: Boolean, userHandle: Int) =
+    public fun getBoolForUser(name: String, def: Boolean, userHandle: Int): Boolean =
         getIntForUser(name, if (def) 1 else 0, userHandle) != 0
 
     @Throws(SettingNotFoundException::class)
-    override fun getBool(name: String) = getBoolForUser(name, userId)
+    override fun getBool(name: String): Boolean = getBoolForUser(name, userId)
 
     /** Similar implementation to [getBool] for the specified [userHandle]. */
     @Throws(SettingNotFoundException::class)
-    fun getBoolForUser(name: String, userHandle: Int): Boolean {
+    public fun getBoolForUser(name: String, userHandle: Int): Boolean {
         return getIntForUser(name, userHandle) != 0
     }
 
@@ -459,40 +461,40 @@
     }
 
     /** Similar implementation to [putBool] for the specified [userHandle]. */
-    fun putBoolForUser(name: String, value: Boolean, userHandle: Int) =
+    public fun putBoolForUser(name: String, value: Boolean, userHandle: Int): Boolean =
         putIntForUser(name, if (value) 1 else 0, userHandle)
 
     /** Similar implementation to [getLong] for the specified [userHandle]. */
-    fun getLongForUser(name: String, def: Long, userHandle: Int): Long {
+    public fun getLongForUser(name: String, def: Long, userHandle: Int): Long {
         val valString = getStringForUser(name, userHandle)
         return parseLongOrUseDefault(valString, def)
     }
 
     /** Similar implementation to [getLong] for the specified [userHandle]. */
     @Throws(SettingNotFoundException::class)
-    fun getLongForUser(name: String, userHandle: Int): Long {
+    public fun getLongForUser(name: String, userHandle: Int): Long {
         val valString = getStringForUser(name, userHandle)
         return parseLongOrThrow(name, valString)
     }
 
     /** Similar implementation to [putLong] for the specified [userHandle]. */
-    fun putLongForUser(name: String, value: Long, userHandle: Int) =
+    public fun putLongForUser(name: String, value: Long, userHandle: Int): Boolean =
         putStringForUser(name, value.toString(), userHandle)
 
     /** Similar implementation to [getFloat] for the specified [userHandle]. */
-    fun getFloatForUser(name: String, def: Float, userHandle: Int): Float {
+    public fun getFloatForUser(name: String, def: Float, userHandle: Int): Float {
         val v = getStringForUser(name, userHandle)
         return parseFloat(v, def)
     }
 
     /** Similar implementation to [getFloat] for the specified [userHandle]. */
     @Throws(SettingNotFoundException::class)
-    fun getFloatForUser(name: String, userHandle: Int): Float {
+    public fun getFloatForUser(name: String, userHandle: Int): Float {
         val v = getStringForUser(name, userHandle)
         return parseFloatOrThrow(name, v)
     }
 
     /** Similar implementation to [putFloat] for the specified [userHandle]. */
-    fun putFloatForUser(name: String, value: Float, userHandle: Int) =
+    public fun putFloatForUser(name: String, value: Float, userHandle: Int): Boolean =
         putStringForUser(name, value.toString(), userHandle)
 }
diff --git a/packages/SystemUI/res-keyguard/layout/default_clock_preview.xml b/packages/SystemUI/res-keyguard/layout/default_clock_preview.xml
deleted file mode 100644
index 3e6dd13..0000000
--- a/packages/SystemUI/res-keyguard/layout/default_clock_preview.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    >
-    <TextClock
-        android:id="@+id/time"
-        style="@style/widget_big"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_above="@id/date"
-        android:letterSpacing="0.03"
-        android:gravity="center_horizontal"
-        android:format12Hour="@string/keyguard_widget_12_hours_format"
-        android:format24Hour="@string/keyguard_widget_24_hours_format"
-        />
-
-    <TextClock
-        android:id="@+id/date"
-        style="@stype/widget_big"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_centerInParent="true"
-        android:letterSpacing="0.03"
-        android:gravity="center_horizontal"
-        android:format12Hour="EEE, MMM d"
-        android:format24Hour="EEE, MMM d"
-        />
-</RelativeLayout>
diff --git a/packages/SystemUI/res-keyguard/layout/digital_clock.xml b/packages/SystemUI/res-keyguard/layout/digital_clock.xml
deleted file mode 100644
index 38ee081..0000000
--- a/packages/SystemUI/res-keyguard/layout/digital_clock.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (C) 2019 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_gravity="center_horizontal"
-    android:layout_alignParentTop="true">
-  <TextClock
-      android:id="@+id/lock_screen_clock"
-      android:layout_width="match_parent"
-      android:layout_height="wrap_content"
-      android:layout_gravity="center_horizontal"
-      android:gravity="center_horizontal"
-      android:paddingBottom="@dimen/widget_vertical_padding_clock"
-      android:letterSpacing="0.03"
-      android:textColor="?attr/wallpaperTextColor"
-      android:singleLine="true"
-      style="@style/widget_small_bold"
-      android:format12Hour="@string/keyguard_widget_12_hours_format"
-      android:format24Hour="@string/keyguard_widget_24_hours_format"
-      android:elegantTextHeight="false"
-  />
-</FrameLayout>
-
diff --git a/packages/CompanionDeviceManager/res/drawable/btn_positive_bottom.xml b/packages/SystemUI/res/drawable/notification_2025_guts_priority_button_bg.xml
similarity index 63%
copy from packages/CompanionDeviceManager/res/drawable/btn_positive_bottom.xml
copy to packages/SystemUI/res/drawable/notification_2025_guts_priority_button_bg.xml
index 2cff473..1de8c2b 100644
--- a/packages/CompanionDeviceManager/res/drawable/btn_positive_bottom.xml
+++ b/packages/SystemUI/res/drawable/notification_2025_guts_priority_button_bg.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
-  ~ Copyright (C) 2022 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.
@@ -12,12 +12,16 @@
   ~ distributed under the License is distributed on an "AS IS" BASIS,
   ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
+  ~ limitations under the License
   -->
-
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
-       android:shape="rectangle">
-    <solid android:color="@android:color/system_accent1_100"/>
-    <corners android:topLeftRadius="12dp" android:topRightRadius="12dp"
-             android:bottomLeftRadius="4dp" android:bottomRightRadius="4dp"/>
+       android:shape="rectangle" >
+    <solid
+        android:color="@color/notification_guts_priority_button_bg_fill" />
+
+    <stroke
+        android:width="1.5dp"
+        android:color="@color/notification_guts_priority_button_bg_stroke" />
+
+    <corners android:radius="16dp" />
 </shape>
diff --git a/packages/SystemUI/res/layout/combined_qs_header.xml b/packages/SystemUI/res/layout/combined_qs_header.xml
index 32407c6..5c06585 100644
--- a/packages/SystemUI/res/layout/combined_qs_header.xml
+++ b/packages/SystemUI/res/layout/combined_qs_header.xml
@@ -86,6 +86,7 @@
         android:singleLine="true"
         android:textDirection="locale"
         android:textAppearance="@style/TextAppearance.QS.Status"
+        android:fontFeatureSettings="tnum"
         android:transformPivotX="0dp"
         android:transformPivotY="24dp"
         android:scaleX="1"
diff --git a/packages/SystemUI/res/layout/keyguard_status_bar.xml b/packages/SystemUI/res/layout/keyguard_status_bar.xml
index 4cb7591..d5f9d4c 100644
--- a/packages/SystemUI/res/layout/keyguard_status_bar.xml
+++ b/packages/SystemUI/res/layout/keyguard_status_bar.xml
@@ -76,7 +76,7 @@
         android:gravity="center_vertical"
         android:ellipsize="marquee"
         android:textDirection="locale"
-        android:textAppearance="@style/TextAppearance.StatusBar.Clock"
+        android:textAppearance="@style/TextAppearance.StatusBar.Carrier"
         android:textColor="?attr/wallpaperTextColorSecondary"
         android:singleLine="true"
         systemui:showMissingSim="true"
diff --git a/packages/SystemUI/res/layout/notification_2025_info.xml b/packages/SystemUI/res/layout/notification_2025_info.xml
new file mode 100644
index 0000000..7b69166
--- /dev/null
+++ b/packages/SystemUI/res/layout/notification_2025_info.xml
@@ -0,0 +1,365 @@
+<?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.
+-->
+
+<!-- extends LinearLayout -->
+<com.android.systemui.statusbar.notification.row.NotificationInfo
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+    android:id="@+id/notification_guts"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:focusable="true"
+    android:clipChildren="false"
+    android:clipToPadding="true"
+    android:orientation="vertical"
+    android:paddingStart="@*android:dimen/notification_2025_margin">
+
+    <!-- Package Info -->
+    <LinearLayout
+        android:id="@+id/header"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:clipChildren="false"
+        android:clipToPadding="true">
+        <ImageView
+            android:id="@+id/pkg_icon"
+            android:layout_width="@*android:dimen/notification_2025_icon_circle_size"
+            android:layout_height="@*android:dimen/notification_2025_icon_circle_size"
+            android:layout_marginTop="@*android:dimen/notification_2025_margin"
+            android:layout_marginEnd="@*android:dimen/notification_2025_margin" />
+        <LinearLayout
+            android:id="@+id/names"
+            android:layout_weight="1"
+            android:layout_width="0dp"
+            android:orientation="vertical"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@*android:dimen/notification_2025_margin"
+            android:minHeight="@*android:dimen/notification_2025_icon_circle_size">
+            <TextView
+                android:id="@+id/channel_name"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:textDirection="locale"
+                style="@style/TextAppearance.NotificationImportanceChannel"/>
+            <TextView
+                android:id="@+id/group_name"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:textDirection="locale"
+                android:ellipsize="end"
+                style="@style/TextAppearance.NotificationImportanceChannelGroup"/>
+            <TextView
+                android:id="@+id/pkg_name"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                style="@style/TextAppearance.NotificationImportanceApp"
+                android:ellipsize="end"
+                android:textDirection="locale"
+                android:maxLines="1"/>
+            <TextView
+                android:id="@+id/delegate_name"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                style="@style/TextAppearance.NotificationImportanceHeader"
+                android:ellipsize="end"
+                android:textDirection="locale"
+                android:text="@string/notification_delegate_header"
+                android:maxLines="1" />
+
+        </LinearLayout>
+
+        <!-- feedback for notificationassistantservice -->
+        <ImageButton
+            android:id="@+id/feedback"
+            android:layout_width="@dimen/notification_2025_guts_button_size"
+            android:layout_height="@dimen/notification_2025_guts_button_size"
+            android:visibility="gone"
+            android:background="@drawable/ripple_drawable"
+            android:contentDescription="@string/notification_guts_bundle_feedback"
+            android:src="@*android:drawable/ic_feedback"
+            android:paddingTop="@*android:dimen/notification_2025_margin"
+            android:tint="@androidprv:color/materialColorPrimary"/>
+
+        <!-- Optional link to app. Only appears if the channel is not disabled and the app
+        asked for it -->
+        <ImageButton
+            android:id="@+id/app_settings"
+            android:layout_width="@dimen/notification_2025_guts_button_size"
+            android:layout_height="@dimen/notification_2025_guts_button_size"
+            android:visibility="gone"
+            android:background="@drawable/ripple_drawable"
+            android:contentDescription="@string/notification_app_settings"
+            android:src="@drawable/ic_info"
+            android:paddingTop="@*android:dimen/notification_2025_margin"
+            android:tint="@androidprv:color/materialColorPrimary"/>
+
+        <!-- System notification settings -->
+        <ImageButton
+            android:id="@+id/info"
+            android:layout_width="@dimen/notification_2025_guts_button_size"
+            android:layout_height="@dimen/notification_2025_guts_button_size"
+            android:contentDescription="@string/notification_more_settings"
+            android:background="@drawable/ripple_drawable"
+            android:src="@drawable/ic_settings"
+            android:padding="@*android:dimen/notification_2025_margin"
+            android:tint="@androidprv:color/materialColorPrimary" />
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:id="@+id/inline_controls"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginEnd="@*android:dimen/notification_2025_margin"
+        android:layout_marginTop="@*android:dimen/notification_2025_margin"
+        android:clipChildren="false"
+        android:clipToPadding="false"
+        android:orientation="vertical">
+
+        <!-- Non configurable app/channel text. appears instead of @+id/interruptiveness_settings-->
+        <TextView
+            android:id="@+id/non_configurable_text"
+            android:text="@string/notification_unblockable_desc"
+            android:visibility="gone"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            style="@*android:style/TextAppearance.DeviceDefault.Notification" />
+
+        <!-- Non configurable app/channel text. appears instead of @+id/interruptiveness_settings-->
+        <TextView
+            android:id="@+id/non_configurable_call_text"
+            android:text="@string/notification_unblockable_call_desc"
+            android:visibility="gone"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            style="@*android:style/TextAppearance.DeviceDefault.Notification" />
+
+        <!-- Non configurable multichannel text. appears instead of @+id/interruptiveness_settings-->
+        <TextView
+            android:id="@+id/non_configurable_multichannel_text"
+            android:text="@string/notification_multichannel_desc"
+            android:visibility="gone"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            style="@*android:style/TextAppearance.DeviceDefault.Notification" />
+
+        <LinearLayout
+            android:id="@+id/interruptiveness_settings"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center"
+            android:orientation="vertical">
+            <com.android.systemui.statusbar.notification.row.ButtonLinearLayout
+                android:id="@+id/automatic"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:paddingVertical="@dimen/notification_2025_importance_button_padding_vertical"
+                android:paddingHorizontal="@dimen/notification_2025_importance_button_padding_horizontal"
+                android:gravity="center_vertical"
+                android:clickable="true"
+                android:focusable="true"
+                android:background="@drawable/notification_2025_guts_priority_button_bg"
+                android:orientation="horizontal"
+                android:visibility="gone">
+                <ImageView
+                    android:id="@+id/automatic_icon"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:paddingEnd="@*android:dimen/notification_2025_margin"
+                    android:src="@drawable/ic_notifications_automatic"
+                    android:background="@android:color/transparent"
+                    android:tint="@color/notification_guts_priority_contents"
+                    android:clickable="false"
+                    android:focusable="false"/>
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:gravity="center"
+                >
+                    <TextView
+                        android:id="@+id/automatic_label"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_weight="1"
+                        android:ellipsize="end"
+                        android:maxLines="1"
+                        android:clickable="false"
+                        android:focusable="false"
+                        android:textAppearance="@style/TextAppearance.NotificationImportanceButton"
+                        android:text="@string/notification_automatic_title"/>
+                    <TextView
+                        android:id="@+id/automatic_summary"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/notification_importance_button_description_top_margin"
+                        android:visibility="gone"
+                        android:text="@string/notification_channel_summary_automatic"
+                        android:clickable="false"
+                        android:focusable="false"
+                        android:ellipsize="end"
+                        android:maxLines="2"
+                        android:textAppearance="@style/TextAppearance.NotificationImportanceDetail"/>
+                </LinearLayout>
+            </com.android.systemui.statusbar.notification.row.ButtonLinearLayout>
+
+            <com.android.systemui.statusbar.notification.row.ButtonLinearLayout
+                android:id="@+id/alert"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:paddingVertical="@dimen/notification_2025_importance_button_padding_vertical"
+                android:paddingHorizontal="@dimen/notification_2025_importance_button_padding_horizontal"
+                android:gravity="center_vertical"
+                android:clickable="true"
+                android:focusable="true"
+                android:background="@drawable/notification_2025_guts_priority_button_bg"
+                android:orientation="horizontal">
+                <ImageView
+                    android:id="@+id/alert_icon"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:paddingEnd="@*android:dimen/notification_2025_margin"
+                    android:src="@drawable/ic_notifications_alert"
+                    android:background="@android:color/transparent"
+                    android:tint="@color/notification_guts_priority_contents"
+                    android:clickable="false"
+                    android:focusable="false"/>
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:gravity="center"
+                    >
+                    <TextView
+                        android:id="@+id/alert_label"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_weight="1"
+                        android:ellipsize="end"
+                        android:maxLines="1"
+                        android:clickable="false"
+                        android:focusable="false"
+                        android:textAppearance="@style/TextAppearance.NotificationImportanceButton"
+                        android:text="@string/notification_alert_title"/>
+                    <TextView
+                        android:id="@+id/alert_summary"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:visibility="gone"
+                        android:text="@string/notification_channel_summary_default"
+                        android:clickable="false"
+                        android:focusable="false"
+                        android:ellipsize="end"
+                        android:maxLines="2"
+                        android:textAppearance="@style/TextAppearance.NotificationImportanceDetail"/>
+                </LinearLayout>
+            </com.android.systemui.statusbar.notification.row.ButtonLinearLayout>
+
+            <com.android.systemui.statusbar.notification.row.ButtonLinearLayout
+                android:id="@+id/silence"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/notification_importance_button_separation"
+                android:paddingVertical="@dimen/notification_2025_importance_button_padding_vertical"
+                android:paddingHorizontal="@dimen/notification_2025_importance_button_padding_horizontal"
+                android:gravity="center_vertical"
+                android:clickable="true"
+                android:focusable="true"
+                android:background="@drawable/notification_2025_guts_priority_button_bg"
+                android:orientation="horizontal">
+                <ImageView
+                    android:id="@+id/silence_icon"
+                    android:src="@drawable/ic_notifications_silence"
+                    android:background="@android:color/transparent"
+                    android:tint="@color/notification_guts_priority_contents"
+                    android:layout_gravity="center"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:paddingEnd="@*android:dimen/notification_2025_margin"
+                    android:clickable="false"
+                    android:focusable="false"/>
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:gravity="center"
+                    >
+                    <TextView
+                        android:id="@+id/silence_label"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:ellipsize="end"
+                        android:maxLines="1"
+                        android:clickable="false"
+                        android:focusable="false"
+                        android:layout_toEndOf="@id/silence_icon"
+                        android:textAppearance="@style/TextAppearance.NotificationImportanceButton"
+                        android:text="@string/notification_silence_title"/>
+                    <TextView
+                        android:id="@+id/silence_summary"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:visibility="gone"
+                        android:text="@string/notification_channel_summary_low"
+                        android:clickable="false"
+                        android:focusable="false"
+                        android:ellipsize="end"
+                        android:maxLines="2"
+                        android:textAppearance="@style/TextAppearance.NotificationImportanceDetail"/>
+                </LinearLayout>
+            </com.android.systemui.statusbar.notification.row.ButtonLinearLayout>
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:id="@+id/bottom_buttons"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@*android:dimen/notification_2025_margin"
+            android:minHeight="@dimen/notification_2025_guts_button_size"
+            android:gravity="center_vertical"
+            >
+            <TextView
+                android:id="@+id/turn_off_notifications"
+                android:text="@string/inline_turn_off_notifications"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginEnd="32dp"
+                android:paddingTop="8dp"
+                android:paddingBottom="@*android:dimen/notification_2025_margin"
+                android:gravity="center"
+                android:minWidth="@dimen/notification_2025_min_tap_target_size"
+                android:minHeight="@dimen/notification_2025_min_tap_target_size"
+                android:maxWidth="200dp"
+                style="@style/TextAppearance.NotificationInfo.Button"
+                android:textSize="@*android:dimen/notification_2025_action_text_size"/>
+            <TextView
+                android:id="@+id/done"
+                android:text="@string/inline_ok_button"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:paddingTop="8dp"
+                android:paddingBottom="@*android:dimen/notification_2025_margin"
+                android:gravity="center"
+                android:minWidth="@dimen/notification_2025_min_tap_target_size"
+                android:minHeight="@dimen/notification_2025_min_tap_target_size"
+                android:maxWidth="125dp"
+                style="@style/TextAppearance.NotificationInfo.Button"
+                android:textSize="@*android:dimen/notification_2025_action_text_size"/>
+        </LinearLayout>
+    </LinearLayout>
+</com.android.systemui.statusbar.notification.row.NotificationInfo>
diff --git a/packages/SystemUI/res/layout/volume_dialog_top_section.xml b/packages/SystemUI/res/layout/volume_dialog_top_section.xml
index 4fc20e2..29f5248 100644
--- a/packages/SystemUI/res/layout/volume_dialog_top_section.xml
+++ b/packages/SystemUI/res/layout/volume_dialog_top_section.xml
@@ -22,7 +22,6 @@
     android:clipChildren="false"
     android:clipToPadding="false"
     android:gravity="center"
-    android:layoutDirection="ltr"
     android:paddingEnd="@dimen/volume_dialog_ringer_drawer_diff_end_margin"
     app:layoutDescription="@xml/volume_dialog_ringer_drawer_motion_scene">
 
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index d9a28a6..d8e08fc 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Stel toestelbesonderhede op"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Sien alle toestelle"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Bind nuwe toestel saam"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Vou groep uit."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Maak app oop."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Nie gekoppel nie."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Swerwing"</string>
@@ -332,7 +333,8 @@
     <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 deur die topapp beheer word"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Gebruik volskerm"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Gebruik rekenaaraansig"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Volgende"</string>
     <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>
diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml
index ba1c3ed..ea51f00 100644
--- a/packages/SystemUI/res/values-am/strings.xml
+++ b/packages/SystemUI/res/values-am/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"ቡድንን ዘርጋ።"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"መተግበሪያ ክፈት።"</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"አልተገናኘም።"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"በማዛወር ላይ"</string>
@@ -332,7 +333,8 @@
     <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">"ከላይ ባለው መተግበሪያ ቁጥጥር ላይ ስለሆነ ብሩህነትን ማስተካከል አልተቻለም"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index 905183c..99c156b 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -255,6 +255,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"سيتم توسيع المجموعة."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"سيتم فتح التطبيق."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"غير متصل."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"التجوال"</string>
@@ -332,7 +336,8 @@
     <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">"لا يمكن ضبط مستوى السطوع لأنّ التطبيق الأول يتحكّم فيه"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -586,7 +591,7 @@
     <string name="media_projection_entry_cast_permission_dialog_warning_entire_screen" msgid="4040447861037324017">"سيتم بث كل المحتوى المعروض على شاشتك، لذا يُرجى توخي الحذر بشأن المعلومات الظاهرة، مثل كلمات المرور وتفاصيل الدفع والرسائل والصور والمقاطع الصوتية والفيديوهات."</string>
     <string name="media_projection_entry_cast_permission_dialog_warning_single_app" msgid="7487834861348460736">"سيتم بث كل المحتوى المعروض أو الذي يتم تشغيله في ذلك التطبيق، لذا يُرجى توخي الحذر بشأن المعلومات الظاهرة، مثل كلمات المرور وتفاصيل الدفع والرسائل والصور والمقاطع الصوتية والفيديوهات."</string>
     <string name="media_projection_entry_cast_permission_dialog_continue_entire_screen" msgid="3261124185304676483">"بث محتوى الشاشة"</string>
-    <string name="media_projection_entry_cast_app_selector_title" msgid="6323062146661922387">"اختيار تطبيق لبث محتواه"</string>
+    <string name="media_projection_entry_cast_app_selector_title" msgid="6323062146661922387">"يُرجى اختيار تطبيق لبث محتواه"</string>
     <string name="media_projection_entry_generic_permission_dialog_title" msgid="4519802931547483628">"هل تريد بدء المشاركة؟"</string>
     <string name="media_projection_entry_generic_permission_dialog_warning_entire_screen" msgid="5407906851409410209">"‏أثناء المشاركة أو التسجيل أو البثّ، يمكن لنظام Android الوصول إلى كل المحتوى المعروض على شاشتك أو الذي يتم تشغيله على جهازك، لذا يُرجى توخي الحذر بشأن المعلومات، مثل كلمات المرور وتفاصيل الدفع والرسائل والصور وملفات الصوت والفيديو."</string>
     <string name="media_projection_entry_generic_permission_dialog_warning_single_app" msgid="3454859977888159495">"‏أثناء مشاركة محتوى تطبيق أو تسجيله أو بثّه، يمكن لنظام Android الوصول إلى كل المحتوى المعروض أو الذي يتم تشغيله في ذلك التطبيق، لذا يُرجى توخي الحذر بشأن المعلومات مثل كلمات المرور وتفاصيل الدفع والرسائل والصور وملفات الصوت والفيديو."</string>
@@ -991,8 +996,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"تبديل حجم المربّع"</string>
     <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>
@@ -1546,10 +1550,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"يُرجى فتح القفل لعرض المعلومات"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"يُرجى فتح القفل لعرض الرمز"</string>
     <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-ar/tiles_states_strings.xml b/packages/SystemUI/res/values-ar/tiles_states_strings.xml
index abb0d85..aac5a35 100644
--- a/packages/SystemUI/res/values-ar/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-ar/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-as/strings.xml b/packages/SystemUI/res/values-as/strings.xml
index 784dfee..17d24da 100644
--- a/packages/SystemUI/res/values-as/strings.xml
+++ b/packages/SystemUI/res/values-as/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"গোট বিস্তাৰ কৰক।"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"এপ্লিকেশ্বনটো খোলক।"</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"সংযোগ হৈ থকা নাই।"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"ৰ\'মিং"</string>
@@ -332,7 +333,8 @@
     <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>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-az/strings.xml b/packages/SystemUI/res/values-az/strings.xml
index 20f3e37..a0eecd1 100644
--- a/packages/SystemUI/res/values-az/strings.xml
+++ b/packages/SystemUI/res/values-az/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Cihaz detallarını konfiqurasiya edin"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Bütün cihazlara baxın"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Yeni cihaz birləşdirin"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Qrupu genişləndirin."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Tətbiqi açın."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Qoşulu deyil."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Rouminq"</string>
@@ -332,7 +333,8 @@
     <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 parlaqlığı tənzimləmək mümkün deyil"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Tam ekrandan istifadə edin"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Masaüstü görünüşdən istifadə edin"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Növbəti"</string>
     <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>
diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
index 69ebc70..8921eff 100644
--- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml
+++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Proširite grupu."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Otvorite aplikaciju."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Nije povezano."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roming"</string>
@@ -329,7 +333,8 @@
     <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 kontroliše aplikacija u vrhu"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -986,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"uključivanje ili isključivanje veličine pločice"</string>
     <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>
@@ -1540,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Otključajte za prikaz"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Otključajte da biste videli kôd"</string>
     <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-be/strings.xml b/packages/SystemUI/res/values-be/strings.xml
index 7c7c364..3568586 100644
--- a/packages/SystemUI/res/values-be/strings.xml
+++ b/packages/SystemUI/res/values-be/strings.xml
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Разгарнуць групу."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Адкрыць праграму."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Няма падключэння."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Роўмінг"</string>
@@ -329,7 +333,8 @@
     <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">"Не ўдаецца адрэгуляваць яркасць, бо янакантралюецца асноўнай праграмай"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index 0f2ab17..9d6be13 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Разгъване на групата."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Отваряне на приложението."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Няма връзка."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Роуминг"</string>
@@ -332,7 +333,8 @@
     <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">"Яркостта не може да се коригира, защото се контролира от приложението на екрана"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -991,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"превключване на размера на панела"</string>
     <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>
@@ -1507,8 +1506,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
@@ -1546,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Отключете за преглед"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Отключете, за да прегледате кода"</string>
     <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/strings.xml b/packages/SystemUI/res/values-bn/strings.xml
index 10a1fd6..636d4f2 100644
--- a/packages/SystemUI/res/values-bn/strings.xml
+++ b/packages/SystemUI/res/values-bn/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"গ্রুপ বড় করুন।"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"অ্যাপ্লিকেশন খুলুন।"</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"সংযুক্ত নয়৷"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"রোমিং"</string>
@@ -332,7 +333,8 @@
     <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">"উজ্জ্বলতা টপ অ্যাপ নিয়ন্ত্রণ করায় এটিকে অ্যাডজাস্ট করা যাচ্ছে না"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-bs/strings.xml b/packages/SystemUI/res/values-bs/strings.xml
index 8eadd4d..331bac2 100644
--- a/packages/SystemUI/res/values-bs/strings.xml
+++ b/packages/SystemUI/res/values-bs/strings.xml
@@ -245,13 +245,17 @@
     <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_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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Konfiguracija detalja o uređaju"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Prikaz svih uređaja"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Uparivanje novog uređaja"</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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Proširivanje grupe."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Otvaranje aplikacije."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Nije povezano."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roming"</string>
@@ -329,7 +333,8 @@
     <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 jer njome upravlja aplikacija pri vrhu"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -898,8 +903,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="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_full_screen" msgid="4221409316059910349">"Korištenje prikaza preko cijelog ekrana"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Korištenje prikaza na računaru"</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>
@@ -986,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"promjenu veličine pločice"</string>
     <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>
@@ -1502,7 +1506,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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Naprijed"</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>
@@ -1540,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Otključajte za prikaz"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Otključajte za prikaz koda"</string>
     <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-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index 8e4da1d..01d7692 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Configura els detalls del dispositiu"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Mostra tots els dispositius"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Vincula un dispositiu nou"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Desplega el grup."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Obre l\'aplicació."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Sense connexió."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Itinerància"</string>
@@ -332,7 +333,8 @@
     <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è està controlada per l\'aplicació superior"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Utilitza la pantalla completa"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Utilitza la visualització per a ordinadors"</string>
     <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>
@@ -991,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"commutar la mida de la icona"</string>
     <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>
@@ -1507,8 +1506,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Següent"</string>
     <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>
@@ -1546,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Desbloqueja per veure"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Desbloqueja per veure el codi"</string>
     <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-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index 6d38055..15e4703c 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Konfigurovat podrobnosti o zařízení"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Zobrazit všechna zařízení"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Spárovat nové zařízení"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Rozbalit skupinu."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Otevřít aplikaci."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Nepřipojeno."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 řídí hlavní aplikace"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Použít celou obrazovku"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Použít zobrazení na počítači"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Další"</string>
     <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>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index a5801cb..ab87c46 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Konfigurer enhedsoplysninger"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Se alle enheder"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Par ny enhed"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Udvid gruppe."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Åbn app."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Ikke tilsluttet."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 styres af den øverste app"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -586,7 +588,7 @@
     <string name="media_projection_entry_cast_permission_dialog_warning_entire_screen" msgid="4040447861037324017">"Når du caster hele din skærm, er alt på skærmen synligt. Vær derfor forsigtig med ting såsom adgangskoder, betalingsoplysninger, beskeder, billeder, lyd og video."</string>
     <string name="media_projection_entry_cast_permission_dialog_warning_single_app" msgid="7487834861348460736">"Når du caster en app, er alt, der vises eller afspilles i appen, synligt. Vær derfor forsigtig med ting såsom adgangskoder, betalingsoplysninger, beskeder, billeder, lyd og video."</string>
     <string name="media_projection_entry_cast_permission_dialog_continue_entire_screen" msgid="3261124185304676483">"Cast skærm"</string>
-    <string name="media_projection_entry_cast_app_selector_title" msgid="6323062146661922387">"Vælg den app, du vil caste fra"</string>
+    <string name="media_projection_entry_cast_app_selector_title" msgid="6323062146661922387">"Vælg den app, du caste"</string>
     <string name="media_projection_entry_generic_permission_dialog_title" msgid="4519802931547483628">"Vil du begynde at dele?"</string>
     <string name="media_projection_entry_generic_permission_dialog_warning_entire_screen" msgid="5407906851409410209">"Når du deler, optager eller caster, har Android adgang til alt, der er synligt på din skærm eller afspilles på din enhed. Vær derfor forsigtig med ting såsom adgangskoder, betalingsoplysninger, beskeder, billeder, lyd og video."</string>
     <string name="media_projection_entry_generic_permission_dialog_warning_single_app" msgid="3454859977888159495">"Når du deler, optager eller caster en app, har Android adgang til alt, der vises eller afspilles i den pågældende app. Vær derfor forsigtig med ting såsom adgangskoder, betalingsoplysninger, beskeder, billeder, lyd og video."</string>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Brug fuld skærm"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Brug computervenlig visning"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Næste"</string>
     <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>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index 132de74..99e32ec 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Gerätedetail konfigurieren."</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Alle Geräte anzeigen"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Neues Gerät koppeln"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Gruppe erweitern."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Anwendung öffnen."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Nicht verbunden"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 von der obersten App gesteuert wird"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Vollbildmodus verwenden"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Desktop-Ansicht verwenden"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Weiter"</string>
     <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>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index a628e21..d3bfc99 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Αναπτύξτε την ομάδα."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Ανοίξτε την εφαρμογή."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Μη συνδεδεμένο"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Περιαγωγή"</string>
@@ -332,7 +333,8 @@
     <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">"Δεν είναι δυνατή η προσαρμογή της φωτεινότητας, επειδή ελέγχεται από την εφαρμογή στην κορυφή"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -991,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"εναλλαγή μεγέθους για το πλακάκι"</string>
     <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>
@@ -1507,8 +1506,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
@@ -1546,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Ξεκλειδώστε για προβολή"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Ξεκλειδώστε για προβολή κωδικού"</string>
     <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-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml
index 1b36a7c..c253711 100644
--- a/packages/SystemUI/res/values-en-rAU/strings.xml
+++ b/packages/SystemUI/res/values-en-rAU/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Expand group."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Open application."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Not connected."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 controlled by the top app"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Use fullscreen"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Use desktop view"</string>
     <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-en-rCA/strings.xml b/packages/SystemUI/res/values-en-rCA/strings.xml
index c6ba039..92e9d8d 100644
--- a/packages/SystemUI/res/values-en-rCA/strings.xml
+++ b/packages/SystemUI/res/values-en-rCA/strings.xml
@@ -252,6 +252,8 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Expand group."</string>
+    <string name="accessibility_add_device_to_group" msgid="5446422960697860806">"Add device to group."</string>
+    <string name="accessibility_remove_device_from_group" msgid="3114694270949142228">"Remove device from group."</string>
     <string name="accessibility_open_application" msgid="1749126077501259712">"Open application."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Not connected."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -329,7 +331,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 controlled by the top app"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="4124028416057617517">"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>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index 1b36a7c..c253711 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Expand group."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Open application."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Not connected."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 controlled by the top app"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Use fullscreen"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Use desktop view"</string>
     <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml
index 1b36a7c..c253711 100644
--- a/packages/SystemUI/res/values-en-rIN/strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Expand group."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Open application."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Not connected."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 controlled by the top app"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Use fullscreen"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Use desktop view"</string>
     <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index fbf01b8..7f09671 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>; configura los detalles del dispositivo"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Ver todos los dispositivos"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Vincular dispositivo nuevo"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Expandir grupo."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Abrir aplicación."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"No conectado"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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,por lo que no se puede ajustar"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Usar la pantalla completa"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Usar la vista para computadoras de escritorio"</string>
     <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>
@@ -991,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"alternar el tamaño del mosaico"</string>
     <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>
@@ -1507,8 +1506,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Siguiente"</string>
     <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>
@@ -1546,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Desbloquea el dispositivo para ver"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Desbloquea el dispositivo para ver el código"</string>
     <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/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index 0af9fbf..531d1df 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Configura los detalles del dispositivo."</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Consultar todos los dispositivos"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Emparejar nuevo dispositivo"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Mostrar grupo."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Abrir aplicación."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"No conectado."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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á controlando"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Usar pantalla completa"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Usar vista para ordenador"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Siguiente"</string>
     <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>
diff --git a/packages/SystemUI/res/values-et/strings.xml b/packages/SystemUI/res/values-et/strings.xml
index bb77e96..30b93b0 100644
--- a/packages/SystemUI/res/values-et/strings.xml
+++ b/packages/SystemUI/res/values-et/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Seadme üksikasjade seadistamine"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Kõigi seadmete kuvamine"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Uue seadme sidumine"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Grupi laiendamine."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Rakenduse avamine."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Ühendus puudub."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Rändlus"</string>
@@ -332,7 +333,8 @@
     <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 juhib ülemine rakendus"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Lülita täisekraanile"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Kasuta arvutivaadet"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Järgmine"</string>
     <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>
diff --git a/packages/SystemUI/res/values-eu/strings.xml b/packages/SystemUI/res/values-eu/strings.xml
index cb8e034..50f8750 100644
--- a/packages/SystemUI/res/values-eu/strings.xml
+++ b/packages/SystemUI/res/values-eu/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Konfiguratu gailuaren xehetasunak."</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Ikusi gailu guztiak"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Parekatu beste gailu bat"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Zabaldu taldea."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Ireki aplikazioa."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Konektatu gabe."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Ibiltaritza"</string>
@@ -332,7 +333,8 @@
     <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,gaineko aplikazioak kontrolatzen duelako"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Erabili pantaila osoa"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Erabili ordenagailuetarako ikuspegia"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Hurrengoa"</string>
     <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>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index 7fd5551..d53805d 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"گروه را از هم باز می‌کند."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"برنامه را باز می‌کند."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"متصل نیست."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"فراگردی"</string>
@@ -332,7 +333,8 @@
     <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">"نمی‌توان روشنایی را تنظیم کرد زیرا برنامه بالایی آن را کنترل می‌کند"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -614,7 +616,7 @@
     <string name="media_projection_action_text" msgid="3634906766918186440">"اکنون شروع کنید"</string>
     <string name="empty_shade_text" msgid="8935967157319717412">"اعلانی موجود نیست"</string>
     <string name="no_unseen_notif_text" msgid="395512586119868682">"اعلان جدیدی وجود ندارد"</string>
-    <string name="adaptive_notification_edu_hun_title" msgid="2594042455998795122">"«استراحت اعلان‌ها» اکنون روشن است"</string>
+    <string name="adaptive_notification_edu_hun_title" msgid="2594042455998795122">"«آرام‌سازی اعلان‌ها» اکنون روشن است"</string>
     <string name="adaptive_notification_edu_hun_text" msgid="7743367744129536610">"وقتی به‌طور هم‌زمان تعداد بسیار زیادی اعلان دریافت کنید، میزان صدای دستگاه و هشدارها به‌طور خودکار تا ۲ دقیقه کاهش می‌یابد."</string>
     <string name="go_to_adaptive_notification_settings" msgid="2423690125178298479">"خاموش کردن"</string>
     <string name="unlock_to_see_notif_text" msgid="7439033907167561227">"برای دیدن اعلان‌های قبلی قفل را باز کنید"</string>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -991,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"تغییر اندازه کاشی"</string>
     <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>
@@ -1507,8 +1506,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
@@ -1546,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"برای مشاهده، قفل دستگاه را باز کنید"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"برای مشاهده کد، قفل دستگاه را باز کنید"</string>
     <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-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index 647134f..fa9468d 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -247,16 +247,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Määritä laitteen tiedot"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Katso kaikki laitteet"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Muodosta uusi laitepari"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Laajenna ryhmä."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Avaa sovellus."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Ei yhteyttä."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -334,7 +335,8 @@
     <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 ensisijainen sovellus ohjaa sitä"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -903,10 +905,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Käytä koko näytön tilaa"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Käytä tietokonenäkymää"</string>
     <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>
@@ -1509,8 +1509,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Seuraava"</string>
     <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>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index 299f5a5..97702f0 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Configurer 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 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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Développer le groupe."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Ouvrir l\'appli."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Non connecté"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Itinérance"</string>
@@ -332,7 +333,8 @@
     <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 contrôlée par l\'appli principale"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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 de bureau"</string>
     <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>
@@ -1507,8 +1507,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">"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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Suivant"</string>
     <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>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index a4fa4d0..1fefa2d 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Développer le groupe."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Ouvrir l\'application."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Non connecté"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Itinérance"</string>
@@ -329,7 +333,8 @@
     <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 est contrôlée par l\'appli principale"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -986,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"activer/désactiver la taille du bloc"</string>
     <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>
@@ -1540,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Déverrouiller pour afficher"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Déverrouiller pour afficher le code"</string>
     <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-gl/strings.xml b/packages/SystemUI/res/values-gl/strings.xml
index 82ba5dc..d9a991e 100644
--- a/packages/SystemUI/res/values-gl/strings.xml
+++ b/packages/SystemUI/res/values-gl/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Configura o detalle do dispositivo"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Mira todos os dispositivos"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Vincula un dispositivo novo"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Despregar o grupo."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Abrir a aplicación."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Non conectada"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Itinerancia"</string>
@@ -332,7 +333,8 @@
     <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 porque o controla a aplicación principal"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Usar a pantalla completa"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Usar a vista para ordenadores"</string>
     <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>
@@ -991,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"activar/desactivar o tamaño do recadro"</string>
     <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>
@@ -1507,8 +1506,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Seguinte"</string>
     <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>
@@ -1546,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Desbloquea para ver a información"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Desbloquea para ver o código"</string>
     <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-gu/strings.xml b/packages/SystemUI/res/values-gu/strings.xml
index 1fa46e6..55f6e94 100644
--- a/packages/SystemUI/res/values-gu/strings.xml
+++ b/packages/SystemUI/res/values-gu/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"ગ્રૂપને મોટું કરો."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"ઍપ્લિકેશન ખોલો."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"કનેક્ટ થયેલું નથી."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"રોમિંગ"</string>
@@ -332,7 +333,8 @@
     <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">"બ્રાઇટનેસ ગોઠવી શકતા નથી કારણ કે તે લોકપ્રિય ઍપ દ્વારા નિયંત્રિત કરવામાં આવી રહી છે"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index be1ca7d..8878c14 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -155,7 +155,7 @@
     <string name="cast_to_other_device_stop_dialog_message_generic_with_device" msgid="9213582497852420203">"फ़िलहाल, <xliff:g id="DEVICE_NAME">%1$s</xliff:g> पर कास्ट किया जा रहा है"</string>
     <string name="cast_to_other_device_stop_dialog_message_generic" msgid="4100272100480415076">"फ़िलहाल, आस-पास मौजूद किसी डिवाइस पर कास्ट किया जा रहा है"</string>
     <string name="cast_to_other_device_stop_dialog_button" msgid="6420183747435521834">"कास्ट करना बंद करें"</string>
-    <string name="close_dialog_button" msgid="4749497706540104133">"बंद करें"</string>
+    <string name="close_dialog_button" msgid="4749497706540104133">"अभी नहीं"</string>
     <string name="issuerecord_title" msgid="286627115110121849">"समस्या रिकॉर्ड करने वाला टूल"</string>
     <string name="issuerecord_background_processing_label" msgid="1666840264959336876">"समस्या का डेटा प्रोसेस हो रहा"</string>
     <string name="issuerecord_channel_description" msgid="6142326363431474632">"समस्या का डेटा इकट्ठा करने के लिए बैकग्राउंड में जारी गतिविधि की सूचना"</string>
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"ग्रुप को बड़ा करें."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"ऐप्लिकेशन खोलें."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"कनेक्ट नहीं है."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"रोमिंग"</string>
@@ -329,7 +333,8 @@
     <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">"स्क्रीन की रोशनी को एडजस्ट नहीं किया जा सकता, क्योंकि इसे टॉप ऐप्लिकेशन कंट्रोल कर रहा है"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index 5c7ee24..054f394 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Proširite grupu."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Otvorite aplikaciju."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Nije povezano."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -329,7 +333,8 @@
     <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 upravlja aplikacija pri vrhu"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -986,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"promjenu veličine pločice"</string>
     <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>
@@ -1540,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Otključajte za prikaz"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Otključajte za prikaz koda"</string>
     <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-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index 421570c..03f1bc6 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Eszközadatok konfigurálása"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Az összes eszköz megjelenítése"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Új eszköz párosítása"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Csoport kibontása."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Alkalmazás megnyitása."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Nincs csatlakozva."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 vezérli"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Teljes képernyő használata"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Asztali nézet használata"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Következő"</string>
     <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>
diff --git a/packages/SystemUI/res/values-hy/strings.xml b/packages/SystemUI/res/values-hy/strings.xml
index aaedf56..e1b6639 100644
--- a/packages/SystemUI/res/values-hy/strings.xml
+++ b/packages/SystemUI/res/values-hy/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Ծավալել խումբը։"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Բացել հավելվածը։"</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Միացված չէ:"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Ռոումինգ"</string>
@@ -332,7 +333,8 @@
     <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">"Հնարավոր չէ կարգավորել պայծառությունը, քանի որ այն կառավարվում է գլխավոր հավելվածի կողմից"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -991,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"փոխեք սալիկի չափը"</string>
     <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>
@@ -1507,8 +1506,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
@@ -1546,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Ապակողպել դիտելու համար"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Ապակողպել կոդը դիտելու համար"</string>
     <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-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index 4990774..6ef3cdc 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Konfigurasi detail perangkat"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Lihat semua perangkat"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Sambungkan perangkat baru"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Luaskan grup."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Buka aplikasi."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Tidak terhubung."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 dikontrol oleh aplikasi atas"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Gunakan layar penuh"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Gunakan tampilan desktop"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Berikutnya"</string>
     <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>
diff --git a/packages/SystemUI/res/values-is/strings.xml b/packages/SystemUI/res/values-is/strings.xml
index 3f8492a..2b8a5cc 100644
--- a/packages/SystemUI/res/values-is/strings.xml
+++ b/packages/SystemUI/res/values-is/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Upplýsingar um grunnstillingu tækis."</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Sjá öll tæki"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Para nýtt tæki"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Stækka hóp."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Opna forrit."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Engin tenging."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Reiki"</string>
@@ -332,7 +333,8 @@
     <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ð efsta forritið stjórnar því"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Nota allan skjáinn"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Nota tölvuútgáfu"</string>
     <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>
@@ -991,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"breyta stærð reitsins"</string>
     <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>
@@ -1507,8 +1506,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Áfram"</string>
     <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>
@@ -1546,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Taktu úr lás til að skoða"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Taka úr lás til að sjá kóða"</string>
     <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-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index bb7202b..87507d6 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Espandi il gruppo."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Apri l\'applicazione."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Non connesso."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -329,7 +333,8 @@
     <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é è controllata dall\'app in primo piano"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -986,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"attivare/disattivare le dimensioni del riquadro"</string>
     <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>
@@ -1540,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Sblocca per visualizzare"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Sblocca per visualizzare il codice"</string>
     <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-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index 92fc203..8a687af 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -255,6 +255,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"הרחבת הקבוצה."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"פתיחת האפליקציה."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"אין חיבור."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"נדידה"</string>
@@ -332,7 +336,8 @@
     <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">"לא ניתן להתאים את הבהירות כי היא נשלטת על ידי האפליקציה העליונה"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
diff --git a/packages/SystemUI/res/values-iw/tiles_states_strings.xml b/packages/SystemUI/res/values-iw/tiles_states_strings.xml
index 2f8ec0a..d1bd612a 100644
--- a/packages/SystemUI/res/values-iw/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-iw/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-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index 3512271..29f93cc 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"グループを開きます。"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"アプリを開きます。"</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"接続されていません。"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"ローミング"</string>
@@ -329,7 +333,8 @@
     <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">"明るさはトップ アプリによって制御されているため、調整できません"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -986,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"タイルのサイズを切り替えます"</string>
     <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>
@@ -1540,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"表示するにはロックを解除してください"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"コードを表示するにはロックを解除してください"</string>
     <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-ka/strings.xml b/packages/SystemUI/res/values-ka/strings.xml
index 3877fe7..d9a5824 100644
--- a/packages/SystemUI/res/values-ka/strings.xml
+++ b/packages/SystemUI/res/values-ka/strings.xml
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"ჯგუფის გაფართოება."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"აპლიკაციის გახსნა."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"არ არის დაკავშირებული."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"როუმინგი"</string>
@@ -329,7 +333,8 @@
     <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>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -986,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"მოზაიკის ფილის ზომის გადასართავად"</string>
     <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>
@@ -1540,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"განბლოკვა სანახავად"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"განბლოკვა კოდის სანახავად"</string>
     <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/strings.xml b/packages/SystemUI/res/values-kk/strings.xml
index 506ce8b..141e99c 100644
--- a/packages/SystemUI/res/values-kk/strings.xml
+++ b/packages/SystemUI/res/values-kk/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Топты жайыңыз."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Қолданбаны ашыңыз."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Жалғанбаған."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Роуминг"</string>
@@ -332,7 +333,8 @@
     <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">"Жарықтықты реттеу мүмкін емес, себебі ол жетекші қолданба арқылы басқарылады."</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-km/strings.xml b/packages/SystemUI/res/values-km/strings.xml
index 1fa0acb..9323308 100644
--- a/packages/SystemUI/res/values-km/strings.xml
+++ b/packages/SystemUI/res/values-km/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"ពង្រីកក្រុម។"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"បើកកម្មវិធី។"</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"មិន​បាន​តភ្ជាប់​។"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"រ៉ូ​មីង"</string>
@@ -332,7 +333,8 @@
     <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">"មិនអាចកែតម្រូវកម្រិតពន្លឺបានទេ ដោយសារវាកំពុងស្ថិតក្រោមការគ្រប់គ្រងរបស់កម្មវិធីខាងលើគេ"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -991,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"បិទ/បើកទំហំរបស់ប្រអប់"</string>
     <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>
@@ -1507,8 +1506,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
@@ -1546,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"ដោះសោដើម្បីមើល"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"ដោះសោដើម្បីមើលកូដ"</string>
     <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/strings.xml b/packages/SystemUI/res/values-kn/strings.xml
index 5363c62..d7f8b89 100644
--- a/packages/SystemUI/res/values-kn/strings.xml
+++ b/packages/SystemUI/res/values-kn/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"ಗುಂಪು ವಿಸ್ತರಿಸಿ."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"ಅಪ್ಲಿಕೇಶನ್ ತೆರೆಯಿರಿ."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"ಸಂಪರ್ಕಗೊಂಡಿಲ್ಲ."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"ರೋಮಿಂಗ್"</string>
@@ -332,7 +333,8 @@
     <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">"ಬ್ರೈಟ್‌ನೆಸ್ ಅನ್ನು ಅಡ್ಜಸ್ಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ, ಏಕೆಂದರೆ ಅದನ್ನು ಟಾಪ್ ಆ್ಯಪ್ ನಿಯಂತ್ರಿಸುತ್ತಿದೆ"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -580,11 +582,11 @@
     <string name="media_projection_entry_app_permission_dialog_continue_entire_screen" msgid="1850848182344377579">"ಸ್ಕ್ರೀನ್‌ ಹಂಚಿಕೊಳ್ಳಿ"</string>
     <string name="media_projection_entry_app_permission_dialog_single_app_disabled" msgid="8999903044874669995">"<xliff:g id="APP_NAME">%1$s</xliff:g> ಈ ಆಯ್ಕೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದೆ"</string>
     <string name="media_projection_entry_share_app_selector_title" msgid="1419515119767501822">"ಹಂಚಿಕೊಳ್ಳಲು ಆ್ಯಪ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
-    <string name="media_projection_entry_cast_permission_dialog_title" msgid="752756942658159416">"ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಕಾಸ್ಟ್ ಮಾಡಬೇಕೆ?"</string>
-    <string name="media_projection_entry_cast_permission_dialog_option_text_single_app" msgid="6073353940838561981">"ಒಂದು ಆ್ಯಪ್ ಅನ್ನು ಕಾಸ್ಟ್ ಮಾಡಿ"</string>
+    <string name="media_projection_entry_cast_permission_dialog_title" msgid="752756942658159416">"ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಬಿತ್ತರಿಸಬೇಕೇ?"</string>
+    <string name="media_projection_entry_cast_permission_dialog_option_text_single_app" msgid="6073353940838561981">"ಒಂದು ಆ್ಯಪ್ ಅನ್ನು ಬಿತ್ತರಿಸಿ"</string>
     <string name="media_projection_entry_cast_permission_dialog_option_text_entire_screen" msgid="8389508187954155307">"ಸಂಪೂರ್ಣ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಕ್ಯಾಸ್ಟ್ ಮಾಡಿ"</string>
     <string name="media_projection_entry_cast_permission_dialog_warning_entire_screen" msgid="4040447861037324017">"ನಿಮ್ಮ ಸಂಪೂರ್ಣ ಸ್ಕ್ರೀನ್ ಅನ್ನು ನೀವು ಕ್ಯಾಸ್ಟ್ ಮಾಡುವಾಗ, ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಏನಾದರೂ ಗೋಚರಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಪಾವತಿ ವಿವರಗಳು, ಸಂದೇಶಗಳು, ಫೋಟೋಗಳು ಹಾಗೂ ಆಡಿಯೊ ಮತ್ತು ವೀಡಿಯೊದಂತಹ ವಿಷಯಗಳ ಕುರಿತು ಜಾಗರೂಕರಾಗಿರಿ."</string>
-    <string name="media_projection_entry_cast_permission_dialog_warning_single_app" msgid="7487834861348460736">"ನೀವು ಆ್ಯಪ್ ಅನ್ನು ಕ್ಯಾಸ್ಟ್ ಮಾಡುತ್ತಿರುವಾಗ, ಆ ಆ್ಯಪ್‌ನಲ್ಲಿ ತೋರಿಸಿರುವ ಅಥವಾ ಪ್ಲೇ ಮಾಡಿರುವುದು ಗೋಚರಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಪಾವತಿ ವಿವರಗಳು, ಸಂದೇಶಗಳು, ಫೋಟೋಗಳು ಹಾಗೂ ಆಡಿಯೊ ಮತ್ತು ವೀಡಿಯೊದಂತಹ ವಿಷಯಗಳ ಕುರಿತು ಜಾಗರೂಕರಾಗಿರಿ."</string>
+    <string name="media_projection_entry_cast_permission_dialog_warning_single_app" msgid="7487834861348460736">"ನೀವು ಆ್ಯಪ್ ಅನ್ನು ಬಿತ್ತರಿಸುತ್ತಿರುವಾಗ, ಆ ಆ್ಯಪ್‌ನಲ್ಲಿ ತೋರಿಸಿರುವ ಅಥವಾ ಪ್ಲೇ ಮಾಡಿರುವುದು ಗೋಚರಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಪಾವತಿ ವಿವರಗಳು, ಸಂದೇಶಗಳು, ಫೋಟೋಗಳು ಹಾಗೂ ಆಡಿಯೊ ಮತ್ತು ವೀಡಿಯೊದಂತಹ ವಿಷಯಗಳ ಕುರಿತು ಜಾಗರೂಕರಾಗಿರಿ."</string>
     <string name="media_projection_entry_cast_permission_dialog_continue_entire_screen" msgid="3261124185304676483">"ಸ್ಕ್ರೀನ್‌ ಅನ್ನು ಬಿತ್ತರಿಸಿ"</string>
     <string name="media_projection_entry_cast_app_selector_title" msgid="6323062146661922387">"ಬಿತ್ತರಿಸಲು ಆ್ಯಪ್‌ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="media_projection_entry_generic_permission_dialog_title" msgid="4519802931547483628">"ಹಂಚಿಕೊಳ್ಳಲು ಪ್ರಾರಂಭಿಸಬೇಕೇ?"</string>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -991,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"ಟೈಲ್ ನ ಗಾತ್ರವನ್ನು ಟಾಗಲ್ ಮಾಡಿ"</string>
     <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>
@@ -1507,8 +1506,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
@@ -1546,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"ನೋಡಲು ಅನ್‌ಲಾಕ್ ಮಾಡಿ"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"ಕೋಡ್ ವೀಕ್ಷಿಸಲು ಅನ್‌ಲಾಕ್ ಮಾಡಿ"</string>
     <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/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index 931daa0..0c43ea1 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"그룹을 펼칩니다."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"애플리케이션을 엽니다."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"연결되지 않았습니다."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"로밍"</string>
@@ -332,7 +333,8 @@
     <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">"상위 앱에서 밝기를 제어하고 있으므로 밝기를 조절할 수 없습니다."</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-ky/strings.xml b/packages/SystemUI/res/values-ky/strings.xml
index f1c4eef..b411bdc 100644
--- a/packages/SystemUI/res/values-ky/strings.xml
+++ b/packages/SystemUI/res/values-ky/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Топту жайып көрсөтүү."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Колдонмону ачуу."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Интернет жок."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Роуминг"</string>
@@ -332,7 +333,8 @@
     <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">"Жарыктыкты тууралоого болбойт, анткени аны жогорку колдонмо көзөмөлдөйт"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-land/bools.xml b/packages/SystemUI/res/values-land/bools.xml
index c112edc..00e3e93 100644
--- a/packages/SystemUI/res/values-land/bools.xml
+++ b/packages/SystemUI/res/values-land/bools.xml
@@ -22,4 +22,6 @@
 
     <!--  True when small screen (<sw600dp) is landscape. -->
     <bool name="is_small_screen_landscape">true</bool>
+
+    <bool name="volume_dialog_ringer_drawer_should_open_to_the_side">true</bool>
 </resources>
diff --git a/packages/SystemUI/res/values-lo/strings.xml b/packages/SystemUI/res/values-lo/strings.xml
index de9694a..e9e585e 100644
--- a/packages/SystemUI/res/values-lo/strings.xml
+++ b/packages/SystemUI/res/values-lo/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"ຂະຫຍາຍກຸ່ມ."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"ເປີດແອັບພລິເຄຊັນ."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"ບໍ່ໄດ້ເຊື່ອມຕໍ່."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"ໂຣມມິງ"</string>
@@ -332,7 +333,8 @@
     <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">"ບໍ່ສາມາດປັບຄວາມແຈ້ງເນື່ອງຈາກມັນ ຖືກຄວບຄຸມໂດຍແອັບຍອດນິຍົມ"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -991,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"ສະຫຼັບຂະໜາດຂອງແຜ່ນ"</string>
     <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>
@@ -1507,8 +1506,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
@@ -1546,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"ປົດລັອກເພື່ອເບິ່ງ"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"ປົດລັອກເພື່ອເບິ່ງລະຫັດ"</string>
     <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-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index 59f0ad34..0d4398e 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -150,7 +150,7 @@
     <string name="cast_to_other_device_stop_dialog_title" msgid="7836517190930357326">"Sustabdyti perdavimą?"</string>
     <string name="cast_to_other_device_stop_dialog_message_entire_screen_with_device" msgid="1474703115926205251">"Šiuo metu perduodate visą ekraną į šį įrenginį: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="cast_to_other_device_stop_dialog_message_entire_screen" msgid="8419219169553867625">"Šiuo metu perduodate visą ekraną į įrenginį netoliese"</string>
-    <string name="cast_to_other_device_stop_dialog_message_specific_app_with_device" msgid="2715934698604085519">"Šiuo metu perduodate programą (<xliff:g id="APP_BEING_SHARED_NAME">%1$s</xliff:g>) į šį įrenginį: <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="cast_to_other_device_stop_dialog_message_specific_app_with_device" msgid="2715934698604085519">"Šiuo metu perduodate programą „<xliff:g id="APP_BEING_SHARED_NAME">%1$s</xliff:g>“ į šį įrenginį: <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string>
     <string name="cast_to_other_device_stop_dialog_message_specific_app" msgid="8616103075630934513">"Šiuo metu į įrenginį netoliese perduodate šią programą: <xliff:g id="APP_BEING_SHARED_NAME">%1$s</xliff:g>"</string>
     <string name="cast_to_other_device_stop_dialog_message_generic_with_device" msgid="9213582497852420203">"Šiuo metu perduodate į šį įrenginį: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="cast_to_other_device_stop_dialog_message_generic" msgid="4100272100480415076">"Šiuo metu perduodate į įrenginį netoliese"</string>
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Išskleisti grupę."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Atidaryti programą."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Neprijungta."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Tarptinklinis ryšys"</string>
@@ -329,7 +333,8 @@
     <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 viršuje esanti programa"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -986,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"perjungti išklotinės elemento dydį"</string>
     <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>
@@ -1540,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Atrakinkite ir peržiūrėkite"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Atrakinkite ir peržiūrėkite kodą"</string>
     <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-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index 9962226..60e1e6f 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Konfigurējiet ierīces informāciju."</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Skatiet visas ierīces."</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Savienojiet pārī jaunu ierīci."</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Izvērst grupu."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Atvērt lietojumprogrammu."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Savienojums nav izveidots."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Viesabonēšana"</string>
@@ -332,7 +333,8 @@
     <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ē aktīvā lietotne."</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -586,7 +588,7 @@
     <string name="media_projection_entry_cast_permission_dialog_warning_entire_screen" msgid="4040447861037324017">"Apraidot visu ekrānu, ir redzams viss ekrāna saturs. Tāpēc piesardzīgi apejieties ar parolēm, maksājumu informāciju, ziņojumiem, fotoattēliem un audio un video saturu."</string>
     <string name="media_projection_entry_cast_permission_dialog_warning_single_app" msgid="7487834861348460736">"Apraidot lietotni, ir redzams viss attiecīgajā lietotnē rādītais vai atskaņotais. Tāpēc piesardzīgi apejieties ar parolēm, maksājumu informāciju, ziņojumiem, fotoattēliem un audio un video saturu."</string>
     <string name="media_projection_entry_cast_permission_dialog_continue_entire_screen" msgid="3261124185304676483">"Apraidīt ekrānu"</string>
-    <string name="media_projection_entry_cast_app_selector_title" msgid="6323062146661922387">"Lietotnes izvēlēšanās apraide"</string>
+    <string name="media_projection_entry_cast_app_selector_title" msgid="6323062146661922387">"Lietotnes izvēle apraidei"</string>
     <string name="media_projection_entry_generic_permission_dialog_title" msgid="4519802931547483628">"Vai sākt kopīgošanu?"</string>
     <string name="media_projection_entry_generic_permission_dialog_warning_entire_screen" msgid="5407906851409410209">"Kopīgošanas, ierakstīšanas vai apraides laikā Android var piekļūt visam, kas tiek rādīts jūsu ekrānā vai atskaņots jūsu ierīcē. Tāpēc piesardzīgi apejieties ar parolēm, maksājumu informāciju, ziņojumiem, fotoattēliem un audio un video saturu."</string>
     <string name="media_projection_entry_generic_permission_dialog_warning_single_app" msgid="3454859977888159495">"Lietotnes kopīgošanas, ierakstīšanas vai apraides laikā Android var piekļūt visam, kas tiek rādīts vai atskaņots attiecīgajā lietotnē. Tāpēc piesardzīgi apejieties ar parolēm, maksājumu informāciju, ziņojumiem, fotoattēliem un audio un video saturu."</string>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Izmantot pilnekrāna režīmu"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Izmantot skatu datorā"</string>
     <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>
@@ -991,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"pārslēgt elementa lielumu"</string>
     <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>
@@ -1507,8 +1506,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Tālāk"</string>
     <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>
@@ -1546,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Atbloķējiet, lai skatītu"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Atbloķējiet, lai skatītu kodu"</string>
     <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-mk/strings.xml b/packages/SystemUI/res/values-mk/strings.xml
index 9d9c074..761eac1 100644
--- a/packages/SystemUI/res/values-mk/strings.xml
+++ b/packages/SystemUI/res/values-mk/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Проширете ја групата."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Отворете ја апликацијата."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Не е поврзана"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Роаминг"</string>
@@ -332,7 +333,8 @@
     <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">"Не може да се приспособи осветленоста бидејќи е контролирана од горната апликација"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-ml/strings.xml b/packages/SystemUI/res/values-ml/strings.xml
index 301c3da..aae5ac48 100644
--- a/packages/SystemUI/res/values-ml/strings.xml
+++ b/packages/SystemUI/res/values-ml/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"ഗ്രൂപ്പ് വികസിപ്പിക്കുക."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"ആപ്പ് തുറക്കുക."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"കണക്റ്റുചെയ്‌തിട്ടില്ല."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"റോമിംഗ്"</string>
@@ -332,7 +333,8 @@
     <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">"തെളിച്ചം അഡ്‌ജസ്റ്റ് ചെയ്യാനാകില്ല, അത് നിയന്ത്രിക്കുന്നത് ഏറ്റവും മുകളിലുള്ള ആപ്പാണ്"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -991,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"ടൈലിന്റെ വലുപ്പം മാറ്റുക"</string>
     <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>
@@ -1507,8 +1506,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
@@ -1546,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"കാണാൻ, അൺലോക്ക് ചെയ്യുക"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"കോഡ് കാണാൻ അൺലോക്ക് ചെയ്യുക"</string>
     <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/strings.xml b/packages/SystemUI/res/values-mn/strings.xml
index 7c2e69c..5938893 100644
--- a/packages/SystemUI/res/values-mn/strings.xml
+++ b/packages/SystemUI/res/values-mn/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Бүлгийг дэлгэнэ үү."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Аппликейшныг нээнэ үү."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Холбогдоогүй."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Роуминг"</string>
@@ -332,7 +333,8 @@
     <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">"Гэрэлтүүлгийгдавуу эрхтэй аппаас хянаж байгаа тул тохируулах боломжгүй"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-mr/strings.xml b/packages/SystemUI/res/values-mr/strings.xml
index 6889179..c3c7160 100644
--- a/packages/SystemUI/res/values-mr/strings.xml
+++ b/packages/SystemUI/res/values-mr/strings.xml
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"गटाचा विस्तार करा."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"अ‍ॅप उघडा."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"कनेक्ट केले नाही."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"रोमिंग"</string>
@@ -329,7 +333,8 @@
     <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">"ब्राइटनेस ॲडजस्ट करू शकत नाही, कारण तो टॉप ॲपद्वारे नियंत्रित केला जात आहे"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -581,7 +586,7 @@
     <string name="media_projection_entry_cast_permission_dialog_option_text_single_app" msgid="6073353940838561981">"एक अ‍ॅप कास्ट करा"</string>
     <string name="media_projection_entry_cast_permission_dialog_option_text_entire_screen" msgid="8389508187954155307">"संपूर्ण स्क्रीन कास्ट करा"</string>
     <string name="media_projection_entry_cast_permission_dialog_warning_entire_screen" msgid="4040447861037324017">"तुम्ही तुमची संपूर्ण स्क्रीन कास्ट करता, तेव्हा तुमच्या स्क्रीनवरील सर्व गोष्टी दृश्यमान असतात. त्यामुळे पासवर्ड, पेमेंट तपशील, मेसेज, फोटो आणि ऑडिओ व व्हिडिओ यांसारख्या गोष्टींबाबत सावधगिरी बाळगा."</string>
-    <string name="media_projection_entry_cast_permission_dialog_warning_single_app" msgid="7487834861348460736">"तुम्ही अ‍ॅप कास्ट करता, तेव्हा त्या अ‍ॅपमध्ये दाखवल्या किंवा प्ले होणाऱ्या सर्व गोष्टी दृश्यमान असतात. त्यामुळे पासवर्ड, पेमेंट तपशील, मेसेज, फोटो आणि ऑडिओ व व्हिडिओ यांसारख्या गोष्टींबाबत सावधगिरी बाळगा."</string>
+    <string name="media_projection_entry_cast_permission_dialog_warning_single_app" msgid="7487834861348460736">"तुम्ही अ‍ॅप कास्ट करता, तेव्हा त्या अ‍ॅपमध्ये दाखवलेल्या किंवा प्ले होणाऱ्या सर्व गोष्टी दृश्यमान असतात. त्यामुळे पासवर्ड, पेमेंट तपशील, मेसेज, फोटो आणि ऑडिओ व व्हिडिओ यांसारख्या गोष्टींबाबत सावधगिरी बाळगा."</string>
     <string name="media_projection_entry_cast_permission_dialog_continue_entire_screen" msgid="3261124185304676483">"स्क्रीन कास्‍ट करा"</string>
     <string name="media_projection_entry_cast_app_selector_title" msgid="6323062146661922387">"कास्ट करण्यासाठी ॲप निवडा"</string>
     <string name="media_projection_entry_generic_permission_dialog_title" msgid="4519802931547483628">"शेअर करणे सुरू करायचे आहे का?"</string>
@@ -986,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"टाइलचा आकार टॉगल करा"</string>
     <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>
@@ -1540,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"पाहण्यासाठी अनलॉक करा"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"कोड पाहण्यासाठी अनलॉक करा"</string>
     <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-ms/strings.xml b/packages/SystemUI/res/values-ms/strings.xml
index b7e3153..3c96d0a 100644
--- a/packages/SystemUI/res/values-ms/strings.xml
+++ b/packages/SystemUI/res/values-ms/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Konfigurasikan butiran peranti"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Lihat semua peranti"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Gandingkan peranti baharu"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Kembangkan kumpulan."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Buka aplikasi."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Tidak disambungkan."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Perayauan"</string>
@@ -332,7 +333,8 @@
     <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 dikawal oleh apl popular"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Gunakan skrin penuh"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Gunakan paparan desktop"</string>
     <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>
@@ -991,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"togol saiz jubin"</string>
     <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>
@@ -1507,8 +1506,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Seterusnya"</string>
     <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>
@@ -1546,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Buka kunci untuk lihat"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Buka kunci untuk melihat kod"</string>
     <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-my/strings.xml b/packages/SystemUI/res/values-my/strings.xml
index 72f0369..b259e39 100644
--- a/packages/SystemUI/res/values-my/strings.xml
+++ b/packages/SystemUI/res/values-my/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"အုပ်စုကို ပိုပြသည်။"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"အပလီကေးရှင်းကို ဖွင့်သည်။"</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"ချိတ်ဆက်မထားပါ"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"ပြင်ပကွန်ရက်သုံးခြင်း"</string>
@@ -332,7 +333,8 @@
     <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">"၎င်းကို ထိပ်ဆုံးရှိအက်ပ်က ထိန်းချုပ်နေသဖြင့် တောက်ပမှုကို ပြင်ဆင်၍မရပါ"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index 72d7956..1c655f1 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Konfigurer enhetsdetaljer"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Se alle enheter"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Koble til en ny enhet"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Utvid gruppen."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Åpne appen."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Ikke tilkoblet."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 kontrolleres av appen på toppen"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Bruk fullskjerm"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Bruk datamaskinvisning"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Neste"</string>
     <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>
diff --git a/packages/SystemUI/res/values-ne/strings.xml b/packages/SystemUI/res/values-ne/strings.xml
index 8e0ee77..133003e 100644
--- a/packages/SystemUI/res/values-ne/strings.xml
+++ b/packages/SystemUI/res/values-ne/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"समूह एक्स्पान्ड गर्नुहोस्।"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"एप खोल्नुहोस्।"</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"जडान नगरिएको।"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"रोमिङ"</string>
@@ -332,7 +333,8 @@
     <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">"टप एपले चमक नियन्त्रण गरिरहेकाले चमक मिलाउन मिल्दैन"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index e789798..3881907 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Apparaatgegevens instellen"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Alle apparaten bekijken"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Nieuw apparaat koppelen"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Groep uitvouwen."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"App openen."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Niet verbonden."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 beheerd door de bovenste app"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -421,7 +423,7 @@
     <string name="hearing_devices_presets_error" msgid="350363093458408536">"Kan voorinstelling niet updaten"</string>
     <string name="hearing_devices_preset_label" msgid="7878267405046232358">"Voorinstelling"</string>
     <string name="hearing_devices_spinner_item_selected" msgid="3137083889662762383">"Geselecteerd"</string>
-    <string name="hearing_devices_ambient_label" msgid="629440938614895797">"Omgeving"</string>
+    <string name="hearing_devices_ambient_label" msgid="629440938614895797">"Omgevingsgeluid"</string>
     <string name="hearing_devices_ambient_control_left" msgid="3586965448230412600">"Links"</string>
     <string name="hearing_devices_ambient_control_right" msgid="6192137602448918383">"Rechts"</string>
     <string name="hearing_devices_ambient_expand_controls" msgid="2131816068187709200">"Uitvouwen naar gescheiden bediening voor links en rechts"</string>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Volledig scherm gebruiken"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Desktopweergave gebruiken"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Volgende"</string>
     <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>
diff --git a/packages/SystemUI/res/values-or/strings.xml b/packages/SystemUI/res/values-or/strings.xml
index 469ae28..9c561c9 100644
--- a/packages/SystemUI/res/values-or/strings.xml
+++ b/packages/SystemUI/res/values-or/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"ଗ୍ରୁପକୁ ବିସ୍ତାର କରନ୍ତୁ।"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"ଆପ୍ଲିକେସନ ଖୋଲନ୍ତୁ।"</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"କନେକ୍ଟ ହୋଇନାହିଁ।"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"ରୋମିଙ୍ଗ"</string>
@@ -332,7 +333,8 @@
     <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">"ଟପ ଆପ ଦ୍ୱାରା ଉଜ୍ଜ୍ୱଳତା ନିୟନ୍ତ୍ରିତହେଉଥିବା ଯୋଗୁଁ ଏହାକୁ ଆଡଜଷ୍ଟ କରିପାରିବେ ନାହିଁ"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-pa/strings.xml b/packages/SystemUI/res/values-pa/strings.xml
index 70d2497..6027538 100644
--- a/packages/SystemUI/res/values-pa/strings.xml
+++ b/packages/SystemUI/res/values-pa/strings.xml
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"ਗਰੁੱਪ ਦਾ ਵਿਸਤਾਰ ਕਰੋ।"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"ਐਪਲੀਕੇਸ਼ਨ ਖੋਲ੍ਹੋ।"</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ।"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"ਰੋਮਿੰਗ"</string>
@@ -329,7 +333,8 @@
     <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">"ਚਮਕ ਨੂੰ ਵਿਵਸਥਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਕਿਉਂਕਿ ਇਹ ਪਹਿਲਾਂ ਚੱਲ ਰਹੀ ਐਪ ਵੱਲੋਂ ਕੰਟਰੋਲ ਕਰਨ ਕਰਕੇ ਹੋ ਰਿਹਾ ਹੈ"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -986,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"ਟਾਇਲ ਦੇ ਆਕਾਰ ਨੂੰ ਟੌਗਲ ਕਰੋ"</string>
     <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>
@@ -1540,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"ਦੇਖਣ ਲਈ ਅਣਲਾਕ ਕਰੋ"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"ਕੋਡ ਦੇਖਣ ਲਈ ਅਣਲਾਕ ਕਰੋ"</string>
     <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-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index 6a4b3d5..35ff6c9 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Skonfiguruj szczegóły urządzenia"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Zobacz wszystkie urządzenia"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Sparuj nowe urządzenie"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Rozwiń grupę."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Otwórz aplikację."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Nie połączono."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 onakontrolowana przez aplikację na pierwszym planie"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Użyj trybu pełnoekranowego"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Użyj wersji na komputery"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Dalej"</string>
     <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>
diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml
index 42ce3f4..fc7e2af 100644
--- a/packages/SystemUI/res/values-pt-rBR/strings.xml
+++ b/packages/SystemUI/res/values-pt-rBR/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Configurar detalhes do dispositivo"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Ver todos os dispositivos"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Parear novo dispositivo"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Expandir grupo."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Abrir aplicativo."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Sem conexão."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 controlado pelo app principal"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Usar tela cheia"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Usar a versão para computadores"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Avançar"</string>
     <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>
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 b16d6f2..0233a36 100644
--- a/packages/SystemUI/res/values-pt-rBR/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-pt-rBR/tiles_states_strings.xml
@@ -58,8 +58,8 @@
   </string-array>
   <string-array name="tile_states_flashlight">
     <item msgid="3465257127433353857">"Indisponível"</item>
-    <item msgid="5044688398303285224">"Desativada"</item>
-    <item msgid="8527389108867454098">"Ativada"</item>
+    <item msgid="5044688398303285224">"Apagada"</item>
+    <item msgid="8527389108867454098">"Acesa"</item>
   </string-array>
   <string-array name="tile_states_rotation">
     <item msgid="4578491772376121579">"Indisponível"</item>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index 37ec3da..14b85b7 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Expanda o grupo."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Abra a aplicação."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Sem ligação."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -329,7 +333,8 @@
     <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 controlado pela app principal"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -986,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"ativar/desativar o tamanho do mosaico"</string>
     <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>
@@ -1540,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Desbloqueie para ver"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Desbloqueie para ver o código"</string>
     <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/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index 42ce3f4..fc7e2af 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Configurar detalhes do dispositivo"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Ver todos os dispositivos"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Parear novo dispositivo"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Expandir grupo."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Abrir aplicativo."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Sem conexão."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 controlado pelo app principal"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Usar tela cheia"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Usar a versão para computadores"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Avançar"</string>
     <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>
diff --git a/packages/SystemUI/res/values-pt/tiles_states_strings.xml b/packages/SystemUI/res/values-pt/tiles_states_strings.xml
index b16d6f2..0233a36 100644
--- a/packages/SystemUI/res/values-pt/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-pt/tiles_states_strings.xml
@@ -58,8 +58,8 @@
   </string-array>
   <string-array name="tile_states_flashlight">
     <item msgid="3465257127433353857">"Indisponível"</item>
-    <item msgid="5044688398303285224">"Desativada"</item>
-    <item msgid="8527389108867454098">"Ativada"</item>
+    <item msgid="5044688398303285224">"Apagada"</item>
+    <item msgid="8527389108867454098">"Acesa"</item>
   </string-array>
   <string-array name="tile_states_rotation">
     <item msgid="4578491772376121579">"Indisponível"</item>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index a23f95e..b577be5 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Configurează detaliile dispozitivului"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Vezi toate dispozitivele"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Asociază un nou dispozitiv"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Extinde grupul."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Deschide aplicația."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Neconectat."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 controlată de aplicația de top"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Folosește ecranul complet"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Folosește afișarea pe desktop"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Înainte"</string>
     <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>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index 1d40a6c..03b5423 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Развернуть группу."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Открыть приложение."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Не подключено"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Роуминг"</string>
@@ -332,7 +333,8 @@
     <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">"Невозможно изменить яркость,так как она регулируется общими настройками."</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -991,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"изменить размер параметра"</string>
     <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>
@@ -1507,8 +1506,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
@@ -1546,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Разблокируйте экран, чтобы посмотреть."</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Разблокируйте экран, чтобы посмотреть код."</string>
     <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/strings.xml b/packages/SystemUI/res/values-si/strings.xml
index 440b320..15441b5 100644
--- a/packages/SystemUI/res/values-si/strings.xml
+++ b/packages/SystemUI/res/values-si/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"සමූහය දිගහැරීම"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"යෙදුම විවෘත කරන්න."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"සම්බන්ධ වී නැත."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"රෝමිං"</string>
@@ -332,7 +333,8 @@
     <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">"ඉහළ යෙදුම මඟින් එය පාලනය වන නිසාදීප්තිය ගැළපුම් කළ නොහැක"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index 274c46e..868e939 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Nakonfigurujte podrobnosti o zariadení."</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Zobraziť všetky zariadenia"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Spárovať nové zariadenie"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Rozbaliť skupinu"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Otvoriť aplikáciu"</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Nepripojené."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 ovláda horná aplikácia"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Používať celú obrazovku"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Používať zobrazenie v počítači"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Ďalej"</string>
     <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>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index eb1219a..e6d133e 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Razširitev skupine."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Odpiranje aplikacije."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Ni povezan."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Gostovanje"</string>
@@ -329,7 +333,8 @@
     <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 nadzoruje aplikacija na vrhu"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
diff --git a/packages/SystemUI/res/values-sq/strings.xml b/packages/SystemUI/res/values-sq/strings.xml
index ea1f3aaf..724c6c0 100644
--- a/packages/SystemUI/res/values-sq/strings.xml
+++ b/packages/SystemUI/res/values-sq/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Konfiguro detajet e pajisjes"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Shiko të gjitha pajisjet"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Çifto pajisje të re"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Zgjero grupin."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Hap aplikacionin."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Nuk është i lidhur."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 po kontrollohet nga aplikacioni i sipërm"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Përdor ekranin e plotë"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Përdor pamjen e desktopit"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Para"</string>
     <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>
diff --git a/packages/SystemUI/res/values-sq/tiles_states_strings.xml b/packages/SystemUI/res/values-sq/tiles_states_strings.xml
index 1b1a62f..7ee5631 100644
--- a/packages/SystemUI/res/values-sq/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-sq/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Joaktive"</item>
     <item msgid="5908720590832378783">"Aktive"</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">"Nuk ofrohet"</item>
+    <item msgid="6641673879029894995">"Joaktiv"</item>
+    <item msgid="5806682401126108403">"Aktiv"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index eac0712..e6471eb 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Проширите групу."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Отворите апликацију."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Није повезано."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Роминг"</string>
@@ -329,7 +333,8 @@
     <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">"Не можете да прилагодите осветљеност јер је контролише апликација у врху"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -986,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"укључивање или искључивање величине плочице"</string>
     <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>
@@ -1540,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Откључајте за приказ"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Откључајте да бисте видели кôд"</string>
     <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-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index dfb4e005..9f2a208 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Konfigurera enhetsinformation"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Se alla enheter"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Parkoppla en ny enhet"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Utöka gruppen."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Öppna appen."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Inte ansluten."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 styrs av den översta appen"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Använd helskärm"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Använd datorvyn"</string>
     <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>
@@ -991,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"växla rutstorlek"</string>
     <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>
@@ -1507,8 +1506,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Nästa"</string>
     <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>
@@ -1546,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"Lås upp för att visa"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Lås upp för att visa koden"</string>
     <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-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index c096e41..6222a76 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Weka mipangilio ya maelezo kwenye kifaa"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Ona vifaa vyote"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Unganisha kifaa kipya"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Panua kikundi."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Fungua programu."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Haijaunganishwa."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Mitandao ya ng\'ambo"</string>
@@ -332,7 +333,8 @@
     <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 inadhibitiwa na programu inayotumika"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -586,7 +588,7 @@
     <string name="media_projection_entry_cast_permission_dialog_warning_entire_screen" msgid="4040447861037324017">"Unapotuma maudhui katika skrini yako nzima, chochote kilicho kwenye skrini yako kitaonekana. Kwa hivyo kuwa mwangalifu na vitu kama vile manenosiri, maelezo ya malipo, ujumbe, picha, sauti na video."</string>
     <string name="media_projection_entry_cast_permission_dialog_warning_single_app" msgid="7487834861348460736">"Unapotuma maudhui ya programu moja, chochote kinachoonekana au kucheza katika programu hiyo kitaonekana. Kwa hivyo kuwa mwangalifu na vitu kama vile manenosiri, maelezo ya malipo, ujumbe, picha, sauti na video."</string>
     <string name="media_projection_entry_cast_permission_dialog_continue_entire_screen" msgid="3261124185304676483">"Tuma maudhui yaliyo kwenye skrini"</string>
-    <string name="media_projection_entry_cast_app_selector_title" msgid="6323062146661922387">"Kuchagua programu utakayotumia kutuma maudhui"</string>
+    <string name="media_projection_entry_cast_app_selector_title" msgid="6323062146661922387">"Chagua programu ya kutuma"</string>
     <string name="media_projection_entry_generic_permission_dialog_title" msgid="4519802931547483628">"Ungependa kuanza kushiriki?"</string>
     <string name="media_projection_entry_generic_permission_dialog_warning_entire_screen" msgid="5407906851409410209">"Unaposhiriki, kurekodi au kutuma, Android inaweza kufikia kitu chochote kitakachoonekana kwenye skrini yako au kuchezwa kwenye kifaa chako. Kwa hivyo kuwa mwangalifu na vitu kama vile manenosiri, maelezo ya malipo, ujumbe, picha na sauti na video."</string>
     <string name="media_projection_entry_generic_permission_dialog_warning_single_app" msgid="3454859977888159495">"Unaposhiriki, kurekodi au kutuma programu, Android inaweza kufikia kitu chochote kitakachoonekana au kuchezwa kwenye programu hiyo. Kwa hivyo kuwa mwangalifu na vitu kama vile manenosiri, maelezo ya malipo, ujumbe, picha na sauti na video."</string>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Tumia skrini nzima"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Tumia mwonekano wa kompyuta"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Endelea"</string>
     <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>
diff --git a/packages/SystemUI/res/values-sw/tiles_states_strings.xml b/packages/SystemUI/res/values-sw/tiles_states_strings.xml
index 4070260..fb6e38f 100644
--- a/packages/SystemUI/res/values-sw/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-sw/tiles_states_strings.xml
@@ -58,7 +58,7 @@
   </string-array>
   <string-array name="tile_states_flashlight">
     <item msgid="3465257127433353857">"Hakipatikani"</item>
-    <item msgid="5044688398303285224">"Kimezimwa"</item>
+    <item msgid="5044688398303285224">"Imezimwa"</item>
     <item msgid="8527389108867454098">"Kimewashwa"</item>
   </string-array>
   <string-array name="tile_states_rotation">
@@ -73,7 +73,7 @@
   </string-array>
   <string-array name="tile_states_airplane">
     <item msgid="1985366811411407764">"Hakipatikani"</item>
-    <item msgid="4801037224991420996">"Kimezimwa"</item>
+    <item msgid="4801037224991420996">"Imezimwa"</item>
     <item msgid="1982293347302546665">"Kimewashwa"</item>
   </string-array>
   <string-array name="tile_states_location">
diff --git a/packages/SystemUI/res/values-sw600dp-land/bools.xml b/packages/SystemUI/res/values-sw600dp-land/bools.xml
index 36926a2..6d31449 100644
--- a/packages/SystemUI/res/values-sw600dp-land/bools.xml
+++ b/packages/SystemUI/res/values-sw600dp-land/bools.xml
@@ -22,4 +22,6 @@
 
     <!--  True when small screen (<sw600dp) is landscape. -->
     <bool name="is_small_screen_landscape">false</bool>
+
+    <bool name="volume_dialog_ringer_drawer_should_open_to_the_side">false</bool>
 </resources>
diff --git a/packages/SystemUI/res/values-ta/strings.xml b/packages/SystemUI/res/values-ta/strings.xml
index 342798f..0bf5f22 100644
--- a/packages/SystemUI/res/values-ta/strings.xml
+++ b/packages/SystemUI/res/values-ta/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"குழுவை விரிவாக்கும்."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"ஆப்ஸைத் திறக்கும்."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"இணைக்கப்படவில்லை."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"ரோமிங்"</string>
@@ -332,7 +333,8 @@
     <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">"சிறந்த ஆப்ஸால் ஒளிர்வு கட்டுப்படுத்தப்படுவதால் இதைச் சரிசெய்ய முடியவில்லை"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-te/strings.xml b/packages/SystemUI/res/values-te/strings.xml
index 6f4619f..2042ead 100644
--- a/packages/SystemUI/res/values-te/strings.xml
+++ b/packages/SystemUI/res/values-te/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"గ్రూప్‌ను విస్తరించండి."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"యాప్‌ను తెరవండి."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"కనెక్ట్ చేయబడలేదు."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"రోమింగ్"</string>
@@ -332,7 +333,8 @@
     <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">"ఇది టాప్ యాప్ ద్వారా కంట్రోల్ చేయబడుతున్నందున బ్రైట్‌నెస్‌ను సర్దుబాటు చేయడం సాధ్యం కాదు"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index 0b314f4..9ac9d01b 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"ขยายกลุ่ม"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"เปิดแอปพลิเคชัน"</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"ไม่ได้เชื่อมต่อ"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"โรมมิ่ง"</string>
@@ -329,7 +333,8 @@
     <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">"ปรับความสว่างไม่ได้เนื่องจากควบคุมโดยแอปที่อยู่ด้านบน"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index f5a7fde..516386b 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. I-configure ang detalye ng device"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Tingnan ang lahat ng device"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Magpares ng bagong device"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"I-expand ang grupo."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Buksan ang application."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Hindi nakakonekta."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
@@ -332,7 +333,8 @@
     <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 kinokontrol ito ng nangingibabaw na app"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Gamitin ang full screen"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Gamitin ang desktop view"</string>
     <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>
@@ -991,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"i-toggle ang laki ng tile"</string>
     <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>
@@ -1507,8 +1506,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Susunod"</string>
     <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>
@@ -1546,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"I-unlock para tingnan"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"I-unlock para tingnan ang code"</string>
     <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-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index dca7381..b643203 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Cihaz ayrıntılarını yapılandırın"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Tüm cihazları görün"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Yeni cihaz eşleme"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Grubu genişlet."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Uygulama aç."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Bağlanmadı."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Dolaşım"</string>
@@ -332,7 +333,8 @@
     <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 en üstteki uygulama tarafından kontrol ediliyor"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Tam ekran kullanın"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Masaüstü görünümünü kullanın"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Sonraki"</string>
     <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>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index 4f5c181..db3c02d 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Розгорнути групу"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Відкрити додаток"</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Не з’єднано."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Роумінг"</string>
@@ -332,7 +333,8 @@
     <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">"Не вдається змінити яскравість, оскільки нею керує основний додаток"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-ur/strings.xml b/packages/SystemUI/res/values-ur/strings.xml
index 7cdb223..ffc3f5e 100644
--- a/packages/SystemUI/res/values-ur/strings.xml
+++ b/packages/SystemUI/res/values-ur/strings.xml
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"گروپ کو پھیلائیں۔"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"ایپلیکیشن کھولیں۔"</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"مربوط نہیں ہے۔"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"رومنگ"</string>
@@ -329,7 +333,8 @@
     <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">"چمک کو ایڈجسٹ نہیں کیا جا سکتا کیونکہ اسے سرفہرست ایپ کے ذریعے کنٹرول کیا جا رہا ہے"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -986,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"ٹائل کے سائز کو ٹوگل کریں"</string>
     <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>
@@ -1540,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"دیکھنے کے لیے غیر مقفل کریں"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"کوڈ دیکھنے کے لیے غیر مقفل کریں"</string>
     <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-uz/strings.xml b/packages/SystemUI/res/values-uz/strings.xml
index 037f83d..e325cf3 100644
--- a/packages/SystemUI/res/values-uz/strings.xml
+++ b/packages/SystemUI/res/values-uz/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Qurilma tafsilotlarini sozlash"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Hamma qurilmalar"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Yangi qurilmani ulash"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Guruhni yoying."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Ilovani oching."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Ulanmagan."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Rouming"</string>
@@ -332,7 +333,8 @@
     <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.Uni moslash imkonsiz"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Butun ekrandan foydalanish"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Desktop versiyadan foydalanish"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Keyingisi"</string>
     <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>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index 59e81bb..f64f084 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Thông tin chi tiết về định cấu hình thiết bị"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Xem tất cả thiết bị"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Ghép nối thiết bị mới"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Mở rộng nhóm."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Mở ứng dụng."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Chưa được kết nối."</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Chuyển vùng"</string>
@@ -332,7 +333,8 @@
     <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 ứng dụng trên cùng điều khiển"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Dùng chế độ toàn màn hình"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Dùng chế độ xem trên máy tính để bàn"</string>
     <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>
@@ -1507,8 +1507,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Tiếp theo"</string>
     <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>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index 03c4cdf..a355a67 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -245,16 +245,17 @@
     <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>
-    <!-- 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_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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"展开群组。"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"打开应用。"</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"未连接。"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"漫游"</string>
@@ -332,7 +333,8 @@
     <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">"亮度无法调整，因为它正在被顶层应用控制"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -901,10 +903,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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <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>
@@ -1507,8 +1507,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>
-    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
-    <skip />
+    <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>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml
index 472f531..c5a81fb2 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings.xml
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"展開群組。"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"開啟應用程式。"</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"未連線。"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"漫遊"</string>
@@ -329,7 +333,8 @@
     <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">"無法調整亮度，因為目前是由上層應用程式控制亮度"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -337,7 +342,7 @@
     <string name="quick_settings_camera_label" msgid="5612076679385269339">"相機存取權"</string>
     <string name="quick_settings_mic_label" msgid="8392773746295266375">"麥克風存取權"</string>
     <string name="quick_settings_camera_mic_available" msgid="1453719768420394314">"允許"</string>
-    <string name="quick_settings_camera_mic_blocked" msgid="4710884905006788281">"已禁用"</string>
+    <string name="quick_settings_camera_mic_blocked" msgid="4710884905006788281">"已封鎖"</string>
     <string name="quick_settings_media_device_label" msgid="8034019242363789941">"媒體裝置"</string>
     <string name="quick_settings_user_title" msgid="8673045967216204537">"使用者"</string>
     <string name="quick_settings_wifi_label" msgid="2879507532983487244">"Wi-Fi"</string>
@@ -898,8 +903,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="4221409316059910349">"使用全螢幕模式"</string>
-    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"使用電腦檢視畫面"</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>
@@ -986,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"切換圖塊大小"</string>
     <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>
@@ -1540,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"解鎖即可查看"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"解鎖即可查看驗證碼"</string>
     <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/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index a56fc03..24a15a1 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -252,6 +252,10 @@
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"展開群組。"</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"開啟應用程式。"</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"尚未連線。"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"漫遊"</string>
@@ -329,7 +333,8 @@
     <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">"無法調整亮度，因為目前是由上層應用程式控制亮度"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -581,7 +586,7 @@
     <string name="media_projection_entry_cast_permission_dialog_option_text_single_app" msgid="6073353940838561981">"投放一個應用程式"</string>
     <string name="media_projection_entry_cast_permission_dialog_option_text_entire_screen" msgid="8389508187954155307">"投放整個畫面"</string>
     <string name="media_projection_entry_cast_permission_dialog_warning_entire_screen" msgid="4040447861037324017">"當你投放整個畫面時，畫面上的所有內容都會顯示出來。因此，請謹慎處理密碼、付款資料、訊息、相片和影音內容等資訊。"</string>
-    <string name="media_projection_entry_cast_permission_dialog_warning_single_app" msgid="7487834861348460736">"當你投放應用程式畫面時，該應用程式呈現或播放的所有內容都會顯示出來。因此，請謹慎處理密碼、付款資料、訊息、相片和影音內容等資訊。"</string>
+    <string name="media_projection_entry_cast_permission_dialog_warning_single_app" msgid="7487834861348460736">"投放應用程式畫面時，該應用程式呈現或播放的所有內容都會投放出來。因此，請謹慎處理密碼、付款資料、訊息、相片和影音內容等資訊。"</string>
     <string name="media_projection_entry_cast_permission_dialog_continue_entire_screen" msgid="3261124185304676483">"投放螢幕"</string>
     <string name="media_projection_entry_cast_app_selector_title" msgid="6323062146661922387">"選擇要投放的應用程式"</string>
     <string name="media_projection_entry_generic_permission_dialog_title" msgid="4519802931547483628">"要開始分享嗎？"</string>
@@ -986,8 +991,7 @@
   </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_toggle_tile_size_action" msgid="1485194410119733586">"切換設定方塊大小"</string>
     <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>
@@ -1540,10 +1544,8 @@
     <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>
-    <!-- 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="public_notification_single_line_text" msgid="3576190291791654933">"解鎖即可查看"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"解鎖即可查看驗證碼"</string>
     <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-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index 20be43b..9188648 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -247,16 +247,17 @@
     <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>
-    <!-- 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_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"I-<xliff:g id="DEVICE_NAME">%s</xliff:g>. Lungiselela imininingwane yedivayisi"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Bona wonke amadivayisi"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Bhangqa idivayisi entsha"</string>
     <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>
     <string name="accessibility_expand_group" msgid="521237935987978624">"Nweba iqembu."</string>
+    <!-- no translation found for accessibility_add_device_to_group (5446422960697860806) -->
+    <skip />
+    <!-- no translation found for accessibility_remove_device_from_group (3114694270949142228) -->
+    <skip />
     <string name="accessibility_open_application" msgid="1749126077501259712">"Vula i-application."</string>
     <string name="accessibility_not_connected" msgid="4061305616351042142">"Akuxhunyiwe"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Iyazulazula"</string>
@@ -334,7 +335,8 @@
     <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 yi-app ephezulu"</string>
+    <!-- no translation found for quick_settings_brightness_unable_adjust_msg (4124028416057617517) -->
+    <skip />
     <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>
@@ -903,10 +905,8 @@
     <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>
-    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
-    <skip />
-    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
-    <skip />
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Sebenzisa isikrini esigcwele"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Sebenzisa ukubuka kwedeskithophu"</string>
     <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>
@@ -1509,8 +1509,7 @@
     <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="touchpad_tutorial_next_button" msgid="9169718126626806688">"Okulandelayo"</string>
     <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>
diff --git a/packages/SystemUI/res/values/bools.xml b/packages/SystemUI/res/values/bools.xml
index 234c6df..76e9e37 100644
--- a/packages/SystemUI/res/values/bools.xml
+++ b/packages/SystemUI/res/values/bools.xml
@@ -66,4 +66,6 @@
 
     <!--  True when small screen (<sw600dp) is landscape. -->
     <bool name="is_small_screen_landscape">false</bool>
+
+    <bool name="volume_dialog_ringer_drawer_should_open_to_the_side">false</bool>
 </resources>
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index 8d10e39..4995858 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -501,7 +501,16 @@
     <!-- Smartspace trampoline activity that is used when the user taps smartspace. -->
     <string name="config_smartspaceTrampolineActivityComponent" translatable="false">com.google.android.apps.gsa.staticplugins.opa.smartspace.ExportedSmartspaceTrampolineActivity</string>
 
-    <!-- Screenshot editing default activity.  Must handle ACTION_EDIT image/png intents.
+    <!-- Screenshot editing default activity. Will only be used if the provided component exists and
+      is enabled.
+
+      Must handle ACTION_EDIT image/png intents.
+      Blank falls back to config_screenshotEditor.
+      This name is in the ComponentName flattened format (package/class)  -->
+    <string name="config_preferredScreenshotEditor" translatable="false"></string>
+
+    <!-- Screenshot editing activity used if config_preferredScreenshotEditor is not available.
+     Must handle ACTION_EDIT image/png intents.
          Blank sends the user to the Chooser first.
          This name is in the ComponentName flattened format (package/class)  -->
     <string name="config_screenshotEditor" translatable="false"></string>
@@ -1116,4 +1125,7 @@
 
     <!-- Configuration to swipe to open glanceable hub -->
     <bool name="config_swipeToOpenGlanceableHub">false</bool>
+
+    <!-- Whether or not to show the UMO on the glanceable hub when media is playing. -->
+    <bool name="config_showUmoOnHub">false</bool>
 </resources>
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 640e1fa..7c370d3 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -390,6 +390,12 @@
     <!-- Extra space for guts bundle feedback button -->
     <dimen name="notification_guts_bundle_feedback_size">48dp</dimen>
 
+    <!-- Size of icon buttons in notification info. -->
+    <!-- 24dp for the icon itself + 16dp * 2 for top and bottom padding -->
+    <dimen name="notification_2025_guts_button_size">56dp</dimen>
+
+    <dimen name="notification_2025_min_tap_target_size">48dp</dimen>
+
     <dimen name="notification_importance_toggle_size">48dp</dimen>
     <dimen name="notification_importance_button_separation">8dp</dimen>
     <dimen name="notification_importance_drawable_padding">8dp</dimen>
@@ -402,6 +408,10 @@
     <dimen name="notification_importance_button_description_top_margin">12dp</dimen>
     <dimen name="rect_button_radius">8dp</dimen>
 
+    <!-- Padding for importance selection buttons in notification info, 2025 redesign version -->
+    <dimen name="notification_2025_importance_button_padding_vertical">12dp</dimen>
+    <dimen name="notification_2025_importance_button_padding_horizontal">16dp</dimen>
+
     <!-- The minimum height for the snackbar shown after the snooze option has been chosen. -->
     <dimen name="snooze_snackbar_min_height">56dp</dimen>
 
diff --git a/packages/SystemUI/res/values/ids.xml b/packages/SystemUI/res/values/ids.xml
index 47a9bd6..2d0f0f9 100644
--- a/packages/SystemUI/res/values/ids.xml
+++ b/packages/SystemUI/res/values/ids.xml
@@ -294,4 +294,7 @@
     <item type="id" name="brightness_dialog_slider" />
 
     <item type="id" name="aod_promoted_notification_view_updater_tag" />
+
+    <!-- id for the composable battery meter (see UnifiedBattery.kt) -->
+    <item type="id" name="battery_meter_composable_view" />
 </resources>
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index 084495f..43ea2c3 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -1024,6 +1024,12 @@
     <string name="hearing_devices_ambient_control_left">Left</string>
     <!-- QuickSettings: The text to show the control is for right side device. [CHAR LIMIT=30] -->
     <string name="hearing_devices_ambient_control_right">Right</string>
+    <!-- QuickSettings: Content description for unified ambient control slider. [CHAR LIMIT=NONE] -->
+    <string name="hearing_devices_ambient_control_description">Surroundings</string>
+    <!-- QuickSettings: Content description for left ambient control slider. [CHAR LIMIT=NONE] -->
+    <string name="hearing_devices_ambient_control_left_description">Left surroundings</string>
+    <!-- QuickSettings: Content description for left ambient control slider. [CHAR LIMIT=NONE] -->
+    <string name="hearing_devices_ambient_control_right_description">Right surroundings</string>
     <!-- QuickSettings: Content description for a button, that expands ambient volume sliders [CHAR_LIMIT=NONE] -->
     <string name="hearing_devices_ambient_expand_controls">Expand to left and right separated controls</string>
     <!-- QuickSettings: Content description for a button, that collapses ambient volume sliders [CHAR LIMIT=NONE] -->
@@ -3176,8 +3182,8 @@
     <string name="controls_media_settings_button">Settings</string>
     <!-- Description for media control's playing media item, including information for the media's title, the artist, and source app [CHAR LIMIT=NONE]-->
     <string name="controls_media_playing_item_description"><xliff:g id="song_name" example="Daily mix">%1$s</xliff:g> by <xliff:g id="artist_name" example="Various artists">%2$s</xliff:g> is playing from <xliff:g id="app_label" example="Spotify">%3$s</xliff:g></string>
-    <!-- Content description for media controls progress bar [CHAR_LIMIT=NONE] -->
-    <string name="controls_media_seekbar_description"><xliff:g id="elapsed_time" example="1 hour 2 minutes 30 seconds">%1$s</xliff:g> of <xliff:g id="total_time" example="4 hours 5 seconds">%2$s</xliff:g></string>
+    <!-- Content description for media cotnrols progress bar [CHAR_LIMIT=NONE] -->
+    <string name="controls_media_seekbar_description"><xliff:g id="elapsed_time" example="1:30">%1$s</xliff:g> of <xliff:g id="total_time" example="3:00">%2$s</xliff:g></string>
     <!-- Placeholder title to inform user that an app has posted media controls [CHAR_LIMIT=NONE] -->
     <string name="controls_media_empty_title"><xliff:g id="app_name" example="Foo Music App">%1$s</xliff:g> is running</string>
 
@@ -4178,4 +4184,7 @@
     <string name="qs_edit_mode_reset_dialog_content">
         All Quick Settings tiles will reset to the device’s original settings
     </string>
+
+    <!-- Template that joins disabled message with the label for the voice over. [CHAR LIMIT=NONE] -->
+    <string name="volume_slider_disabled_message_template"><xliff:g example="Notification" id="stream_name">%1$s</xliff:g>, <xliff:g example="Disabled because ring is muted" id="disabled_message">%2$s</xliff:g></string>
 </resources>
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index 8a6b3af..4431dda 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -21,6 +21,13 @@
         <item name="android:textSize">@dimen/status_bar_clock_size</item>
         <item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item>
         <item name="android:textColor">@color/status_bar_clock_color</item>
+        <item name="android:fontFeatureSettings">tnum</item>
+    </style>
+
+    <style name="TextAppearance.StatusBar.Carrier" parent="@*android:style/TextAppearance.StatusBar.Icon">
+        <item name="android:textSize">@dimen/status_bar_clock_size</item>
+        <item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item>
+        <item name="android:textColor">@color/status_bar_clock_color</item>
     </style>
 
     <style name="TextAppearance.StatusBar.UserChip" parent="@*android:style/TextAppearance.StatusBar.Icon">
@@ -557,7 +564,6 @@
         <item name="android:backgroundDimEnabled">false</item>
         <item name="android:showWhenLocked">true</item>
         <item name="android:windowBackground">@color/transparent</item>
-        <item name="android:windowContentOverlay">@null</item>
         <item name="android:windowFullscreen">true</item>
         <item name="android:windowIsFloating">false</item>
         <item name="android:windowNoTitle">true</item>
@@ -865,6 +871,7 @@
     </style>
 
     <style name="MediaPlayer.SessionAction.Primary" parent="MediaPlayer.SessionAction">
+        <item name="android:tint">@android:color/system_on_primary_dark</item>
         <item name="android:background">@drawable/qs_media_round_button_background</item>
         <item name="android:backgroundTint">@color/media_player_solid_button_bg</item>
     </style>
diff --git a/packages/SystemUI/shared/res/values/ids.xml b/packages/SystemUI/shared/res/values/ids.xml
index 1ff2f0e..e1a525d 100644
--- a/packages/SystemUI/shared/res/values/ids.xml
+++ b/packages/SystemUI/shared/res/values/ids.xml
@@ -21,4 +21,8 @@
     <item type="id" name="date_smartspace_view" />
     <!-- ID of the smartspace weather view. -->
     <item type="id" name="weather_smartspace_view" />
+    <!-- ID of the smartspace date view near the large clock. -->
+    <item type="id" name="date_smartspace_view_large" />
+    <!-- ID of the smartspace weather view near the large clock. -->
+    <item type="id" name="weather_smartspace_view_large" />
 </resources>
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java
index 4a4cb7a..8f8bcf2 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java
@@ -239,7 +239,6 @@
                             R.dimen.keyguard_pattern_activated_dot_size));
             mLockPatternView.setPathWidth(
                     getResources().getDimensionPixelSize(R.dimen.keyguard_pattern_stroke_width));
-            mLockPatternView.setKeepDotActivated(true);
         }
 
         mEcaView = findViewById(R.id.keyguard_selector_fade_container);
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java
index 7fb6664..f6df425 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java
@@ -36,6 +36,7 @@
 import com.android.internal.widget.LockscreenCredential;
 import com.android.keyguard.EmergencyButtonController.EmergencyButtonCallback;
 import com.android.keyguard.KeyguardSecurityModel.SecurityMode;
+import com.android.systemui.Flags;
 import com.android.systemui.bouncer.ui.helper.BouncerHapticPlayer;
 import com.android.systemui.classifier.FalsingClassifier;
 import com.android.systemui.classifier.FalsingCollector;
@@ -237,8 +238,12 @@
         super.onViewAttached();
         mLockPatternView.setOnPatternListener(new UnlockPatternListener());
         mLockPatternView.setSaveEnabled(false);
-        mLockPatternView.setInStealthMode(!mLockPatternUtils.isVisiblePatternEnabled(
-                mSelectedUserInteractor.getSelectedUserId()));
+        boolean visiblePatternEnabled = mLockPatternUtils.isVisiblePatternEnabled(
+                mSelectedUserInteractor.getSelectedUserId());
+        mLockPatternView.setInStealthMode(!visiblePatternEnabled);
+        if (Flags.bouncerUiRevamp2()) {
+            mLockPatternView.setKeepDotActivated(visiblePatternEnabled);
+        }
         mLockPatternView.setOnTouchListener((v, event) -> {
             if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
                 mFalsingCollector.avoidGesture();
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
index 63101d4..bd09e39 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -199,7 +199,7 @@
  * to be updated.
  */
 @SysUISingleton
-public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpable, CoreStartable {
+public class KeyguardUpdateMonitor implements TrustManager.TrustListener, CoreStartable {
 
     private static final String TAG = "KeyguardUpdateMonitor";
     private static final int BIOMETRIC_LOCKOUT_RESET_DELAY_MS = 600;
diff --git a/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java b/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java
index e725353..19da5de 100644
--- a/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java
+++ b/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java
@@ -112,7 +112,7 @@
  */
 @SysUISingleton
 public class ScreenDecorations implements
-        CoreStartable, ConfigurationController.ConfigurationListener, Dumpable {
+        CoreStartable, ConfigurationController.ConfigurationListener {
     private static final boolean DEBUG_LOGGING = false;
     private static final String TAG = "ScreenDecorations";
 
diff --git a/packages/SystemUI/src/com/android/systemui/SwipeHelper.java b/packages/SystemUI/src/com/android/systemui/SwipeHelper.java
index 85f1880..c78f75a 100644
--- a/packages/SystemUI/src/com/android/systemui/SwipeHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/SwipeHelper.java
@@ -54,6 +54,7 @@
 import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
 import com.android.systemui.res.R;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 import com.android.systemui.statusbar.notification.shared.NotificationContentAlphaOptimization;
 import com.android.wm.shell.animation.FlingAnimationUtils;
 import com.android.wm.shell.shared.animation.PhysicsAnimator;
@@ -890,12 +891,16 @@
         if (mFeatureFlags.isEnabled(Flags.NOTIFICATION_DRAG_TO_CONTENTS)) {
             if (v instanceof ExpandableNotificationRow) {
                 ExpandableNotificationRow enr = (ExpandableNotificationRow) v;
-                boolean canBubble = enr.getEntry().canBubble();
-                Notification notif = enr.getEntry().getSbn().getNotification();
-                PendingIntent dragIntent = notif.contentIntent != null ? notif.contentIntent
-                        : notif.fullScreenIntent;
-                if (dragIntent != null && dragIntent.isActivity() && !canBubble) {
-                    return true;
+                if (NotificationBundleUi.isEnabled()) {
+                    return enr.getEntryAdapter().canDragAndDrop();
+                } else {
+                    boolean canBubble = enr.getEntry().canBubble();
+                    Notification notif = enr.getEntry().getSbn().getNotification();
+                    PendingIntent dragIntent = notif.contentIntent != null ? notif.contentIntent
+                            : notif.fullScreenIntent;
+                    if (dragIntent != null && dragIntent.isActivity() && !canBubble) {
+                        return true;
+                    }
                 }
             }
         }
diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/data/repository/AccessibilityRepository.kt b/packages/SystemUI/src/com/android/systemui/accessibility/data/repository/AccessibilityRepository.kt
index b33924c..a09e954 100644
--- a/packages/SystemUI/src/com/android/systemui/accessibility/data/repository/AccessibilityRepository.kt
+++ b/packages/SystemUI/src/com/android/systemui/accessibility/data/repository/AccessibilityRepository.kt
@@ -22,6 +22,8 @@
 import com.android.app.tracing.FlowTracing.tracedConflatedCallbackFlow
 import dagger.Module
 import dagger.Provides
+import kotlin.time.Duration
+import kotlin.time.Duration.Companion.milliseconds
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.distinctUntilChanged
 
@@ -32,6 +34,8 @@
     /** @see [AccessibilityManager.isEnabled] */
     val isEnabled: Flow<Boolean>
 
+    fun getRecommendedTimeout(originalTimeout: Duration, uiFlags: Int): Duration
+
     companion object {
         operator fun invoke(a11yManager: AccessibilityManager): AccessibilityRepository =
             AccessibilityRepositoryImpl(a11yManager)
@@ -40,9 +44,8 @@
 
 private const val TAG = "AccessibilityRepository"
 
-private class AccessibilityRepositoryImpl(
-    manager: AccessibilityManager,
-) : AccessibilityRepository {
+private class AccessibilityRepositoryImpl(private val manager: AccessibilityManager) :
+    AccessibilityRepository {
     override val isTouchExplorationEnabled: Flow<Boolean> =
         tracedConflatedCallbackFlow(TAG) {
                 val listener = TouchExplorationStateChangeListener(::trySend)
@@ -62,6 +65,12 @@
                 tracedAwaitClose(TAG) { manager.removeAccessibilityStateChangeListener(listener) }
             }
             .distinctUntilChanged()
+
+    override fun getRecommendedTimeout(originalTimeout: Duration, uiFlags: Int): Duration {
+        return manager
+            .getRecommendedTimeoutMillis(originalTimeout.inWholeMilliseconds.toInt(), uiFlags)
+            .milliseconds
+    }
 }
 
 @Module
diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/hearingaid/AmbientVolumeLayout.java b/packages/SystemUI/src/com/android/systemui/accessibility/hearingaid/AmbientVolumeLayout.java
index 5247acc..33c9eb1 100644
--- a/packages/SystemUI/src/com/android/systemui/accessibility/hearingaid/AmbientVolumeLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/accessibility/hearingaid/AmbientVolumeLayout.java
@@ -327,8 +327,19 @@
         slider.addOnChangeListener(mSliderOnChangeListener);
         if (side == SIDE_LEFT) {
             slider.setTitle(mContext.getString(R.string.hearing_devices_ambient_control_left));
+            slider.setContentDescription(
+                    mContext.getString(R.string.hearing_devices_ambient_control_left));
+            slider.setSliderContentDescription(
+                    mContext.getString(R.string.hearing_devices_ambient_control_left_description));
         } else if (side == SIDE_RIGHT) {
             slider.setTitle(mContext.getString(R.string.hearing_devices_ambient_control_right));
+            slider.setContentDescription(
+                    mContext.getString(R.string.hearing_devices_ambient_control_right));
+            slider.setSliderContentDescription(
+                    mContext.getString(R.string.hearing_devices_ambient_control_right_description));
+        } else {
+            slider.setSliderContentDescription(
+                    mContext.getString(R.string.hearing_devices_ambient_control_description));
         }
         mSideToSliderMap.put(side, slider);
     }
diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/hearingaid/AmbientVolumeSlider.java b/packages/SystemUI/src/com/android/systemui/accessibility/hearingaid/AmbientVolumeSlider.java
index 1a068c4..5c0ad3d 100644
--- a/packages/SystemUI/src/com/android/systemui/accessibility/hearingaid/AmbientVolumeSlider.java
+++ b/packages/SystemUI/src/com/android/systemui/accessibility/hearingaid/AmbientVolumeSlider.java
@@ -92,6 +92,11 @@
         mSlider = requireViewById(R.id.ambient_volume_slider);
         mSlider.addOnSliderTouchListener(mSliderTouchListener);
         mSlider.addOnChangeListener(mSliderChangeListener);
+
+        setFocusable(false);
+        setClickable(false);
+        mSlider.setFocusable(false);
+        mSlider.setClickable(false);
     }
 
     /**
@@ -178,6 +183,13 @@
         return (int) Math.ceil((value - min) / levelGap);
     }
 
+    /** Sets the content description to the ambient volume slider. */
+    public void setSliderContentDescription(CharSequence contentDescription) {
+        if (mSlider != null) {
+            mSlider.setContentDescription(contentDescription);
+        }
+    }
+
     /** Interface definition for a callback invoked when a slider's value is changed. */
     public interface OnChangeListener {
         /** Called when the finger is take off from the slider. */
diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/hearingaid/HearingDevicesDialogDelegate.java b/packages/SystemUI/src/com/android/systemui/accessibility/hearingaid/HearingDevicesDialogDelegate.java
index 786d27a..b730c93 100644
--- a/packages/SystemUI/src/com/android/systemui/accessibility/hearingaid/HearingDevicesDialogDelegate.java
+++ b/packages/SystemUI/src/com/android/systemui/accessibility/hearingaid/HearingDevicesDialogDelegate.java
@@ -289,6 +289,8 @@
             List<DeviceItem> hearingDeviceItemList = getHearingDeviceItemList();
             CachedBluetoothDevice activeHearingDevice = getActiveHearingDevice(
                     hearingDeviceItemList);
+            mLocalBluetoothManager.getEventManager().registerCallback(this);
+
             mMainExecutor.execute(() -> {
                 setupDeviceListView(dialog, hearingDeviceItemList);
                 setupPairNewDeviceButton(dialog);
@@ -302,21 +304,6 @@
     }
 
     @Override
-    public void onStart(@NonNull SystemUIDialog dialog) {
-        mBgExecutor.execute(() -> {
-            if (mLocalBluetoothManager != null) {
-                mLocalBluetoothManager.getEventManager().registerCallback(this);
-            }
-            if (mPresetController != null) {
-                mPresetController.registerHapCallback();
-            }
-            if (mAmbientController != null) {
-                mAmbientController.start();
-            }
-        });
-    }
-
-    @Override
     public void onStop(@NonNull SystemUIDialog dialog) {
         mBgExecutor.execute(() -> {
             if (mLocalBluetoothManager != null) {
@@ -378,6 +365,7 @@
 
         mPresetLayout = dialog.requireViewById(R.id.preset_layout);
         mPresetLayout.setVisibility(mPresetController.isPresetControlAvailable() ? VISIBLE : GONE);
+        mBgExecutor.execute(() -> mPresetController.registerHapCallback());
     }
 
     private void setupAmbientControls(CachedBluetoothDevice activeHearingDevice) {
@@ -387,6 +375,7 @@
                 mDialog.getContext(), mLocalBluetoothManager, ambientLayout);
         mAmbientController.setShowUiWhenLocalDataExist(false);
         mAmbientController.loadDevice(activeHearingDevice);
+        mBgExecutor.execute(() -> mAmbientController.start());
     }
 
     private void setupPairNewDeviceButton(SystemUIDialog dialog) {
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModel.kt b/packages/SystemUI/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModel.kt
index 4dcf268..0902d19 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModel.kt
@@ -34,6 +34,7 @@
 import android.util.RotationUtils
 import android.view.HapticFeedbackConstants
 import android.view.MotionEvent
+import android.view.accessibility.AccessibilityManager
 import com.android.app.tracing.coroutines.launchTraced as launch
 import com.android.keyguard.AuthInteractionProperties
 import com.android.launcher3.icons.IconProvider
@@ -85,7 +86,17 @@
     private val udfpsUtils: UdfpsUtils,
     private val iconProvider: IconProvider,
     private val activityTaskManager: ActivityTaskManager,
+    private val accessibilityManager: AccessibilityManager,
 ) {
+    // When a11y enabled, increase message delay to ensure messages get read
+    private val messageDelay =
+        accessibilityManager
+            .getRecommendedTimeoutMillis(
+                BiometricPrompt.HIDE_DIALOG_DELAY,
+                AccessibilityManager.FLAG_CONTENT_CONTROLS or AccessibilityManager.FLAG_CONTENT_TEXT,
+            )
+            .toLong()
+
     /** The set of modalities available for this prompt */
     val modalities: Flow<BiometricModalities> =
         promptSelectorInteractor.prompt
@@ -692,7 +703,7 @@
 
         messageJob?.cancel()
         messageJob = launch {
-            delay(BiometricPrompt.HIDE_DIALOG_DELAY.toLong())
+            delay(messageDelay)
             if (authenticateAfterError) {
                 showAuthenticating(messageAfterError)
             } else {
@@ -754,7 +765,7 @@
 
         messageJob?.cancel()
         messageJob = launch {
-            delay(BiometricPrompt.HIDE_DIALOG_DELAY.toLong())
+            delay(messageDelay)
             showAuthenticating(messageAfterHelp)
         }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/BluetoothDetailsContent.kt b/packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/BluetoothDetailsContent.kt
index c664456..8bdfd59 100644
--- a/packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/BluetoothDetailsContent.kt
+++ b/packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/BluetoothDetailsContent.kt
@@ -32,9 +32,9 @@
             val view =
                 LayoutInflater.from(context)
                     .inflate(R.layout.bluetooth_tile_dialog, /* root= */ null)
-            detailsContentViewModel.showDetailsContent(/* expandable= */ null, view)
+            detailsContentViewModel.bindDetailsView(view)
             view
         },
-        onRelease = { detailsContentViewModel.contentManager.releaseView() },
+        onRelease = { detailsContentViewModel.unbindDetailsView() },
     )
 }
diff --git a/packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/BluetoothDetailsContentViewModel.kt b/packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/BluetoothDetailsContentViewModel.kt
index 1c9cf8d..7ecd276 100644
--- a/packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/BluetoothDetailsContentViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/BluetoothDetailsContentViewModel.kt
@@ -44,6 +44,7 @@
 import com.android.systemui.dagger.qualifiers.Background
 import com.android.systemui.dagger.qualifiers.Main
 import com.android.systemui.plugins.ActivityStarter
+import com.android.systemui.qs.flags.QsDetailedView
 import com.android.systemui.res.R
 import com.android.systemui.statusbar.phone.SystemUIDialog
 import javax.inject.Inject
@@ -52,6 +53,7 @@
 import kotlinx.coroutines.Job
 import kotlinx.coroutines.channels.awaitClose
 import kotlinx.coroutines.channels.produce
+import kotlinx.coroutines.coroutineScope
 import kotlinx.coroutines.flow.combine
 import kotlinx.coroutines.flow.emptyFlow
 import kotlinx.coroutines.flow.filterNotNull
@@ -91,223 +93,228 @@
     private var job: Job? = null
 
     /**
-     * Shows the details content.
+     * Binds the bluetooth details view with BluetoothDetailsContentManager.
      *
-     * @param view The view from which the dialog is shown. If view is null, it should show the
-     *   bluetooth tile details view.
-     *
-     * TODO: b/378513956 Refactor this method into 2. One is called by the dialog to show the
-     *   dialog, another is called by the details view model to bind the view.
+     * @param view The view from which the bluetooth details content is shown.
      */
-    fun showDetailsContent(expandable: Expandable?, view: View?) {
+    fun bindDetailsView(view: View) {
+        // If `QsDetailedView` is not enabled, it should show the dialog.
+        QsDetailedView.assertInNewMode()
+
         cancelJob()
 
         job =
             coroutineScope.launch(context = mainDispatcher) {
-                var updateDeviceItemJob: Job?
-                var updateDialogUiJob: Job? = null
-                val dialog: SystemUIDialog?
-                val context: Context
-
-                if (view == null) {
-                    // Render with dialog
-                    val dialogDelegate = createBluetoothTileDialog()
-                    dialog = dialogDelegate.createDialog()
-                    context = dialog.context
-
-                    val controller =
-                        expandable?.dialogTransitionController(
-                            DialogCuj(
-                                InteractionJankMonitor.CUJ_SHADE_DIALOG_OPEN,
-                                INTERACTION_JANK_TAG,
-                            )
-                        )
-                    controller?.let {
-                        dialogTransitionAnimator.show(
-                            dialog,
-                            it,
-                            animateBackgroundBoundsChange = true,
-                        )
-                    } ?: dialog.show()
-                    // contentManager is created after dialog.show
-                    contentManager = dialogDelegate.contentManager
-                } else {
-                    // Render with tile details view
-                    dialog = null
-                    context = view.context
-                    contentManager = createContentManager()
-                    contentManager.bind(view)
-                    contentManager.start()
-                }
-
-                updateDeviceItemJob = launch {
-                    deviceItemInteractor.updateDeviceItems(context, DeviceFetchTrigger.FIRST_LOAD)
-                }
-
-                // deviceItemUpdate is emitted when device item list is done fetching, update UI and
-                // stop the progress bar.
-                combine(
-                        deviceItemInteractor.deviceItemUpdate,
-                        deviceItemInteractor.showSeeAllUpdate,
-                    ) { deviceItem, showSeeAll ->
-                        updateDialogUiJob?.cancel()
-                        updateDialogUiJob = launch {
-                            contentManager.apply {
-                                onDeviceItemUpdated(
-                                    deviceItem,
-                                    showSeeAll,
-                                    showPairNewDevice =
-                                        bluetoothStateInteractor.isBluetoothEnabled(),
-                                )
-                                animateProgressBar(false)
-                            }
-                        }
-                    }
-                    .launchIn(this)
-
-                // deviceItemUpdateRequest is emitted when a bluetooth callback is called, re-fetch
-                // the device item list and animate the progress bar.
-                merge(
-                        deviceItemInteractor.deviceItemUpdateRequest,
-                        audioModeInteractor.isOngoingCall,
-                        bluetoothDeviceMetadataInteractor.metadataUpdate,
-                        if (
-                            audioSharingInteractor.audioSharingAvailable() &&
-                                audioSharingInteractor.qsDialogImprovementAvailable()
-                        ) {
-                            audioSharingInteractor.audioSourceStateUpdate
-                        } else {
-                            emptyFlow()
-                        },
-                    )
-                    .onEach {
-                        contentManager.animateProgressBar(true)
-                        updateDeviceItemJob?.cancel()
-                        updateDeviceItemJob = launch {
-                            deviceItemInteractor.updateDeviceItems(
-                                context,
-                                DeviceFetchTrigger.BLUETOOTH_CALLBACK_RECEIVED,
-                            )
-                        }
-                    }
-                    .launchIn(this)
-
-                if (audioSharingInteractor.audioSharingAvailable()) {
-                    if (audioSharingInteractor.qsDialogImprovementAvailable()) {
-                        launch { audioSharingInteractor.handleAudioSourceWhenReady() }
-                    }
-
-                    audioSharingButtonViewModelFactory.create().run {
-                        audioSharingButtonStateUpdate
-                            .onEach {
-                                when (it) {
-                                    is AudioSharingButtonState.Visible -> {
-                                        contentManager.onAudioSharingButtonUpdated(
-                                            VISIBLE,
-                                            context.getString(it.resId),
-                                            it.isActive,
-                                        )
-                                    }
-                                    is AudioSharingButtonState.Gone -> {
-                                        contentManager.onAudioSharingButtonUpdated(
-                                            GONE,
-                                            label = null,
-                                            isActive = false,
-                                        )
-                                    }
-                                }
-                            }
-                            .launchIn(this@launch)
-                        launch { activate() }
-                    }
-                }
-
-                // bluetoothStateUpdate is emitted when bluetooth on/off state is changed, re-fetch
-                // the device item list.
-                bluetoothStateInteractor.bluetoothStateUpdate
-                    .onEach {
-                        contentManager.onBluetoothStateUpdated(
-                            it,
-                            UiProperties.build(it, isAutoOnToggleFeatureAvailable()),
-                        )
-                        updateDeviceItemJob?.cancel()
-                        updateDeviceItemJob = launch {
-                            deviceItemInteractor.updateDeviceItems(
-                                context,
-                                DeviceFetchTrigger.BLUETOOTH_STATE_CHANGE_RECEIVED,
-                            )
-                        }
-                    }
-                    .launchIn(this)
-
-                // bluetoothStateToggle is emitted when user toggles the bluetooth state switch,
-                // send the new value to the bluetoothStateInteractor and animate the progress bar.
-                contentManager.bluetoothStateToggle
-                    .filterNotNull()
-                    .onEach {
-                        contentManager.animateProgressBar(true)
-                        bluetoothStateInteractor.setBluetoothEnabled(it)
-                    }
-                    .launchIn(this)
-
-                // deviceItemClick is emitted when user clicked on a device item.
-                contentManager.deviceItemClick
-                    .filterNotNull()
-                    .onEach {
-                        when (it.target) {
-                            DeviceItemClick.Target.ENTIRE_ROW -> {
-                                deviceItemActionInteractor.onClick(it.deviceItem, dialog)
-                                logger.logDeviceClick(
-                                    it.deviceItem.cachedBluetoothDevice.address,
-                                    it.deviceItem.type,
-                                )
-                            }
-
-                            DeviceItemClick.Target.ACTION_ICON -> {
-                                deviceItemActionInteractor.onActionIconClick(it.deviceItem) { intent
-                                    ->
-                                    startSettingsActivity(intent, it.clickedView)
-                                }
-                            }
-                        }
-                    }
-                    .launchIn(this)
-
-                // contentHeight is emitted when the dialog is dismissed.
-                contentManager.contentHeight
-                    .filterNotNull()
-                    .onEach {
-                        withContext(backgroundDispatcher) {
-                            sharedPreferences.edit().putInt(CONTENT_HEIGHT_PREF_KEY, it).apply()
-                        }
-                    }
-                    .launchIn(this)
-
-                if (isAutoOnToggleFeatureAvailable()) {
-                    // bluetoothAutoOnUpdate is emitted when bluetooth auto on on/off state is
-                    // changed.
-                    bluetoothAutoOnInteractor.isEnabled
-                        .onEach {
-                            contentManager.onBluetoothAutoOnUpdated(
-                                it,
-                                if (it) R.string.turn_on_bluetooth_auto_info_enabled
-                                else R.string.turn_on_bluetooth_auto_info_disabled,
-                            )
-                        }
-                        .launchIn(this)
-
-                    // bluetoothAutoOnToggle is emitted when user toggles the bluetooth auto on
-                    // switch, send the new value to the bluetoothAutoOnInteractor.
-                    contentManager.bluetoothAutoOnToggle
-                        .filterNotNull()
-                        .onEach { bluetoothAutoOnInteractor.setEnabled(it) }
-                        .launchIn(this)
-                }
-
-                produce<Unit> { awaitClose { dialog?.cancel() } }
+                contentManager = createContentManager()
+                contentManager.bind(view)
+                contentManager.start()
+                updateDetailsUI(context = view.context, dialog = null)
             }
     }
 
+    /** Shows the bluetooth dialog. */
+    fun showDialog(expandable: Expandable?) {
+        // If `QsDetailedView` is enabled, it should show the details view.
+        QsDetailedView.assertInLegacyMode()
+
+        cancelJob()
+
+        job =
+            coroutineScope.launch(context = mainDispatcher) {
+                val dialogDelegate = createBluetoothTileDialog()
+                val dialog = dialogDelegate.createDialog()
+
+                val controller =
+                    expandable?.dialogTransitionController(
+                        DialogCuj(
+                            InteractionJankMonitor.CUJ_SHADE_DIALOG_OPEN,
+                            INTERACTION_JANK_TAG,
+                        )
+                    )
+                controller?.let {
+                    dialogTransitionAnimator.show(dialog, it, animateBackgroundBoundsChange = true)
+                } ?: dialog.show()
+                // contentManager is created after dialog.show
+                contentManager = dialogDelegate.contentManager
+                updateDetailsUI(dialog.context, dialog)
+            }
+    }
+
+    /** Unbinds the details view when it goes away. */
+    fun unbindDetailsView() {
+        cancelJob()
+        contentManager.releaseView()
+    }
+
+    private suspend fun updateDetailsUI(context: Context, dialog: SystemUIDialog?) {
+        coroutineScope {
+            var updateDeviceItemJob: Job?
+            var updateDialogUiJob: Job? = null
+
+            updateDeviceItemJob = launch {
+                deviceItemInteractor.updateDeviceItems(context, DeviceFetchTrigger.FIRST_LOAD)
+            }
+
+            // deviceItemUpdate is emitted when device item list is done fetching, update UI and
+            // stop the progress bar.
+            combine(deviceItemInteractor.deviceItemUpdate, deviceItemInteractor.showSeeAllUpdate) {
+                    deviceItem,
+                    showSeeAll ->
+                    updateDialogUiJob?.cancel()
+                    updateDialogUiJob = launch {
+                        contentManager.apply {
+                            onDeviceItemUpdated(
+                                deviceItem,
+                                showSeeAll,
+                                showPairNewDevice = bluetoothStateInteractor.isBluetoothEnabled(),
+                            )
+                            animateProgressBar(false)
+                        }
+                    }
+                }
+                .launchIn(this)
+
+            // deviceItemUpdateRequest is emitted when a bluetooth callback is called, re-fetch
+            // the device item list and animate the progress bar.
+            merge(
+                    deviceItemInteractor.deviceItemUpdateRequest,
+                    audioModeInteractor.isOngoingCall,
+                    bluetoothDeviceMetadataInteractor.metadataUpdate,
+                    if (
+                        audioSharingInteractor.audioSharingAvailable() &&
+                            audioSharingInteractor.qsDialogImprovementAvailable()
+                    ) {
+                        audioSharingInteractor.audioSourceStateUpdate
+                    } else {
+                        emptyFlow()
+                    },
+                )
+                .onEach {
+                    contentManager.animateProgressBar(true)
+                    updateDeviceItemJob?.cancel()
+                    updateDeviceItemJob = launch {
+                        deviceItemInteractor.updateDeviceItems(
+                            context,
+                            DeviceFetchTrigger.BLUETOOTH_CALLBACK_RECEIVED,
+                        )
+                    }
+                }
+                .launchIn(this)
+
+            if (audioSharingInteractor.audioSharingAvailable()) {
+                if (audioSharingInteractor.qsDialogImprovementAvailable()) {
+                    launch { audioSharingInteractor.handleAudioSourceWhenReady() }
+                }
+
+                audioSharingButtonViewModelFactory.create().run {
+                    audioSharingButtonStateUpdate
+                        .onEach {
+                            when (it) {
+                                is AudioSharingButtonState.Visible -> {
+                                    contentManager.onAudioSharingButtonUpdated(
+                                        VISIBLE,
+                                        context.getString(it.resId),
+                                        it.isActive,
+                                    )
+                                }
+                                is AudioSharingButtonState.Gone -> {
+                                    contentManager.onAudioSharingButtonUpdated(
+                                        GONE,
+                                        label = null,
+                                        isActive = false,
+                                    )
+                                }
+                            }
+                        }
+                        .launchIn(this@coroutineScope)
+                    launch { activate() }
+                }
+            }
+
+            // bluetoothStateUpdate is emitted when bluetooth on/off state is changed, re-fetch
+            // the device item list.
+            bluetoothStateInteractor.bluetoothStateUpdate
+                .onEach {
+                    contentManager.onBluetoothStateUpdated(
+                        it,
+                        UiProperties.build(it, isAutoOnToggleFeatureAvailable()),
+                    )
+                    updateDeviceItemJob?.cancel()
+                    updateDeviceItemJob = launch {
+                        deviceItemInteractor.updateDeviceItems(
+                            context,
+                            DeviceFetchTrigger.BLUETOOTH_STATE_CHANGE_RECEIVED,
+                        )
+                    }
+                }
+                .launchIn(this)
+
+            // bluetoothStateToggle is emitted when user toggles the bluetooth state switch,
+            // send the new value to the bluetoothStateInteractor and animate the progress bar.
+            contentManager.bluetoothStateToggle
+                .filterNotNull()
+                .onEach {
+                    contentManager.animateProgressBar(true)
+                    bluetoothStateInteractor.setBluetoothEnabled(it)
+                }
+                .launchIn(this)
+
+            // deviceItemClick is emitted when user clicked on a device item.
+            contentManager.deviceItemClick
+                .filterNotNull()
+                .onEach {
+                    when (it.target) {
+                        DeviceItemClick.Target.ENTIRE_ROW -> {
+                            deviceItemActionInteractor.onClick(it.deviceItem, dialog)
+                            logger.logDeviceClick(
+                                it.deviceItem.cachedBluetoothDevice.address,
+                                it.deviceItem.type,
+                            )
+                        }
+
+                        DeviceItemClick.Target.ACTION_ICON -> {
+                            deviceItemActionInteractor.onActionIconClick(it.deviceItem) { intent ->
+                                startSettingsActivity(intent, it.clickedView)
+                            }
+                        }
+                    }
+                }
+                .launchIn(this)
+
+            // contentHeight is emitted when the dialog is dismissed.
+            contentManager.contentHeight
+                .filterNotNull()
+                .onEach {
+                    withContext(backgroundDispatcher) {
+                        sharedPreferences.edit().putInt(CONTENT_HEIGHT_PREF_KEY, it).apply()
+                    }
+                }
+                .launchIn(this)
+
+            if (isAutoOnToggleFeatureAvailable()) {
+                // bluetoothAutoOnUpdate is emitted when bluetooth auto on on/off state is
+                // changed.
+                bluetoothAutoOnInteractor.isEnabled
+                    .onEach {
+                        contentManager.onBluetoothAutoOnUpdated(
+                            it,
+                            if (it) R.string.turn_on_bluetooth_auto_info_enabled
+                            else R.string.turn_on_bluetooth_auto_info_disabled,
+                        )
+                    }
+                    .launchIn(this)
+
+                // bluetoothAutoOnToggle is emitted when user toggles the bluetooth auto on
+                // switch, send the new value to the bluetoothAutoOnInteractor.
+                contentManager.bluetoothAutoOnToggle
+                    .filterNotNull()
+                    .onEach { bluetoothAutoOnInteractor.setEnabled(it) }
+                    .launchIn(this)
+            }
+            produce<Unit> { awaitClose { dialog?.cancel() } }
+        }
+    }
+
     private suspend fun createBluetoothTileDialog(): BluetoothTileDialogDelegate {
         return bluetoothDialogDelegateFactory.create(
             getUiProperties(),
diff --git a/packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/BluetoothTileDialogDelegate.kt b/packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/BluetoothTileDialogDelegate.kt
index c55f605..bac6854 100644
--- a/packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/BluetoothTileDialogDelegate.kt
+++ b/packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/BluetoothTileDialogDelegate.kt
@@ -51,7 +51,7 @@
             initialUiProperties: BluetoothDetailsContentViewModel.UiProperties,
             cachedContentHeight: Int,
             dialogCallback: BluetoothTileDialogCallback,
-            dimissListener: Runnable,
+            dismissListener: Runnable,
         ): BluetoothTileDialogDelegate
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/common/data/repository/PackageInstallerMonitor.kt b/packages/SystemUI/src/com/android/systemui/common/data/repository/PackageInstallerMonitor.kt
index 208adc2..5f7dca8 100644
--- a/packages/SystemUI/src/com/android/systemui/common/data/repository/PackageInstallerMonitor.kt
+++ b/packages/SystemUI/src/com/android/systemui/common/data/repository/PackageInstallerMonitor.kt
@@ -64,15 +64,14 @@
                         synchronized(sessions) {
                             sessions.putAll(
                                 packageInstaller.allSessions
-                                    .filter { !TextUtils.isEmpty(it.appPackageName) }
-                                    .map { session -> session.toModel() }
+                                    .mapNotNull { session -> session.toModel() }
                                     .associateBy { it.sessionId }
                             )
                             updateInstallerSessionsFlow()
                         }
                         packageInstaller.registerSessionCallback(
                             this@PackageInstallerMonitor,
-                            bgHandler
+                            bgHandler,
                         )
                     } else {
                         synchronized(sessions) {
@@ -130,7 +129,7 @@
             if (session == null) {
                 sessions.remove(sessionId)
             } else {
-                sessions[sessionId] = session.toModel()
+                session.toModel()?.apply { sessions[sessionId] = this }
             }
             updateInstallerSessionsFlow()
         }
@@ -144,7 +143,11 @@
     companion object {
         const val TAG = "PackageInstallerMonitor"
 
-        private fun PackageInstaller.SessionInfo.toModel(): PackageInstallSession {
+        private fun PackageInstaller.SessionInfo.toModel(): PackageInstallSession? {
+            if (TextUtils.isEmpty(this.appPackageName)) {
+                return null
+            }
+
             return PackageInstallSession(
                 sessionId = this.sessionId,
                 packageName = this.appPackageName,
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 5e8c21f9..4451f07 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
@@ -16,23 +16,27 @@
 
 package com.android.systemui.common.shared.colors
 
-import android.content.res.Resources
+import android.content.Context
 
 object SurfaceEffectColors {
     @JvmStatic
-    fun surfaceEffect0(r: Resources): Int {
-        return r.getColor(com.android.internal.R.color.surface_effect_0)
+    fun surfaceEffect0(context: Context): Int {
+        return context.resources.getColor(
+            com.android.internal.R.color.surface_effect_0, context.theme)
     }
     @JvmStatic
-    fun surfaceEffect1(r: Resources): Int {
-        return r.getColor(com.android.internal.R.color.surface_effect_1)
+    fun surfaceEffect1(context: Context): Int {
+        return context.resources.getColor(
+            com.android.internal.R.color.surface_effect_1, context.theme)
     }
     @JvmStatic
-    fun surfaceEffect2(r: Resources): Int {
-        return r.getColor(com.android.internal.R.color.surface_effect_2)
+    fun surfaceEffect2(context: Context): Int {
+        return context.resources.getColor(
+            com.android.internal.R.color.surface_effect_2, context.theme)
     }
     @JvmStatic
-    fun surfaceEffect3(r: Resources): Int {
-        return r.getColor(com.android.internal.R.color.surface_effect_3)
+    fun surfaceEffect3(context: Context): Int {
+        return context.resources.getColor(
+            com.android.internal.R.color.surface_effect_3, context.theme)
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/communal/CommunalOngoingContentStartable.kt b/packages/SystemUI/src/com/android/systemui/communal/CommunalOngoingContentStartable.kt
index 48a6d9d..7765d00 100644
--- a/packages/SystemUI/src/com/android/systemui/communal/CommunalOngoingContentStartable.kt
+++ b/packages/SystemUI/src/com/android/systemui/communal/CommunalOngoingContentStartable.kt
@@ -16,7 +16,9 @@
 
 package com.android.systemui.communal
 
+import com.android.app.tracing.coroutines.launchTraced as launch
 import com.android.systemui.CoreStartable
+import com.android.systemui.communal.dagger.CommunalModule.Companion.SHOW_UMO
 import com.android.systemui.communal.data.repository.CommunalMediaRepository
 import com.android.systemui.communal.data.repository.CommunalSmartspaceRepository
 import com.android.systemui.communal.domain.interactor.CommunalInteractor
@@ -24,8 +26,8 @@
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.dagger.qualifiers.Background
 import javax.inject.Inject
+import javax.inject.Named
 import kotlinx.coroutines.CoroutineScope
-import com.android.app.tracing.coroutines.launchTraced as launch
 
 @SysUISingleton
 class CommunalOngoingContentStartable
@@ -36,6 +38,7 @@
     private val communalMediaRepository: CommunalMediaRepository,
     private val communalSettingsInteractor: CommunalSettingsInteractor,
     private val communalSmartspaceRepository: CommunalSmartspaceRepository,
+    @Named(SHOW_UMO) private val showUmoOnHub: Boolean,
 ) : CoreStartable {
 
     override fun start() {
@@ -46,10 +49,14 @@
         bgScope.launch {
             communalInteractor.isCommunalEnabled.collect { enabled ->
                 if (enabled) {
-                    communalMediaRepository.startListening()
+                    if (showUmoOnHub) {
+                        communalMediaRepository.startListening()
+                    }
                     communalSmartspaceRepository.startListening()
                 } else {
-                    communalMediaRepository.stopListening()
+                    if (showUmoOnHub) {
+                        communalMediaRepository.stopListening()
+                    }
                     communalSmartspaceRepository.stopListening()
                 }
             }
diff --git a/packages/SystemUI/src/com/android/systemui/communal/dagger/CommunalModule.kt b/packages/SystemUI/src/com/android/systemui/communal/dagger/CommunalModule.kt
index ff74162..bb3be53 100644
--- a/packages/SystemUI/src/com/android/systemui/communal/dagger/CommunalModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/communal/dagger/CommunalModule.kt
@@ -105,6 +105,7 @@
         const val LOGGABLE_PREFIXES = "loggable_prefixes"
         const val LAUNCHER_PACKAGE = "launcher_package"
         const val SWIPE_TO_HUB = "swipe_to_hub"
+        const val SHOW_UMO = "show_umo"
 
         @Provides
         @Communal
@@ -150,5 +151,11 @@
         fun provideSwipeToHub(@Main resources: Resources): Boolean {
             return resources.getBoolean(R.bool.config_swipeToOpenGlanceableHub)
         }
+
+        @Provides
+        @Named(SHOW_UMO)
+        fun provideShowUmo(@Main resources: Resources): Boolean {
+            return resources.getBoolean(R.bool.config_showUmoOnHub)
+        }
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalSettingsRepositoryModule.kt b/packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalSettingsRepositoryModule.kt
index 0f25225..c6708d4 100644
--- a/packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalSettingsRepositoryModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalSettingsRepositoryModule.kt
@@ -17,6 +17,7 @@
 package com.android.systemui.communal.data.repository
 
 import com.android.systemui.Flags.glanceableHubBlurredBackground
+import com.android.systemui.Flags.glanceableHubV2
 import com.android.systemui.communal.shared.model.CommunalBackgroundType
 import dagger.Binds
 import dagger.Module
@@ -35,6 +36,10 @@
                 return CommunalBackgroundType.BLUR
             }
 
+            if (glanceableHubV2()) {
+                return CommunalBackgroundType.SCRIM
+            }
+
             return CommunalBackgroundType.ANIMATED
         }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/communal/shared/model/CommunalBackgroundType.kt b/packages/SystemUI/src/com/android/systemui/communal/shared/model/CommunalBackgroundType.kt
index e1128ed..a84fa79 100644
--- a/packages/SystemUI/src/com/android/systemui/communal/shared/model/CommunalBackgroundType.kt
+++ b/packages/SystemUI/src/com/android/systemui/communal/shared/model/CommunalBackgroundType.kt
@@ -17,10 +17,11 @@
 package com.android.systemui.communal.shared.model
 
 /** Models the types of background that can be shown on the hub. */
-enum class CommunalBackgroundType(val value: Int) {
-    STATIC(0),
-    STATIC_GRADIENT(1),
-    ANIMATED(2),
-    NONE(3),
-    BLUR(4),
+enum class CommunalBackgroundType(val value: Int, val opaque: Boolean) {
+    STATIC(value = 0, opaque = true),
+    STATIC_GRADIENT(value = 1, opaque = true),
+    ANIMATED(value = 2, opaque = true),
+    NONE(value = 3, opaque = false),
+    BLUR(value = 4, opaque = false),
+    SCRIM(value = 5, opaque = false),
 }
diff --git a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalToDreamButtonViewModel.kt b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalToDreamButtonViewModel.kt
deleted file mode 100644
index b531d15..0000000
--- a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalToDreamButtonViewModel.kt
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.communal.ui.viewmodel
-
-import android.annotation.SuppressLint
-import android.app.DreamManager
-import android.content.Intent
-import android.provider.Settings
-import androidx.compose.runtime.getValue
-import com.android.internal.logging.UiEventLogger
-import com.android.systemui.communal.domain.interactor.CommunalPrefsInteractor
-import com.android.systemui.communal.domain.interactor.CommunalSettingsInteractor
-import com.android.systemui.communal.shared.log.CommunalUiEvent
-import com.android.systemui.dagger.qualifiers.Background
-import com.android.systemui.lifecycle.ExclusiveActivatable
-import com.android.systemui.lifecycle.Hydrator
-import com.android.systemui.plugins.ActivityStarter
-import com.android.systemui.statusbar.policy.BatteryController
-import com.android.systemui.util.kotlin.BooleanFlowOperators.allOf
-import com.android.systemui.util.kotlin.BooleanFlowOperators.not
-import com.android.systemui.util.kotlin.isDevicePluggedIn
-import com.android.systemui.util.kotlin.sample
-import dagger.assisted.AssistedFactory
-import dagger.assisted.AssistedInject
-import kotlin.coroutines.CoroutineContext
-import kotlinx.coroutines.awaitCancellation
-import kotlinx.coroutines.channels.Channel
-import kotlinx.coroutines.coroutineScope
-import kotlinx.coroutines.flow.collectLatest
-import kotlinx.coroutines.flow.distinctUntilChanged
-import kotlinx.coroutines.flow.receiveAsFlow
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-
-class CommunalToDreamButtonViewModel
-@AssistedInject
-constructor(
-    @Background private val backgroundContext: CoroutineContext,
-    batteryController: BatteryController,
-    private val prefsInteractor: CommunalPrefsInteractor,
-    private val settingsInteractor: CommunalSettingsInteractor,
-    private val activityStarter: ActivityStarter,
-    private val dreamManager: DreamManager,
-    private val uiEventLogger: UiEventLogger,
-) : ExclusiveActivatable() {
-
-    private val hydrator = Hydrator("CommunalToDreamButtonViewModel.hydrator")
-    private val _requests = Channel<Unit>(Channel.BUFFERED)
-
-    /** Whether we should show a button on hub to switch to dream. */
-    val shouldShowDreamButtonOnHub: Boolean by
-        hydrator.hydratedStateOf(
-            traceName = "shouldShowDreamButtonOnHub",
-            initialValue = false,
-            source = batteryController.isDevicePluggedIn().distinctUntilChanged(),
-        )
-
-    /** Return whether to show the dream button tooltip. */
-    val shouldShowTooltip: Boolean by
-        hydrator.hydratedStateOf(
-            traceName = "shouldShowTooltip",
-            initialValue = false,
-            source =
-                allOf(
-                    not(prefsInteractor.isDreamButtonTooltipDismissed),
-                    prefsInteractor.isHubOnboardingDismissed,
-                ),
-        )
-
-    /** Set the dream button tooltip to be dismissed. */
-    fun setDreamButtonTooltipDismissed() {
-        prefsInteractor.setDreamButtonTooltipDismissed()
-    }
-
-    /** Handle a tap on the "show dream" button. */
-    fun onShowDreamButtonTap() {
-        uiEventLogger.log(CommunalUiEvent.COMMUNAL_HUB_SHOW_DREAM_BUTTON_TAP)
-        _requests.trySend(Unit)
-    }
-
-    @SuppressLint("MissingPermission")
-    override suspend fun onActivated(): Nothing = coroutineScope {
-        launch {
-            _requests
-                .receiveAsFlow()
-                .sample(settingsInteractor.isScreensaverEnabled)
-                .collectLatest { enabled ->
-                    withContext(backgroundContext) {
-                        if (enabled) {
-                            dreamManager.startDream()
-                        } else {
-                            activityStarter.postStartActivityDismissingKeyguard(
-                                Intent(Settings.ACTION_DREAM_SETTINGS),
-                                0,
-                            )
-                        }
-                    }
-                }
-        }
-
-        launch { hydrator.activate() }
-
-        awaitCancellation()
-    }
-
-    @AssistedFactory
-    interface Factory {
-        fun create(): CommunalToDreamButtonViewModel
-    }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalTransitionViewModel.kt
index 0cbbfd4..db5c7eb 100644
--- a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalTransitionViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalTransitionViewModel.kt
@@ -19,6 +19,7 @@
 import android.graphics.Color
 import com.android.systemui.communal.domain.interactor.CommunalInteractor
 import com.android.systemui.communal.domain.interactor.CommunalSceneInteractor
+import com.android.systemui.communal.domain.interactor.CommunalSettingsInteractor
 import com.android.systemui.communal.shared.model.CommunalScenes
 import com.android.systemui.communal.util.CommunalColors
 import com.android.systemui.dagger.SysUISingleton
@@ -40,6 +41,7 @@
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.SharingStarted
 import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.distinctUntilChanged
 import kotlinx.coroutines.flow.filter
 import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.flow.map
@@ -60,6 +62,7 @@
     glanceableHubToDreamTransitionViewModel: GlanceableHubToDreamingTransitionViewModel,
     communalInteractor: CommunalInteractor,
     private val communalSceneInteractor: CommunalSceneInteractor,
+    communalSettingsInteractor: CommunalSettingsInteractor,
     keyguardTransitionInteractor: KeyguardTransitionInteractor,
 ) {
     /**
@@ -146,13 +149,16 @@
             }
 
     val recentsBackgroundColor: Flow<Color?> =
-        combine(showCommunalFromOccluded, communalColors.backgroundColor) {
-            showCommunalFromOccluded,
-            backgroundColor ->
-            if (showCommunalFromOccluded) {
-                backgroundColor
-            } else {
-                null
+        combine(
+                showCommunalFromOccluded,
+                communalColors.backgroundColor,
+                communalSettingsInteractor.communalBackground,
+            ) { showCommunalFromOccluded, backgroundColor, backgroundType ->
+                if (showCommunalFromOccluded && backgroundType.opaque) {
+                    backgroundColor
+                } else {
+                    null
+                }
             }
-        }
+            .distinctUntilChanged()
 }
diff --git a/packages/SystemUI/src/com/android/systemui/display/data/repository/DisplayRepository.kt b/packages/SystemUI/src/com/android/systemui/display/data/repository/DisplayRepository.kt
index d464200..721d116 100644
--- a/packages/SystemUI/src/com/android/systemui/display/data/repository/DisplayRepository.kt
+++ b/packages/SystemUI/src/com/android/systemui/display/data/repository/DisplayRepository.kt
@@ -26,14 +26,16 @@
 import android.os.Handler
 import android.util.Log
 import android.view.Display
+import android.view.IWindowManager
 import com.android.app.tracing.FlowTracing.traceEach
 import com.android.app.tracing.traceSection
-import com.android.systemui.common.coroutine.ConflatedCallbackFlow.conflatedCallbackFlow
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.dagger.qualifiers.Background
 import com.android.systemui.display.data.DisplayEvent
+import com.android.systemui.statusbar.CommandQueue
 import com.android.systemui.util.Compile
 import com.android.systemui.util.kotlin.pairwiseBy
+import com.android.systemui.utils.coroutines.flow.conflatedCallbackFlow
 import javax.inject.Inject
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.CoroutineScope
@@ -43,6 +45,7 @@
 import kotlinx.coroutines.flow.SharingStarted
 import kotlinx.coroutines.flow.StateFlow
 import kotlinx.coroutines.flow.asFlow
+import kotlinx.coroutines.flow.callbackFlow
 import kotlinx.coroutines.flow.combine
 import kotlinx.coroutines.flow.distinctUntilChanged
 import kotlinx.coroutines.flow.filter
@@ -50,12 +53,13 @@
 import kotlinx.coroutines.flow.flatMapLatest
 import kotlinx.coroutines.flow.flowOn
 import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.merge
 import kotlinx.coroutines.flow.onEach
 import kotlinx.coroutines.flow.onStart
 import kotlinx.coroutines.flow.scan
 import kotlinx.coroutines.flow.stateIn
 
-/** Provides a [Flow] of [Display] as returned by [DisplayManager]. */
+/** Repository for providing access to display related information and events. */
 interface DisplayRepository {
     /** Display change event indicating a change to the given displayId has occurred. */
     val displayChangeEvent: Flow<Int>
@@ -66,6 +70,9 @@
     /** Display removal event indicating a display has been removed. */
     val displayRemovalEvent: Flow<Int>
 
+    /** A [StateFlow] that maintains a set of display IDs that should have system decorations. */
+    val displayIdsWithSystemDecorations: StateFlow<Set<Int>>
+
     /**
      * Provides the current set of displays.
      *
@@ -124,6 +131,8 @@
 @Inject
 constructor(
     private val displayManager: DisplayManager,
+    private val commandQueue: CommandQueue,
+    private val windowManager: IWindowManager,
     @Background backgroundHandler: Handler,
     @Background bgApplicationScope: CoroutineScope,
     @Background backgroundCoroutineDispatcher: CoroutineDispatcher,
@@ -426,6 +435,56 @@
             .map { it.resultSet }
     }
 
+    private val decorationEvents: Flow<Event> = callbackFlow {
+        val callback =
+            object : CommandQueue.Callbacks {
+                override fun onDisplayAddSystemDecorations(displayId: Int) {
+                    trySend(Event.Add(displayId))
+                }
+
+                override fun onDisplayRemoveSystemDecorations(displayId: Int) {
+                    trySend(Event.Remove(displayId))
+                }
+            }
+        commandQueue.addCallback(callback)
+        awaitClose { commandQueue.removeCallback(callback) }
+    }
+
+    private val initialDisplayIdsWithDecorations: Set<Int> =
+        displayIds.value.filter { windowManager.shouldShowSystemDecors(it) }.toSet()
+
+    /**
+     * A [StateFlow] that maintains a set of display IDs that should have system decorations.
+     *
+     * Updates to the set are triggered by:
+     * - Adding displays via [CommandQueue.Callbacks.onDisplayAddSystemDecorations].
+     * - Removing displays via [CommandQueue.Callbacks.onDisplayRemoveSystemDecorations].
+     * - Removing displays via [displayRemovalEvent] emissions.
+     *
+     * The set is initialized with displays that qualify for system decorations based on
+     * [WindowManager.shouldShowSystemDecors].
+     */
+    override val displayIdsWithSystemDecorations: StateFlow<Set<Int>> =
+        merge(decorationEvents, displayRemovalEvent.map { Event.Remove(it) })
+            .scan(initialDisplayIdsWithDecorations) { displayIds: Set<Int>, event: Event ->
+                when (event) {
+                    is Event.Add -> displayIds + event.displayId
+                    is Event.Remove -> displayIds - event.displayId
+                }
+            }
+            .distinctUntilChanged()
+            .stateIn(
+                scope = bgApplicationScope,
+                started = SharingStarted.WhileSubscribed(),
+                initialValue = initialDisplayIdsWithDecorations,
+            )
+
+    private sealed class Event(val displayId: Int) {
+        class Add(displayId: Int) : Event(displayId)
+
+        class Remove(displayId: Int) : Event(displayId)
+    }
+
     private companion object {
         const val TAG = "DisplayRepository"
         val DEBUG = Log.isLoggable(TAG, Log.DEBUG) || Compile.IS_DEBUG
diff --git a/packages/SystemUI/src/com/android/systemui/flags/FlagDependencies.kt b/packages/SystemUI/src/com/android/systemui/flags/FlagDependencies.kt
index 2650159..15a4722 100644
--- a/packages/SystemUI/src/com/android/systemui/flags/FlagDependencies.kt
+++ b/packages/SystemUI/src/com/android/systemui/flags/FlagDependencies.kt
@@ -29,8 +29,6 @@
 import com.android.systemui.statusbar.notification.collection.SortBySectionTimeFlag
 import com.android.systemui.statusbar.notification.emptyshade.shared.ModesEmptyShadeFix
 import com.android.systemui.statusbar.notification.interruption.VisualInterruptionRefactor
-import com.android.systemui.statusbar.notification.promoted.PromotedNotificationUi
-import com.android.systemui.statusbar.notification.promoted.PromotedNotificationUiAod
 import com.android.systemui.statusbar.notification.shared.NotificationAvalancheSuppression
 import com.android.systemui.statusbar.notification.shared.NotificationMinimalism
 import com.android.systemui.statusbar.notification.shared.NotificationThrottleHun
@@ -52,8 +50,6 @@
         NotificationMinimalism.token dependsOn NotificationThrottleHun.token
         ModesEmptyShadeFix.token dependsOn modesUi
 
-        PromotedNotificationUiAod.token dependsOn PromotedNotificationUi.token
-
         // SceneContainer dependencies
         SceneContainerFlag.getFlagDependencies().forEach { (alpha, beta) -> alpha dependsOn beta }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt
index d9d3995..84bb231 100644
--- a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt
+++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt
@@ -160,9 +160,6 @@
     // TODO(b/291315866): Tracking Bug
     @JvmField val SIGNAL_CALLBACK_DEPRECATION = releasedFlag("signal_callback_deprecation")
 
-    // TODO(b/301610137): Tracking bug
-    @JvmField val NEW_NETWORK_SLICE_UI = releasedFlag("new_network_slice_ui")
-
     // TODO(b/311222557): Tracking bug
     val ROAMING_INDICATOR_VIA_DISPLAY_INFO = releasedFlag("roaming_indicator_via_display_info")
 
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
index efa9c21..cc0efbc 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
@@ -241,7 +241,7 @@
  * directly to the keyguard UI is posted to a {@link android.os.Handler} to ensure it is taken on the UI
  * thread of the keyguard.
  */
-public class KeyguardViewMediator implements CoreStartable, Dumpable,
+public class KeyguardViewMediator implements CoreStartable,
         StatusBarStateController.StateListener {
 
     private static final boolean ENABLE_NEW_KEYGUARD_SHELL_TRANSITIONS =
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromDozingTransitionInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromDozingTransitionInteractor.kt
index 0700ec6..6f5f662 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromDozingTransitionInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromDozingTransitionInteractor.kt
@@ -159,7 +159,6 @@
                     val isKeyguardOccludedLegacy = keyguardInteractor.isKeyguardOccluded.value
                     val primaryBouncerShowing = keyguardInteractor.primaryBouncerShowing.value
                     val isKeyguardGoingAway = keyguardInteractor.isKeyguardGoingAway.value
-                    val canStartDreaming = dreamManager.canStartDreaming(false)
 
                     if (!deviceEntryInteractor.isLockscreenEnabled()) {
                         if (!SceneContainerFlag.isEnabled) {
@@ -192,13 +191,6 @@
                         if (!SceneContainerFlag.isEnabled) {
                             transitionToGlanceableHub()
                         }
-                    } else if (canStartDreaming) {
-                        // If we're waking up to dream, transition directly to dreaming without
-                        // showing the lockscreen.
-                        startTransitionTo(
-                            KeyguardState.DREAMING,
-                            ownerReason = "moving from doze to dream",
-                        )
                     } else {
                         startTransitionTo(KeyguardState.LOCKSCREEN)
                     }
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBlueprintViewBinder.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBlueprintViewBinder.kt
index 5c4e34e..fc5914b 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBlueprintViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBlueprintViewBinder.kt
@@ -22,6 +22,7 @@
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.repeatOnLifecycle
 import com.android.app.tracing.coroutines.launchTraced as launch
+import com.android.systemui.Flags
 import com.android.systemui.customization.R as customR
 import com.android.systemui.keyguard.shared.model.KeyguardBlueprint
 import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransition
@@ -81,6 +82,12 @@
 
                             logger.logConstraintSet(cs, clockViewModel)
                             cs.applyTo(constraintLayout)
+                            if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                                manuallySetDateWeatherConstraintsOnConstraintLayout(
+                                    cs,
+                                    constraintLayout,
+                                )
+                            }
                         }
                     }
                 }
@@ -104,6 +111,12 @@
                                 }
                             logger.logConstraintSet(cs, clockViewModel)
                             cs.applyTo(constraintLayout)
+                            if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                                manuallySetDateWeatherConstraintsOnConstraintLayout(
+                                    cs,
+                                    constraintLayout,
+                                )
+                            }
                         }
                     }
                 }
@@ -111,6 +124,24 @@
         }
     }
 
+    private fun manuallySetDateWeatherConstraintsOnConstraintLayout(
+        cs: ConstraintSet,
+        constraintLayout: ConstraintLayout,
+    ) {
+        val ids =
+            listOf(
+                sharedR.id.date_smartspace_view,
+                sharedR.id.date_smartspace_view_large,
+                sharedR.id.weather_smartspace_view,
+                sharedR.id.weather_smartspace_view_large,
+            )
+
+        for (i in ids) {
+            constraintLayout.getViewById(i)?.visibility = cs.getVisibility(i)
+            constraintLayout.getViewById(i)?.alpha = cs.getConstraint(i).propertySet.alpha
+        }
+    }
+
     private fun Logger.logConstraintSet(cs: ConstraintSet, viewModel: KeyguardClockViewModel) {
         val currentClock = viewModel.currentClock.value
         if (currentClock == null) return
@@ -137,6 +168,24 @@
             int1 = cs.getVisibility(smartspaceDateId)
             str1 = "${cs.getConstraint(smartspaceDateId).propertySet.alpha}"
         }
+
+        if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+            this.i({ "applyCsToSmartspaceWeather: vis=${getVisText(int1)}; alpha=$str1" }) {
+                val smartspaceDateId = sharedR.id.weather_smartspace_view
+                int1 = cs.getVisibility(smartspaceDateId)
+                str1 = "${cs.getConstraint(smartspaceDateId).propertySet.alpha}"
+            }
+            this.i({ "applyCsToSmartspaceDateLarge: vis=${getVisText(int1)}; alpha=$str1" }) {
+                val smartspaceDateId = sharedR.id.date_smartspace_view_large
+                int1 = cs.getVisibility(smartspaceDateId)
+                str1 = "${cs.getConstraint(smartspaceDateId).propertySet.alpha}"
+            }
+            this.i({ "applyCsToSmartspaceWeatherLarge: vis=${getVisText(int1)}; alpha=$str1" }) {
+                val smartspaceDateId = sharedR.id.weather_smartspace_view_large
+                int1 = cs.getVisibility(smartspaceDateId)
+                str1 = "${cs.getConstraint(smartspaceDateId).propertySet.alpha}"
+            }
+        }
     }
 
     private val TAG = "KeyguardBlueprintViewBinder"
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardClockViewBinder.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardClockViewBinder.kt
index 0a958e9..a5b303a 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardClockViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardClockViewBinder.kt
@@ -72,25 +72,25 @@
                     // When changing to new clock, we need to remove old views from burnInLayer
                     var lastClock: ClockController? = null
                     launch {
-                            viewModel.currentClock.collect { currentClock ->
-                                if (lastClock != currentClock) {
-                                    cleanupClockViews(
-                                        lastClock,
-                                        keyguardRootView,
-                                        viewModel.burnInLayer,
-                                    )
-                                    lastClock = currentClock
-                                }
-
-                                addClockViews(currentClock, keyguardRootView)
-                                updateBurnInLayer(
+                        viewModel.currentClock.collect { currentClock ->
+                            if (lastClock != currentClock) {
+                                cleanupClockViews(
+                                    lastClock,
                                     keyguardRootView,
-                                    viewModel,
-                                    viewModel.clockSize.value,
+                                    viewModel.burnInLayer,
                                 )
-                                applyConstraints(clockSection, keyguardRootView, true)
+                                lastClock = currentClock
                             }
+
+                            addClockViews(currentClock, keyguardRootView)
+                            updateBurnInLayer(
+                                keyguardRootView,
+                                viewModel,
+                                viewModel.clockSize.value,
+                            )
+                            applyConstraints(clockSection, keyguardRootView, true)
                         }
+                    }
                         .invokeOnCompletion {
                             cleanupClockViews(lastClock, keyguardRootView, viewModel.burnInLayer)
                             lastClock = null
@@ -106,12 +106,7 @@
                     launch {
                         viewModel.clockShouldBeCentered.collect {
                             viewModel.currentClock.value?.let {
-                                // TODO(b/301502635): remove "!it.config.useCustomClockScene" when
-                                // migrate clocks to blueprint is fully rolled out
-                                if (
-                                    it.largeClock.config.hasCustomPositionUpdatedAnimation &&
-                                        !it.config.useCustomClockScene
-                                ) {
+                                if (it.largeClock.config.hasCustomPositionUpdatedAnimation) {
                                     blueprintInteractor.refreshBlueprint(Type.DefaultClockStepping)
                                 } else {
                                     blueprintInteractor.refreshBlueprint(Type.DefaultTransition)
@@ -122,11 +117,11 @@
 
                     launch {
                         combine(
-                                viewModel.hasAodIcons,
-                                rootViewModel.isNotifIconContainerVisible.map { it.value },
-                            ) { hasIcon, isVisible ->
-                                hasIcon && isVisible
-                            }
+                            viewModel.hasAodIcons,
+                            rootViewModel.isNotifIconContainerVisible.map { it.value },
+                        ) { hasIcon, isVisible ->
+                            hasIcon && isVisible
+                        }
                             .distinctUntilChanged()
                             .collect { _ ->
                                 viewModel.currentClock.value?.let {
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardPreviewClockViewBinder.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardPreviewClockViewBinder.kt
index d3b76a5..a42682b 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardPreviewClockViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardPreviewClockViewBinder.kt
@@ -36,6 +36,7 @@
 import com.android.systemui.plugins.clocks.ClockController
 import com.android.systemui.plugins.clocks.ClockPreviewConfig
 import com.android.systemui.shared.clocks.ClockRegistry
+import kotlinx.coroutines.flow.combine
 
 /** Binder for the small clock view, large clock view. */
 object KeyguardPreviewClockViewBinder {
@@ -76,38 +77,39 @@
             repeatOnLifecycle(Lifecycle.State.STARTED) {
                 var lastClock: ClockController? = null
                 launch("$TAG#viewModel.previewClock") {
-                        viewModel.previewClock.collect { currentClock ->
-                            lastClock?.let { clock ->
-                                (clock.largeClock.layout.views + clock.smallClock.layout.views)
-                                    .forEach { rootView.removeView(it) }
-                            }
-                            lastClock = currentClock
-                            updateClockAppearance(
-                                currentClock,
-                                clockPreviewConfig.context.resources,
-                            )
+                        combine(viewModel.previewClock, viewModel.selectedClockSize, ::Pair)
+                            .collect { (currentClock, clockSize) ->
+                                lastClock?.let { clock ->
+                                    (clock.largeClock.layout.views + clock.smallClock.layout.views)
+                                        .forEach { rootView.removeView(it) }
+                                }
+                                lastClock = currentClock
+                                updateClockAppearance(
+                                    currentClock,
+                                    clockPreviewConfig.context.resources,
+                                )
 
-                            if (viewModel.shouldHighlightSelectedAffordance) {
-                                (currentClock.largeClock.layout.views +
-                                        currentClock.smallClock.layout.views)
-                                    .forEach { it.alpha = KeyguardPreviewRenderer.DIM_ALPHA }
-                            }
-                            currentClock.largeClock.layout.views.forEach {
-                                (it.parent as? ViewGroup)?.removeView(it)
-                                rootView.addView(it)
-                            }
+                                if (viewModel.shouldHighlightSelectedAffordance) {
+                                    (currentClock.largeClock.layout.views +
+                                            currentClock.smallClock.layout.views)
+                                        .forEach { it.alpha = KeyguardPreviewRenderer.DIM_ALPHA }
+                                }
+                                currentClock.largeClock.layout.views.forEach {
+                                    (it.parent as? ViewGroup)?.removeView(it)
+                                    rootView.addView(it)
+                                }
 
-                            currentClock.smallClock.layout.views.forEach {
-                                (it.parent as? ViewGroup)?.removeView(it)
-                                rootView.addView(it)
+                                currentClock.smallClock.layout.views.forEach {
+                                    (it.parent as? ViewGroup)?.removeView(it)
+                                    rootView.addView(it)
+                                }
+                                applyPreviewConstraints(
+                                    clockPreviewConfig,
+                                    rootView,
+                                    currentClock,
+                                    clockSize,
+                                )
                             }
-                            applyPreviewConstraints(
-                                clockPreviewConfig,
-                                rootView,
-                                currentClock,
-                                viewModel,
-                            )
-                        }
                     }
                     .invokeOnCompletion {
                         // recover seed color especially for Transit clock
@@ -133,7 +135,7 @@
         clockPreviewConfig: ClockPreviewConfig,
         rootView: ConstraintLayout,
         previewClock: ClockController,
-        viewModel: KeyguardPreviewClockViewModel,
+        clockSize: ClockSizeSetting?,
     ) {
         val cs = ConstraintSet().apply { clone(rootView) }
 
@@ -147,16 +149,15 @@
         previewClock.largeClock.layout.applyPreviewConstraints(configWithUpdatedLockId, cs)
         previewClock.smallClock.layout.applyPreviewConstraints(configWithUpdatedLockId, cs)
 
-        // When selectedClockSize is the initial value, make both clocks invisible to avoid
-        // flickering
+        // When selectedClockSize is the initial value, make both clocks invisible to avoid flicker
         val largeClockVisibility =
-            when (viewModel.selectedClockSize.value) {
+            when (clockSize) {
                 ClockSizeSetting.DYNAMIC -> VISIBLE
                 ClockSizeSetting.SMALL -> INVISIBLE
                 null -> INVISIBLE
             }
         val smallClockVisibility =
-            when (viewModel.selectedClockSize.value) {
+            when (clockSize) {
                 ClockSizeSetting.DYNAMIC -> INVISIBLE
                 ClockSizeSetting.SMALL -> VISIBLE
                 null -> INVISIBLE
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardRootViewBinder.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardRootViewBinder.kt
index c7791cd..45801ba 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardRootViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardRootViewBinder.kt
@@ -69,6 +69,7 @@
 import com.android.systemui.res.R
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
 import com.android.systemui.shade.domain.interactor.ShadeInteractor
+import com.android.systemui.shared.R as sharedR
 import com.android.systemui.statusbar.CrossFadeHelper
 import com.android.systemui.statusbar.VibratorHelper
 import com.android.systemui.statusbar.phone.ScreenOffAnimationController
@@ -88,7 +89,6 @@
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.DisposableHandle
 import kotlinx.coroutines.flow.MutableStateFlow
-import kotlinx.coroutines.flow.filterNotNull
 import kotlinx.coroutines.flow.stateIn
 import kotlinx.coroutines.flow.update
 
@@ -188,6 +188,10 @@
                         viewModel.translationY.collect { y ->
                             childViews[burnInLayerId]?.translationY = y
                             childViews[largeClockId]?.translationY = y
+                            if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                                childViews[largeClockDateId]?.translationY = y
+                                childViews[largeClockWeatherId]?.translationY = y
+                            }
                             childViews[aodPromotedNotificationId]?.translationY = y
                             childViews[aodNotificationIconContainerId]?.translationY = y
                         }
@@ -203,6 +207,7 @@
                                     childViews[aodPromotedNotificationId]?.translationX = px
                                     childViews[aodNotificationIconContainerId]?.translationX = px
                                 }
+
                                 state.isToOrFrom(KeyguardState.GLANCEABLE_HUB) -> {
                                     for ((key, childView) in childViews.entries) {
                                         when (key) {
@@ -212,6 +217,7 @@
                                             deviceEntryIcon -> {
                                                 // Do not move these views
                                             }
+
                                             else -> childView.translationX = px
                                         }
                                     }
@@ -374,17 +380,9 @@
                     if (wallpaperFocalAreaViewModel.hasFocalArea.value) {
                         launch {
                             wallpaperFocalAreaViewModel.wallpaperFocalAreaBounds.collect {
-                                wallpaperFocalAreaBounds ->
-                                wallpaperFocalAreaViewModel.setFocalAreaBounds(
-                                    wallpaperFocalAreaBounds
-                                )
+                                wallpaperFocalAreaViewModel.setFocalAreaBounds(it)
                             }
                         }
-                        launch {
-                            wallpaperFocalAreaViewModel.wallpaperFocalAreaBounds
-                                .filterNotNull()
-                                .collect { wallpaperFocalAreaViewModel.setFocalAreaBounds(it) }
-                        }
                     }
                 }
             }
@@ -582,6 +580,8 @@
     private val aodPromotedNotificationId = AodPromotedNotificationSection.viewId
     private val aodNotificationIconContainerId = R.id.aod_notification_icon_container
     private val largeClockId = customR.id.lockscreen_clock_view_large
+    private val largeClockDateId = sharedR.id.date_smartspace_view_large
+    private val largeClockWeatherId = sharedR.id.weather_smartspace_view_large
     private val smallClockId = customR.id.lockscreen_clock_view
     private val indicationArea = R.id.keyguard_indication_area
     private val startButton = R.id.start_button
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardSmartspaceViewBinder.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardSmartspaceViewBinder.kt
index 9c886b2..def1ac8 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardSmartspaceViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardSmartspaceViewBinder.kt
@@ -26,6 +26,7 @@
 import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransition.Config
 import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransition.Type
 import com.android.systemui.keyguard.ui.viewmodel.KeyguardClockViewModel
+import com.android.systemui.keyguard.ui.viewmodel.KeyguardRootViewModel
 import com.android.systemui.keyguard.ui.viewmodel.KeyguardSmartspaceViewModel
 import com.android.systemui.lifecycle.repeatWhenAttached
 import com.android.systemui.res.R
@@ -37,6 +38,7 @@
     @JvmStatic
     fun bind(
         keyguardRootView: ConstraintLayout,
+        keyguardRootViewModel: KeyguardRootViewModel,
         clockViewModel: KeyguardClockViewModel,
         smartspaceViewModel: KeyguardSmartspaceViewModel,
         blueprintInteractor: KeyguardBlueprintInteractor,
@@ -77,6 +79,26 @@
                         )
                     }
                 }
+
+                if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                    launch("$TAG#smartspaceViewModel.burnInLayerVisibility") {
+                        keyguardRootViewModel.burnInLayerVisibility.collect { visibility ->
+                            if (clockViewModel.isLargeClockVisible.value) {
+                                // hide small clock date/weather
+                                val dateView =
+                                    keyguardRootView.requireViewById<View>(
+                                        sharedR.id.date_smartspace_view
+                                    )
+                                dateView.visibility = View.GONE
+                                val weatherView =
+                                    keyguardRootView.requireViewById<View>(
+                                        sharedR.id.weather_smartspace_view
+                                    )
+                                weatherView.visibility = View.GONE
+                            }
+                        }
+                    }
+                }
             }
         }
     }
@@ -125,6 +147,11 @@
                 val dateView =
                     constraintLayout.requireViewById<View>(sharedR.id.date_smartspace_view)
                 addView(dateView)
+                if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                    val weatherView =
+                        constraintLayout.requireViewById<View>(sharedR.id.weather_smartspace_view)
+                    addView(weatherView)
+                }
             }
         }
     }
@@ -142,6 +169,11 @@
                 val dateView =
                     constraintLayout.requireViewById<View>(sharedR.id.date_smartspace_view)
                 removeView(dateView)
+                if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                    val weatherView =
+                        constraintLayout.requireViewById<View>(sharedR.id.weather_smartspace_view)
+                    removeView(weatherView)
+                }
             }
         }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/preview/KeyguardPreviewRenderer.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/preview/KeyguardPreviewRenderer.kt
index 85eae6e..242926b 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/preview/KeyguardPreviewRenderer.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/preview/KeyguardPreviewRenderer.kt
@@ -292,7 +292,11 @@
             parentView.removeView(smartSpaceView)
         }
 
-        smartSpaceView = lockscreenSmartspaceController.buildAndConnectDateView(parentView)
+        smartSpaceView =
+            lockscreenSmartspaceController.buildAndConnectDateView(
+                parent = parentView,
+                isLargeClock = false,
+            )
 
         val topPadding: Int =
             smartspaceViewModel.getLargeClockSmartspaceTopPadding(
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/ClockSection.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/ClockSection.kt
index 738fb73..8a33c64 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/ClockSection.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/ClockSection.kt
@@ -54,13 +54,13 @@
 internal fun ConstraintSet.setVisibility(views: Iterable<View>, visibility: Int) =
     views.forEach { view -> this.setVisibility(view.id, visibility) }
 
-internal fun ConstraintSet.setAlpha(views: Iterable<View>, alpha: Float) =
+private fun ConstraintSet.setAlpha(views: Iterable<View>, alpha: Float) =
     views.forEach { view -> this.setAlpha(view.id, alpha) }
 
-internal fun ConstraintSet.setScaleX(views: Iterable<View>, scaleX: Float) =
+private fun ConstraintSet.setScaleX(views: Iterable<View>, scaleX: Float) =
     views.forEach { view -> this.setScaleX(view.id, scaleX) }
 
-internal fun ConstraintSet.setScaleY(views: Iterable<View>, scaleY: Float) =
+private fun ConstraintSet.setScaleY(views: Iterable<View>, scaleY: Float) =
     views.forEach { view -> this.setScaleY(view.id, scaleY) }
 
 @SysUISingleton
@@ -119,8 +119,23 @@
             setVisibility(getNonTargetClockFace(clock).views, GONE)
             setAlpha(getTargetClockFace(clock).views, 1F)
             setAlpha(getNonTargetClockFace(clock).views, 0F)
+
             if (!keyguardClockViewModel.isLargeClockVisible.value) {
-                connect(sharedR.id.bc_smartspace_view, TOP, sharedR.id.date_smartspace_view, BOTTOM)
+                if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                    connect(
+                        sharedR.id.bc_smartspace_view,
+                        TOP,
+                        customR.id.lockscreen_clock_view,
+                        BOTTOM,
+                    )
+                } else {
+                    connect(
+                        sharedR.id.bc_smartspace_view,
+                        TOP,
+                        sharedR.id.date_smartspace_view,
+                        BOTTOM,
+                    )
+                }
             } else {
                 setScaleX(getTargetClockFace(clock).views, aodBurnInViewModel.movement.value.scale)
                 setScaleY(getTargetClockFace(clock).views, aodBurnInViewModel.movement.value.scale)
@@ -136,7 +151,7 @@
         if (keyguardClockViewModel.isLargeClockVisible.value) clock.smallClock.layout
         else clock.largeClock.layout
 
-    fun constrainWeatherClockDateIconsBarrier(constraints: ConstraintSet) {
+    private fun constrainWeatherClockDateIconsBarrier(constraints: ConstraintSet) {
         constraints.apply {
             createBarrier(
                 R.id.weather_clock_bc_smartspace_bottom,
@@ -182,9 +197,14 @@
                 TOP,
             )
             val largeClockTopMargin =
-                keyguardClockViewModel.getLargeClockTopMargin() +
-                    getDimen(DATE_WEATHER_VIEW_HEIGHT) +
-                    getDimen(ENHANCED_SMARTSPACE_HEIGHT)
+                if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                    keyguardClockViewModel.getLargeClockTopMargin() +
+                        getDimen(ENHANCED_SMARTSPACE_HEIGHT)
+                } else {
+                    keyguardClockViewModel.getLargeClockTopMargin() +
+                        getDimen(DATE_WEATHER_VIEW_HEIGHT) +
+                        getDimen(ENHANCED_SMARTSPACE_HEIGHT)
+                }
             connect(
                 customR.id.lockscreen_clock_view_large,
                 TOP,
@@ -224,7 +244,6 @@
             val smallClockBottom =
                 keyguardClockViewModel.getSmallClockTopMargin() +
                     context.resources.getDimensionPixelSize(customR.dimen.small_clock_height)
-            val dateWeatherSmartspaceHeight = getDimen(context, DATE_WEATHER_VIEW_HEIGHT).toFloat()
             val marginBetweenSmartspaceAndNotification =
                 context.resources.getDimensionPixelSize(
                     R.dimen.keyguard_status_view_bottom_margin
@@ -235,11 +254,19 @@
                         0
                     }
 
-            clockInteractor.setNotificationStackDefaultTop(
-                smallClockBottom +
-                    dateWeatherSmartspaceHeight +
-                    marginBetweenSmartspaceAndNotification
-            )
+            if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                clockInteractor.setNotificationStackDefaultTop(
+                    (smallClockBottom + marginBetweenSmartspaceAndNotification).toFloat()
+                )
+            } else {
+                val dateWeatherSmartspaceHeight =
+                    getDimen(context, DATE_WEATHER_VIEW_HEIGHT).toFloat()
+                clockInteractor.setNotificationStackDefaultTop(
+                    smallClockBottom +
+                        dateWeatherSmartspaceHeight +
+                        marginBetweenSmartspaceAndNotification
+                )
+            }
         }
 
         constrainWeatherClockDateIconsBarrier(constraints)
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/SmartspaceSection.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/SmartspaceSection.kt
index d6d03c7..37cc852f 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/SmartspaceSection.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/SmartspaceSection.kt
@@ -33,6 +33,7 @@
 import com.android.systemui.keyguard.shared.model.KeyguardSection
 import com.android.systemui.keyguard.ui.binder.KeyguardSmartspaceViewBinder
 import com.android.systemui.keyguard.ui.viewmodel.KeyguardClockViewModel
+import com.android.systemui.keyguard.ui.viewmodel.KeyguardRootViewModel
 import com.android.systemui.keyguard.ui.viewmodel.KeyguardSmartspaceViewModel
 import com.android.systemui.res.R as R
 import com.android.systemui.shade.ShadeDisplayAware
@@ -53,10 +54,13 @@
     val smartspaceController: LockscreenSmartspaceController,
     val keyguardUnlockAnimationController: KeyguardUnlockAnimationController,
     private val blueprintInteractor: Lazy<KeyguardBlueprintInteractor>,
+    private val keyguardRootViewModel: KeyguardRootViewModel,
 ) : KeyguardSection() {
     private var smartspaceView: View? = null
     private var weatherView: View? = null
-    private var dateWeatherView: ViewGroup? = null
+    private var dateView: ViewGroup? = null
+    private var weatherViewLargeClock: View? = null
+    private var dateViewLargeClock: View? = null
 
     private var smartspaceVisibilityListener: OnGlobalLayoutListener? = null
     private var pastVisibility: Int = -1
@@ -73,16 +77,33 @@
     override fun addViews(constraintLayout: ConstraintLayout) {
         if (!keyguardSmartspaceViewModel.isSmartspaceEnabled) return
         smartspaceView = smartspaceController.buildAndConnectView(constraintLayout)
-        weatherView = smartspaceController.buildAndConnectWeatherView(constraintLayout)
-        dateWeatherView =
-            smartspaceController.buildAndConnectDateView(constraintLayout) as ViewGroup
+        weatherView = smartspaceController.buildAndConnectWeatherView(constraintLayout, false)
+        dateView =
+            smartspaceController.buildAndConnectDateView(constraintLayout, false) as? ViewGroup
+        if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+            weatherViewLargeClock =
+                smartspaceController.buildAndConnectWeatherView(constraintLayout, true)
+            dateViewLargeClock =
+                smartspaceController.buildAndConnectDateView(constraintLayout, true)
+        }
         pastVisibility = smartspaceView?.visibility ?: View.GONE
         constraintLayout.addView(smartspaceView)
-        if (keyguardSmartspaceViewModel.isDateWeatherDecoupled) {
-            constraintLayout.addView(dateWeatherView)
-            // Place weather right after the date, before the extras (alarm and dnd)
-            val index = if (dateWeatherView?.childCount == 0) 0 else 1
-            dateWeatherView?.addView(weatherView, index)
+        if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+            dateView?.visibility = View.GONE
+            weatherView?.visibility = View.GONE
+            dateViewLargeClock?.visibility = View.GONE
+            weatherViewLargeClock?.visibility = View.GONE
+            constraintLayout.addView(dateView)
+            constraintLayout.addView(weatherView)
+            constraintLayout.addView(weatherViewLargeClock)
+            constraintLayout.addView(dateViewLargeClock)
+        } else {
+            if (keyguardSmartspaceViewModel.isDateWeatherDecoupled) {
+                constraintLayout.addView(dateView)
+                // Place weather right after the date, before the extras (alarm and dnd)
+                val index = if (dateView?.childCount == 0) 0 else 1
+                dateView?.addView(weatherView, index)
+            }
         }
         keyguardUnlockAnimationController.lockscreenSmartspace = smartspaceView
         smartspaceVisibilityListener = OnGlobalLayoutListener {
@@ -103,6 +124,7 @@
         disposableHandle =
             KeyguardSmartspaceViewBinder.bind(
                 constraintLayout,
+                keyguardRootViewModel,
                 keyguardClockViewModel,
                 keyguardSmartspaceViewModel,
                 blueprintInteractor.get(),
@@ -117,13 +139,15 @@
         constraintSet.apply {
             constrainHeight(sharedR.id.date_smartspace_view, ConstraintSet.WRAP_CONTENT)
             constrainWidth(sharedR.id.date_smartspace_view, ConstraintSet.WRAP_CONTENT)
-            connect(
-                sharedR.id.date_smartspace_view,
-                ConstraintSet.START,
-                ConstraintSet.PARENT_ID,
-                ConstraintSet.START,
-                dateWeatherPaddingStart,
-            )
+            if (!com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                connect(
+                    sharedR.id.date_smartspace_view,
+                    ConstraintSet.START,
+                    ConstraintSet.PARENT_ID,
+                    ConstraintSet.START,
+                    dateWeatherPaddingStart,
+                )
+            }
 
             constrainHeight(sharedR.id.bc_smartspace_view, ConstraintSet.WRAP_CONTENT)
             constrainWidth(sharedR.id.bc_smartspace_view, ConstraintSet.MATCH_CONSTRAINT)
@@ -142,51 +166,222 @@
                 ConstraintSet.END,
                 smartspaceHorizontalPadding,
             )
-
             if (keyguardClockViewModel.hasCustomWeatherDataDisplay.value) {
-                clear(sharedR.id.date_smartspace_view, ConstraintSet.TOP)
-                connect(
-                    sharedR.id.date_smartspace_view,
-                    ConstraintSet.BOTTOM,
-                    sharedR.id.bc_smartspace_view,
-                    ConstraintSet.TOP,
-                )
+                if (!com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                    clear(sharedR.id.date_smartspace_view, ConstraintSet.TOP)
+                    connect(
+                        sharedR.id.date_smartspace_view,
+                        ConstraintSet.BOTTOM,
+                        sharedR.id.bc_smartspace_view,
+                        ConstraintSet.TOP,
+                    )
+                }
             } else {
                 clear(sharedR.id.date_smartspace_view, ConstraintSet.BOTTOM)
-                connect(
-                    sharedR.id.date_smartspace_view,
-                    ConstraintSet.TOP,
-                    customR.id.lockscreen_clock_view,
-                    ConstraintSet.BOTTOM,
-                )
-                connect(
-                    sharedR.id.bc_smartspace_view,
-                    ConstraintSet.TOP,
-                    sharedR.id.date_smartspace_view,
-                    ConstraintSet.BOTTOM,
-                )
+                if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                    connect(
+                        sharedR.id.bc_smartspace_view,
+                        ConstraintSet.TOP,
+                        customR.id.lockscreen_clock_view,
+                        ConstraintSet.BOTTOM,
+                    )
+                } else {
+                    connect(
+                        sharedR.id.date_smartspace_view,
+                        ConstraintSet.TOP,
+                        customR.id.lockscreen_clock_view,
+                        ConstraintSet.BOTTOM,
+                    )
+                    connect(
+                        sharedR.id.bc_smartspace_view,
+                        ConstraintSet.TOP,
+                        sharedR.id.date_smartspace_view,
+                        ConstraintSet.BOTTOM,
+                    )
+                }
             }
 
-            createBarrier(
-                R.id.smart_space_barrier_top,
-                Barrier.TOP,
-                0,
-                *intArrayOf(sharedR.id.bc_smartspace_view, sharedR.id.date_smartspace_view),
-            )
+            if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                if (keyguardClockViewModel.isLargeClockVisible.value) {
+                    setVisibility(sharedR.id.weather_smartspace_view, GONE)
+                    setVisibility(sharedR.id.date_smartspace_view, GONE)
+                    constrainHeight(
+                        sharedR.id.date_smartspace_view_large,
+                        ConstraintSet.WRAP_CONTENT,
+                    )
+                    constrainWidth(
+                        sharedR.id.date_smartspace_view_large,
+                        ConstraintSet.WRAP_CONTENT,
+                    )
+                    constrainHeight(
+                        sharedR.id.weather_smartspace_view_large,
+                        ConstraintSet.WRAP_CONTENT,
+                    )
+                    constrainWidth(
+                        sharedR.id.weather_smartspace_view_large,
+                        ConstraintSet.WRAP_CONTENT,
+                    )
+                    connect(
+                        sharedR.id.date_smartspace_view_large,
+                        ConstraintSet.TOP,
+                        customR.id.lockscreen_clock_view_large,
+                        ConstraintSet.BOTTOM,
+                        dateWeatherPaddingStart,
+                    )
 
-            createBarrier(
-                R.id.smart_space_barrier_bottom,
-                Barrier.BOTTOM,
-                0,
-                *intArrayOf(sharedR.id.bc_smartspace_view, sharedR.id.date_smartspace_view),
-            )
+                    connect(
+                        sharedR.id.date_smartspace_view_large,
+                        ConstraintSet.START,
+                        customR.id.lockscreen_clock_view_large,
+                        ConstraintSet.START,
+                    )
+                    connect(
+                        sharedR.id.date_smartspace_view_large,
+                        ConstraintSet.END,
+                        sharedR.id.weather_smartspace_view_large,
+                        ConstraintSet.START,
+                    )
+
+                    connect(
+                        sharedR.id.weather_smartspace_view_large,
+                        ConstraintSet.BOTTOM,
+                        sharedR.id.date_smartspace_view_large,
+                        ConstraintSet.BOTTOM,
+                    )
+
+                    connect(
+                        sharedR.id.weather_smartspace_view_large,
+                        ConstraintSet.TOP,
+                        sharedR.id.date_smartspace_view_large,
+                        ConstraintSet.TOP,
+                    )
+
+                    connect(
+                        sharedR.id.weather_smartspace_view_large,
+                        ConstraintSet.START,
+                        sharedR.id.date_smartspace_view_large,
+                        ConstraintSet.END,
+                    )
+
+                    connect(
+                        sharedR.id.weather_smartspace_view_large,
+                        ConstraintSet.END,
+                        customR.id.lockscreen_clock_view_large,
+                        ConstraintSet.END,
+                    )
+
+                    setHorizontalChainStyle(
+                        sharedR.id.weather_smartspace_view_large,
+                        ConstraintSet.CHAIN_PACKED,
+                    )
+                    setHorizontalChainStyle(
+                        sharedR.id.date_smartspace_view_large,
+                        ConstraintSet.CHAIN_PACKED,
+                    )
+                } else {
+                    setVisibility(sharedR.id.weather_smartspace_view_large, GONE)
+                    setVisibility(sharedR.id.date_smartspace_view_large, GONE)
+                    constrainHeight(sharedR.id.date_smartspace_view, ConstraintSet.WRAP_CONTENT)
+                    constrainWidth(sharedR.id.date_smartspace_view, ConstraintSet.WRAP_CONTENT)
+                    constrainHeight(sharedR.id.weather_smartspace_view, ConstraintSet.WRAP_CONTENT)
+                    constrainWidth(sharedR.id.weather_smartspace_view, ConstraintSet.WRAP_CONTENT)
+
+                    connect(
+                        sharedR.id.date_smartspace_view,
+                        ConstraintSet.START,
+                        customR.id.lockscreen_clock_view,
+                        ConstraintSet.END,
+                        20,
+                    )
+                    connect(
+                        sharedR.id.date_smartspace_view,
+                        ConstraintSet.TOP,
+                        customR.id.lockscreen_clock_view,
+                        ConstraintSet.TOP,
+                    )
+                    connect(
+                        sharedR.id.date_smartspace_view,
+                        ConstraintSet.BOTTOM,
+                        sharedR.id.weather_smartspace_view,
+                        ConstraintSet.TOP,
+                    )
+                    connect(
+                        sharedR.id.weather_smartspace_view,
+                        ConstraintSet.START,
+                        sharedR.id.date_smartspace_view,
+                        ConstraintSet.START,
+                    )
+                    connect(
+                        sharedR.id.weather_smartspace_view,
+                        ConstraintSet.TOP,
+                        sharedR.id.date_smartspace_view,
+                        ConstraintSet.BOTTOM,
+                    )
+                    connect(
+                        sharedR.id.weather_smartspace_view,
+                        ConstraintSet.BOTTOM,
+                        customR.id.lockscreen_clock_view,
+                        ConstraintSet.BOTTOM,
+                    )
+
+                    setVerticalChainStyle(
+                        sharedR.id.weather_smartspace_view,
+                        ConstraintSet.CHAIN_PACKED,
+                    )
+                    setVerticalChainStyle(
+                        sharedR.id.date_smartspace_view,
+                        ConstraintSet.CHAIN_PACKED,
+                    )
+                }
+            }
+
+            if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                createBarrier(
+                    R.id.smart_space_barrier_bottom,
+                    Barrier.BOTTOM,
+                    0,
+                    sharedR.id.bc_smartspace_view,
+                )
+                createBarrier(
+                    R.id.smart_space_barrier_top,
+                    Barrier.TOP,
+                    0,
+                    sharedR.id.bc_smartspace_view,
+                )
+            } else {
+                createBarrier(
+                    R.id.smart_space_barrier_bottom,
+                    Barrier.BOTTOM,
+                    0,
+                    *intArrayOf(sharedR.id.bc_smartspace_view, sharedR.id.date_smartspace_view),
+                )
+                createBarrier(
+                    R.id.smart_space_barrier_top,
+                    Barrier.TOP,
+                    0,
+                    *intArrayOf(sharedR.id.bc_smartspace_view, sharedR.id.date_smartspace_view),
+                )
+            }
         }
         updateVisibility(constraintSet)
     }
 
     override fun removeViews(constraintLayout: ConstraintLayout) {
         if (!keyguardSmartspaceViewModel.isSmartspaceEnabled) return
-        listOf(smartspaceView, dateWeatherView).forEach {
+
+        val list =
+            if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                listOf(
+                    smartspaceView,
+                    dateView,
+                    weatherView,
+                    weatherViewLargeClock,
+                    dateViewLargeClock,
+                )
+            } else {
+                listOf(smartspaceView, dateView)
+            }
+        list.forEach {
             it?.let {
                 if (it.parent == constraintLayout) {
                     constraintLayout.removeView(it)
@@ -200,17 +395,40 @@
     }
 
     private fun updateVisibility(constraintSet: ConstraintSet) {
+
         // This may update the visibility of the smartspace views
         smartspaceController.requestSmartspaceUpdate()
+        val weatherId: Int
+        val dateId: Int
+        if (
+            com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout() &&
+                keyguardClockViewModel.isLargeClockVisible.value
+        ) {
+            weatherId = sharedR.id.weather_smartspace_view_large
+            dateId = sharedR.id.date_smartspace_view_large
+        } else {
+            weatherId = sharedR.id.weather_smartspace_view
+            dateId = sharedR.id.date_smartspace_view
+        }
 
         constraintSet.apply {
             val showWeather = keyguardSmartspaceViewModel.isWeatherVisible.value
-            setVisibility(sharedR.id.weather_smartspace_view, if (showWeather) VISIBLE else GONE)
-            setAlpha(sharedR.id.weather_smartspace_view, if (showWeather) 1f else 0f)
+            setVisibility(weatherId, if (showWeather) VISIBLE else GONE)
+            setAlpha(weatherId, if (showWeather) 1f else 0f)
 
             val showDateView = !keyguardClockViewModel.hasCustomWeatherDataDisplay.value
-            setVisibility(sharedR.id.date_smartspace_view, if (showDateView) VISIBLE else GONE)
-            setAlpha(sharedR.id.date_smartspace_view, if (showDateView) 1f else 0f)
+            setVisibility(dateId, if (showDateView) VISIBLE else GONE)
+            setAlpha(dateId, if (showDateView) 1f else 0f)
+
+            if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                if (keyguardClockViewModel.isLargeClockVisible.value) {
+                    setVisibility(sharedR.id.weather_smartspace_view, GONE)
+                    setVisibility(sharedR.id.date_smartspace_view, GONE)
+                } else {
+                    setVisibility(sharedR.id.weather_smartspace_view_large, GONE)
+                    setVisibility(sharedR.id.date_smartspace_view_large, GONE)
+                }
+            }
         }
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/transitions/ClockSizeTransition.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/transitions/ClockSizeTransition.kt
index fdd9355..434d7ea 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/transitions/ClockSizeTransition.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/transitions/ClockSizeTransition.kt
@@ -59,6 +59,7 @@
             addTransition(ClockFaceOutTransition(config, clockViewModel, logBuffer))
             addTransition(ClockFaceInTransition(config, clockViewModel, logBuffer))
         }
+
         addTransition(SmartspaceMoveTransition(config, clockViewModel, logBuffer))
     }
 
@@ -210,7 +211,6 @@
                         str3 = "$bounds"
                     }
                 }
-
                 to.view.setVisibility(vis ?: View.VISIBLE)
                 to.view.setAlpha(alpha)
                 to.view.setRect(bounds)
@@ -297,9 +297,17 @@
                         logger.e("No large clock set, falling back")
                         addTarget(customR.id.lockscreen_clock_view_large)
                     }
+                if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                    addTarget(sharedR.id.date_smartspace_view_large)
+                    addTarget(sharedR.id.weather_smartspace_view_large)
+                }
             } else {
                 logger.i("Adding small clock")
                 addTarget(customR.id.lockscreen_clock_view)
+                if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                    addTarget(sharedR.id.date_smartspace_view)
+                    addTarget(sharedR.id.weather_smartspace_view)
+                }
             }
         }
 
@@ -378,7 +386,9 @@
             duration =
                 if (isLargeClock) STATUS_AREA_MOVE_UP_MILLIS else STATUS_AREA_MOVE_DOWN_MILLIS
             interpolator = Interpolators.EMPHASIZED
-            addTarget(sharedR.id.date_smartspace_view)
+            if (!com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+                addTarget(sharedR.id.date_smartspace_view)
+            }
             addTarget(sharedR.id.bc_smartspace_view)
 
             // Notifications normally and media on split shade needs to be moved
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/transitions/DefaultClockSteppingTransition.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/transitions/DefaultClockSteppingTransition.kt
index f601155..0874b6d 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/transitions/DefaultClockSteppingTransition.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/transitions/DefaultClockSteppingTransition.kt
@@ -23,14 +23,17 @@
 import android.view.ViewGroup
 import com.android.app.animation.Interpolators
 import com.android.systemui.plugins.clocks.ClockController
+import com.android.systemui.shared.R as sharedR
 
-class DefaultClockSteppingTransition(
-    private val clock: ClockController,
-) : Transition() {
+class DefaultClockSteppingTransition(private val clock: ClockController) : Transition() {
     init {
         interpolator = Interpolators.LINEAR
         duration = KEYGUARD_STATUS_VIEW_CUSTOM_CLOCK_MOVE_DURATION_MS
         addTarget(clock.largeClock.view)
+        if (com.android.systemui.shared.Flags.clockReactiveSmartspaceLayout()) {
+            addTarget(sharedR.id.date_smartspace_view_large)
+            addTarget(sharedR.id.weather_smartspace_view_large)
+        }
     }
 
     private fun captureValues(transitionValues: TransitionValues) {
@@ -51,7 +54,7 @@
     override fun createAnimator(
         sceneRoot: ViewGroup,
         startValues: TransitionValues?,
-        endValues: TransitionValues?
+        endValues: TransitionValues?,
     ): Animator? {
         if (startValues == null || endValues == null) {
             return null
@@ -67,7 +70,7 @@
             clock.largeClock.animations.onPositionUpdated(
                 fromLeft,
                 direction,
-                animation.animatedFraction
+                animation.animatedFraction,
             )
         }
         return anim
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 74d471c..e119ec9 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
@@ -101,7 +101,7 @@
                 if (Flags.notificationShadeBlur()) {
                     transitionAnimation.immediatelyTransitionTo(blurConfig.maxBlurRadiusPx)
                 } else {
-                    emptyFlow()
+                    transitionAnimation.immediatelyTransitionTo(blurConfig.minBlurRadiusPx)
                 },
             flowWhenShadeIsNotExpanded =
                 transitionAnimation.sharedFlow(
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DozingToDreamingTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DozingToDreamingTransitionViewModel.kt
index 9018c58..e6a85c6 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DozingToDreamingTransitionViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DozingToDreamingTransitionViewModel.kt
@@ -39,6 +39,4 @@
         )
 
     val lockscreenAlpha: Flow<Float> = transitionAnimation.immediatelyTransitionTo(0f)
-    // Notifications should not be shown while transitioning to dream.
-    val notificationAlpha = transitionAnimation.immediatelyTransitionTo(0f)
 }
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/OccludedToPrimaryBouncerTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/OccludedToPrimaryBouncerTransitionViewModel.kt
index 3c126aa..f14a5a2 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/OccludedToPrimaryBouncerTransitionViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/OccludedToPrimaryBouncerTransitionViewModel.kt
@@ -51,7 +51,7 @@
                 if (Flags.notificationShadeBlur()) {
                     transitionAnimation.immediatelyTransitionTo(blurConfig.maxBlurRadiusPx)
                 } else {
-                    emptyFlow()
+                    transitionAnimation.immediatelyTransitionTo(blurConfig.minBlurRadiusPx)
                 },
             flowWhenShadeIsNotExpanded =
                 transitionAnimation.immediatelyTransitionTo(blurConfig.maxBlurRadiusPx),
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 5a111aa..4a39421 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
@@ -32,7 +32,6 @@
 import javax.inject.Inject
 import kotlin.time.Duration.Companion.milliseconds
 import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.emptyFlow
 
 /**
  * Breaks down PRIMARY BOUNCER->LOCKSCREEN transition into discrete steps for corresponding views to
@@ -81,7 +80,7 @@
                 if (Flags.notificationShadeBlur()) {
                     transitionAnimation.immediatelyTransitionTo(blurConfig.maxBlurRadiusPx)
                 } else {
-                    emptyFlow()
+                    transitionAnimation.immediatelyTransitionTo(blurConfig.minBlurRadiusPx)
                 },
             flowWhenShadeIsNotExpanded =
                 transitionAnimation.sharedFlow(
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToOccludedTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToOccludedTransitionViewModel.kt
index 0f0e7b6..31b20a7 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToOccludedTransitionViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToOccludedTransitionViewModel.kt
@@ -27,7 +27,6 @@
 import com.android.systemui.keyguard.ui.transitions.PrimaryBouncerTransition
 import javax.inject.Inject
 import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.emptyFlow
 
 @SysUISingleton
 class PrimaryBouncerToOccludedTransitionViewModel
@@ -51,7 +50,7 @@
                 if (Flags.notificationShadeBlur()) {
                     transitionAnimation.immediatelyTransitionTo(blurConfig.maxBlurRadiusPx)
                 } else {
-                    emptyFlow()
+                    transitionAnimation.immediatelyTransitionTo(blurConfig.minBlurRadiusPx)
                 },
             flowWhenShadeIsNotExpanded =
                 transitionAnimation.immediatelyTransitionTo(blurConfig.minBlurRadiusPx),
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/data/repository/MediaFilterRepository.kt b/packages/SystemUI/src/com/android/systemui/media/controls/data/repository/MediaFilterRepository.kt
index 1b39d55..8ce901a 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/data/repository/MediaFilterRepository.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/data/repository/MediaFilterRepository.kt
@@ -16,22 +16,15 @@
 
 package com.android.systemui.media.controls.data.repository
 
-import android.content.Context
 import com.android.internal.logging.InstanceId
 import com.android.systemui.dagger.SysUISingleton
-import com.android.systemui.dagger.qualifiers.Application
 import com.android.systemui.media.controls.data.model.MediaSortKeyModel
 import com.android.systemui.media.controls.shared.model.MediaCommonModel
 import com.android.systemui.media.controls.shared.model.MediaData
 import com.android.systemui.media.controls.shared.model.MediaDataLoadingModel
 import com.android.systemui.media.controls.shared.model.SmartspaceMediaData
 import com.android.systemui.media.controls.shared.model.SmartspaceMediaLoadingModel
-import com.android.systemui.media.controls.util.MediaSmartspaceLogger
-import com.android.systemui.media.controls.util.MediaSmartspaceLogger.Companion.SMARTSPACE_CARD_DISMISS_EVENT
-import com.android.systemui.media.controls.util.MediaSmartspaceLogger.Companion.SMARTSPACE_CARD_SEEN_EVENT
-import com.android.systemui.media.controls.util.SmallHash
 import com.android.systemui.util.time.SystemClock
-import java.util.Locale
 import java.util.TreeMap
 import javax.inject.Inject
 import kotlinx.coroutines.flow.MutableStateFlow
@@ -40,13 +33,7 @@
 
 /** A repository that holds the state of filtered media data on the device. */
 @SysUISingleton
-class MediaFilterRepository
-@Inject
-constructor(
-    @Application private val applicationContext: Context,
-    private val systemClock: SystemClock,
-    private val smartspaceLogger: MediaSmartspaceLogger,
-) {
+class MediaFilterRepository @Inject constructor(private val systemClock: SystemClock) {
 
     /** Instance id of media control that recommendations card reactivated. */
     private val _reactivatedId: MutableStateFlow<InstanceId?> = MutableStateFlow(null)
@@ -86,7 +73,6 @@
 
     private var sortedMedia = TreeMap<MediaSortKeyModel, MediaCommonModel>(comparator)
     private var mediaFromRecPackageName: String? = null
-    private var locale: Locale = applicationContext.resources.configuration.locales.get(0)
 
     fun addMediaEntry(key: String, data: MediaData) {
         val entries = LinkedHashMap<String, MediaData>(_allUserEntries.value)
@@ -224,21 +210,6 @@
                 }
 
                 sortedMedia = sortedMap
-
-                if (!isUpdate) {
-                    val rank = sortedMedia.values.indexOf(newCommonModel)
-                    if (isSmartspaceLoggingEnabled(newCommonModel, rank)) {
-                        smartspaceLogger.logSmartspaceCardReceived(
-                            it.smartspaceId,
-                            it.appUid,
-                            cardinality = _currentMedia.value.size,
-                            isSsReactivated = mediaDataLoadingModel.isSsReactivated,
-                            rank = rank,
-                        )
-                    }
-                } else if (mediaDataLoadingModel.receivedSmartspaceCardLatency != 0) {
-                    logSmartspaceAllMediaCards(mediaDataLoadingModel.receivedSmartspaceCardLatency)
-                }
             }
         }
 
@@ -278,30 +249,6 @@
                 sortedMap[sortKey] = newCommonModel
                 _currentMedia.value = sortedMap.values.toList()
                 sortedMedia = sortedMap
-
-                if (isRecommendationActive()) {
-                    val hasActivatedExistedResumeMedia =
-                        !hasActiveMedia() &&
-                            hasAnyMedia() &&
-                            smartspaceMediaLoadingModel.isPrioritized
-                    if (hasActivatedExistedResumeMedia) {
-                        // Log resume card received if resumable media card is reactivated and
-                        // recommendation card is valid and ranked first
-                        logSmartspaceAllMediaCards(
-                            (systemClock.currentTimeMillis() -
-                                    _smartspaceMediaData.value.headphoneConnectionTimeMillis)
-                                .toInt()
-                        )
-                    }
-
-                    smartspaceLogger.logSmartspaceCardReceived(
-                        SmallHash.hash(_smartspaceMediaData.value.targetId),
-                        _smartspaceMediaData.value.getUid(applicationContext),
-                        cardinality = _currentMedia.value.size,
-                        isRecommendationCard = true,
-                        rank = _currentMedia.value.indexOf(newCommonModel),
-                    )
-                }
             }
             is SmartspaceMediaLoadingModel.Removed -> {
                 _currentMedia.value =
@@ -339,108 +286,6 @@
         return _smartspaceMediaData.value.isActive
     }
 
-    /** Log visible card given [visibleIndex]. */
-    fun logSmartspaceCardSeen(surface: Int, visibleIndex: Int, isMediaCardUpdate: Boolean) {
-        if (_currentMedia.value.size <= visibleIndex) return
-
-        when (val mediaCommonModel = _currentMedia.value[visibleIndex]) {
-            is MediaCommonModel.MediaControl -> {
-                if (
-                    !isMediaCardUpdate ||
-                        mediaCommonModel.mediaLoadedModel.receivedSmartspaceCardLatency != 0
-                ) {
-                    logSmartspaceMediaCardUserEvent(
-                        mediaCommonModel.mediaLoadedModel.instanceId,
-                        visibleIndex,
-                        SMARTSPACE_CARD_SEEN_EVENT,
-                        surface,
-                        mediaCommonModel.mediaLoadedModel.isSsReactivated,
-                    )
-                }
-            }
-            is MediaCommonModel.MediaRecommendations -> {
-                if (isRecommendationActive()) {
-                    logSmarspaceRecommendationCardUserEvent(
-                        SMARTSPACE_CARD_SEEN_EVENT,
-                        surface,
-                        visibleIndex,
-                    )
-                }
-            }
-        }
-    }
-
-    /** Log user event on media card if smartspace logging is enabled. */
-    fun logSmartspaceCardUserEvent(
-        eventId: Int,
-        surface: Int,
-        interactedSubCardRank: Int = 0,
-        interactedSubCardCardinality: Int = 0,
-        instanceId: InstanceId? = null,
-        isRec: Boolean = false,
-    ) {
-        _currentMedia.value.forEachIndexed { index, mediaCommonModel ->
-            when (mediaCommonModel) {
-                is MediaCommonModel.MediaControl -> {
-                    if (mediaCommonModel.mediaLoadedModel.instanceId == instanceId) {
-                        if (isSmartspaceLoggingEnabled(mediaCommonModel, index)) {
-                            logSmartspaceMediaCardUserEvent(
-                                instanceId,
-                                index,
-                                eventId,
-                                surface,
-                                mediaCommonModel.mediaLoadedModel.isSsReactivated,
-                                interactedSubCardRank,
-                                interactedSubCardCardinality,
-                            )
-                        }
-                        return
-                    }
-                }
-                is MediaCommonModel.MediaRecommendations -> {
-                    if (isRec) {
-                        if (isSmartspaceLoggingEnabled(mediaCommonModel, index)) {
-                            logSmarspaceRecommendationCardUserEvent(
-                                eventId,
-                                surface,
-                                index,
-                                interactedSubCardRank,
-                                interactedSubCardCardinality,
-                            )
-                        }
-                        return
-                    }
-                }
-            }
-        }
-    }
-
-    /** Log media and recommendation cards dismissal if smartspace logging is enabled for each. */
-    fun logSmartspaceCardsOnSwipeToDismiss(surface: Int) {
-        _currentMedia.value.forEachIndexed { index, mediaCommonModel ->
-            if (isSmartspaceLoggingEnabled(mediaCommonModel, index)) {
-                when (mediaCommonModel) {
-                    is MediaCommonModel.MediaControl ->
-                        logSmartspaceMediaCardUserEvent(
-                            mediaCommonModel.mediaLoadedModel.instanceId,
-                            index,
-                            SMARTSPACE_CARD_DISMISS_EVENT,
-                            surface,
-                            mediaCommonModel.mediaLoadedModel.isSsReactivated,
-                            isSwipeToDismiss = true,
-                        )
-                    is MediaCommonModel.MediaRecommendations ->
-                        logSmarspaceRecommendationCardUserEvent(
-                            SMARTSPACE_CARD_DISMISS_EVENT,
-                            surface,
-                            index,
-                            isSwipeToDismiss = true,
-                        )
-                }
-            }
-        }
-    }
-
     private fun canBeRemoved(data: MediaData): Boolean {
         return data.isPlaying?.let { !it } ?: data.isClearable && !data.active
     }
@@ -448,83 +293,4 @@
     private fun isMediaFromRec(data: MediaData): Boolean {
         return data.isPlaying == true && mediaFromRecPackageName == data.packageName
     }
-
-    /** Log all media cards if smartspace logging is enabled for each. */
-    private fun logSmartspaceAllMediaCards(receivedSmartspaceCardLatency: Int) {
-        sortedMedia.values.forEachIndexed { index, mediaCommonModel ->
-            if (mediaCommonModel is MediaCommonModel.MediaControl) {
-                _selectedUserEntries.value[mediaCommonModel.mediaLoadedModel.instanceId]?.let {
-                    it.smartspaceId =
-                        SmallHash.hash(it.appUid + systemClock.currentTimeMillis().toInt())
-                    it.isImpressed = false
-
-                    if (isSmartspaceLoggingEnabled(mediaCommonModel, index)) {
-                        smartspaceLogger.logSmartspaceCardReceived(
-                            it.smartspaceId,
-                            it.appUid,
-                            cardinality = _currentMedia.value.size,
-                            isSsReactivated = mediaCommonModel.mediaLoadedModel.isSsReactivated,
-                            rank = index,
-                            receivedLatencyMillis = receivedSmartspaceCardLatency,
-                        )
-                    }
-                }
-            }
-        }
-    }
-
-    private fun logSmartspaceMediaCardUserEvent(
-        instanceId: InstanceId,
-        index: Int,
-        eventId: Int,
-        surface: Int,
-        isReactivated: Boolean,
-        interactedSubCardRank: Int = 0,
-        interactedSubCardCardinality: Int = 0,
-        isSwipeToDismiss: Boolean = false,
-    ) {
-        _selectedUserEntries.value[instanceId]?.let {
-            smartspaceLogger.logSmartspaceCardUIEvent(
-                eventId,
-                it.smartspaceId,
-                it.appUid,
-                surface,
-                _currentMedia.value.size,
-                isSsReactivated = isReactivated,
-                interactedSubcardRank = interactedSubCardRank,
-                interactedSubcardCardinality = interactedSubCardCardinality,
-                rank = index,
-                isSwipeToDismiss = isSwipeToDismiss,
-            )
-        }
-    }
-
-    private fun logSmarspaceRecommendationCardUserEvent(
-        eventId: Int,
-        surface: Int,
-        index: Int,
-        interactedSubCardRank: Int = 0,
-        interactedSubCardCardinality: Int = 0,
-        isSwipeToDismiss: Boolean = false,
-    ) {
-        smartspaceLogger.logSmartspaceCardUIEvent(
-            eventId,
-            SmallHash.hash(_smartspaceMediaData.value.targetId),
-            _smartspaceMediaData.value.getUid(applicationContext),
-            surface,
-            _currentMedia.value.size,
-            isRecommendationCard = true,
-            interactedSubcardRank = interactedSubCardRank,
-            interactedSubcardCardinality = interactedSubCardCardinality,
-            rank = index,
-            isSwipeToDismiss = isSwipeToDismiss,
-        )
-    }
-
-    private fun isSmartspaceLoggingEnabled(commonModel: MediaCommonModel, index: Int): Boolean {
-        return sortedMedia.size > index &&
-            (_smartspaceMediaData.value.expiryTimeMs != 0L ||
-                isRecommendationActive() ||
-                commonModel is MediaCommonModel.MediaRecommendations)
-    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/LegacyMediaDataManagerImpl.kt b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/LegacyMediaDataManagerImpl.kt
index ea5f81c..46cf0a6 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/LegacyMediaDataManagerImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/LegacyMediaDataManagerImpl.kt
@@ -82,7 +82,6 @@
 import com.android.systemui.media.controls.util.MediaDataUtils
 import com.android.systemui.media.controls.util.MediaFlags
 import com.android.systemui.media.controls.util.MediaUiEventLogger
-import com.android.systemui.media.controls.util.SmallHash
 import com.android.systemui.res.R
 import com.android.systemui.statusbar.NotificationMediaManager.isPlayingState
 import com.android.systemui.statusbar.notification.row.HybridGroupManager
@@ -1085,7 +1084,6 @@
                 instanceId = instanceId,
                 appUid = appUid,
                 isExplicit = isExplicit,
-                smartspaceId = SmallHash.hash(appUid + systemClock.currentTimeMillis().toInt()),
             )
 
         if (isSameMediaData(context, mediaController, mediaData, currentEntry)) {
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaDataFilterImpl.kt b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaDataFilterImpl.kt
index 4c0312f..2cd5016 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaDataFilterImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaDataFilterImpl.kt
@@ -33,7 +33,6 @@
 import com.android.systemui.media.controls.shared.model.MediaDataLoadingModel
 import com.android.systemui.media.controls.shared.model.SmartspaceMediaData
 import com.android.systemui.media.controls.shared.model.SmartspaceMediaLoadingModel
-import com.android.systemui.media.controls.util.MediaFlags
 import com.android.systemui.media.controls.util.MediaUiEventLogger
 import com.android.systemui.settings.UserTracker
 import com.android.systemui.statusbar.NotificationLockscreenUserManager
@@ -69,7 +68,6 @@
     @Main private val executor: Executor,
     private val systemClock: SystemClock,
     private val logger: MediaUiEventLogger,
-    private val mediaFlags: MediaFlags,
     private val mediaFilterRepository: MediaFilterRepository,
     private val mediaLogger: MediaLogger,
 ) : MediaDataManager.Listener {
@@ -328,9 +326,8 @@
     }
 
     /** Invoked when the user has dismissed the media carousel */
-    fun onSwipeToDismiss(surface: Int) {
+    fun onSwipeToDismiss() {
         if (DEBUG) Log.d(TAG, "Media carousel swiped away")
-        mediaFilterRepository.logSmartspaceCardsOnSwipeToDismiss(surface)
         val mediaEntries = mediaFilterRepository.allUserEntries.value.entries
         mediaEntries.forEach { (key, data) ->
             if (mediaFilterRepository.selectedUserEntries.value.containsKey(data.instanceId)) {
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaDataProcessor.kt b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaDataProcessor.kt
index 59f98d8..fe852ce 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaDataProcessor.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaDataProcessor.kt
@@ -83,7 +83,6 @@
 import com.android.systemui.media.controls.util.MediaDataUtils
 import com.android.systemui.media.controls.util.MediaFlags
 import com.android.systemui.media.controls.util.MediaUiEventLogger
-import com.android.systemui.media.controls.util.SmallHash
 import com.android.systemui.res.R
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
 import com.android.systemui.statusbar.NotificationMediaManager.isPlayingState
@@ -758,7 +757,6 @@
                     appUid = appUid,
                     isExplicit = isExplicit,
                     resumeProgress = progress,
-                    smartspaceId = SmallHash.hash(appUid + systemClock.currentTimeMillis().toInt()),
                 ),
             )
         }
@@ -1010,7 +1008,6 @@
                 instanceId = instanceId,
                 appUid = appUid,
                 isExplicit = isExplicit,
-                smartspaceId = SmallHash.hash(appUid + systemClock.currentTimeMillis().toInt()),
             )
 
         if (isSameMediaData(context, mediaController, mediaData, oldEntry)) {
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaProcessingHelper.kt b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaProcessingHelper.kt
index beb4d41..df0e1ad 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaProcessingHelper.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaProcessingHelper.kt
@@ -22,6 +22,7 @@
 import android.graphics.drawable.Icon
 import android.media.session.MediaController
 import android.media.session.PlaybackState
+import android.os.BadParcelableException
 import android.util.Log
 import com.android.systemui.Flags.mediaControlsPostsOptimization
 import com.android.systemui.biometrics.Utils.toBitmap
@@ -109,7 +110,12 @@
     }
     if (firstAction.extras != null) {
         firstAction.extras.keySet().forEach { key ->
-            if (firstAction.extras[key] != secondAction.extras[key]) {
+            try {
+                if (firstAction.extras[key] != secondAction.extras[key]) {
+                    return false
+                }
+            } catch (e: BadParcelableException) {
+                Log.e(TAG, "Cannot unparcel extras", e)
                 return false
             }
         }
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/interactor/MediaCarouselInteractor.kt b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/interactor/MediaCarouselInteractor.kt
index 891b852..cd51a4b 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/interactor/MediaCarouselInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/interactor/MediaCarouselInteractor.kt
@@ -35,8 +35,6 @@
 import com.android.systemui.media.controls.domain.pipeline.MediaTimeoutListener
 import com.android.systemui.media.controls.domain.resume.MediaResumeListener
 import com.android.systemui.media.controls.shared.model.MediaCommonModel
-import com.android.systemui.media.controls.util.MediaFlags
-import com.android.systemui.media.controls.util.MediaSmartspaceLogger
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
 import java.io.PrintWriter
 import javax.inject.Inject
@@ -60,7 +58,6 @@
     private val mediaDataCombineLatest: MediaDataCombineLatest,
     private val mediaDataFilter: MediaDataFilterImpl,
     private val mediaFilterRepository: MediaFilterRepository,
-    private val mediaFlags: MediaFlags,
 ) : MediaDataManager, CoreStartable {
 
     /** Are there any media notifications active, including the recommendations? */
@@ -197,10 +194,8 @@
         mediaDataProcessor.setMediaResumptionEnabled(isEnabled)
     }
 
-    override fun onSwipeToDismiss() = unsupported
-
-    fun onSwipeToDismiss(location: Int) {
-        mediaDataFilter.onSwipeToDismiss(MediaSmartspaceLogger.getSurface(location))
+    override fun onSwipeToDismiss() {
+        mediaDataFilter.onSwipeToDismiss()
     }
 
     override fun hasActiveMediaOrRecommendation() =
@@ -218,14 +213,6 @@
         mediaFilterRepository.setOrderedMedia()
     }
 
-    fun logSmartspaceSeenCard(visibleIndex: Int, location: Int, isMediaCardUpdate: Boolean) {
-        mediaFilterRepository.logSmartspaceCardSeen(
-            MediaSmartspaceLogger.getSurface(location),
-            visibleIndex,
-            isMediaCardUpdate,
-        )
-    }
-
     /** Add a listener for internal events. */
     private fun addInternalListener(listener: MediaDataManager.Listener) =
         mediaDataProcessor.addInternalListener(listener)
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/interactor/MediaControlInteractor.kt b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/interactor/MediaControlInteractor.kt
index 09aa85b..f830a56 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/interactor/MediaControlInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/interactor/MediaControlInteractor.kt
@@ -36,7 +36,6 @@
 import com.android.systemui.media.controls.shared.MediaLogger
 import com.android.systemui.media.controls.shared.model.MediaControlModel
 import com.android.systemui.media.controls.shared.model.MediaData
-import com.android.systemui.media.controls.util.MediaSmartspaceLogger
 import com.android.systemui.media.dialog.MediaOutputDialogManager
 import com.android.systemui.plugins.ActivityStarter
 import com.android.systemui.statusbar.NotificationLockscreenUserManager
@@ -72,10 +71,7 @@
         token: MediaSession.Token?,
         instanceId: InstanceId,
         delayMs: Long,
-        eventId: Int,
-        location: Int,
     ): Boolean {
-        logSmartspaceUserEvent(eventId, location)
         val dismissed =
             mediaDataProcessor.dismissMediaData(instanceId, delayMs, userInitiated = true)
         if (!dismissed) {
@@ -116,13 +112,7 @@
         activityStarter.startActivity(SETTINGS_INTENT, /* dismissShade= */ true)
     }
 
-    fun startClickIntent(
-        expandable: Expandable,
-        clickIntent: PendingIntent,
-        eventId: Int,
-        location: Int,
-    ) {
-        logSmartspaceUserEvent(eventId, location)
+    fun startClickIntent(expandable: Expandable, clickIntent: PendingIntent) {
         if (!launchOverLockscreen(expandable, clickIntent)) {
             activityStarter.postStartActivityDismissingKeyguard(
                 clickIntent,
@@ -197,14 +187,6 @@
         )
     }
 
-    fun logSmartspaceUserEvent(eventId: Int, location: Int) {
-        repository.logSmartspaceCardUserEvent(
-            eventId,
-            MediaSmartspaceLogger.getSurface(location),
-            instanceId = instanceId,
-        )
-    }
-
     fun logMediaControlIsBound(artistName: CharSequence, songName: CharSequence) {
         mediaLogger.logMediaControlIsBound(instanceId, artistName, songName)
     }
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/interactor/MediaRecommendationsInteractor.kt b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/interactor/MediaRecommendationsInteractor.kt
index 48ed391..0cb36ed 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/interactor/MediaRecommendationsInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/interactor/MediaRecommendationsInteractor.kt
@@ -31,7 +31,6 @@
 import com.android.systemui.media.controls.shared.model.MediaRecModel
 import com.android.systemui.media.controls.shared.model.MediaRecommendationsModel
 import com.android.systemui.media.controls.shared.model.SmartspaceMediaData
-import com.android.systemui.media.controls.util.MediaSmartspaceLogger
 import com.android.systemui.plugins.ActivityStarter
 import java.net.URISyntaxException
 import javax.inject.Inject
@@ -66,14 +65,7 @@
             .distinctUntilChanged()
             .stateIn(applicationScope, SharingStarted.WhileSubscribed(), false)
 
-    fun removeMediaRecommendations(
-        key: String,
-        dismissIntent: Intent?,
-        delayMs: Long,
-        eventId: Int,
-        location: Int,
-    ) {
-        logSmartspaceCardUserEvent(eventId, location)
+    fun removeMediaRecommendations(key: String, dismissIntent: Intent?, delayMs: Long) {
         mediaDataProcessor.dismissSmartspaceRecommendation(key, delayMs)
         if (dismissIntent == null) {
             Log.w(TAG, "Cannot create dismiss action click action: extras missing dismiss_intent.")
@@ -93,25 +85,7 @@
         activityStarter.startActivity(SETTINGS_INTENT, /* dismissShade= */ true)
     }
 
-    fun startClickIntent(
-        expandable: Expandable,
-        intent: Intent,
-        eventId: Int,
-        location: Int,
-        interactedSubCardRank: Int,
-        interactedSubCardCardinality: Int,
-    ) {
-        if (interactedSubCardRank == -1) {
-            logSmartspaceCardUserEvent(eventId, MediaSmartspaceLogger.getSurface(location))
-        } else {
-            repository.logSmartspaceCardUserEvent(
-                eventId,
-                MediaSmartspaceLogger.getSurface(location),
-                interactedSubCardRank = interactedSubCardRank,
-                interactedSubCardCardinality = interactedSubCardCardinality,
-                isRec = true,
-            )
-        }
+    fun startClickIntent(expandable: Expandable, intent: Intent) {
         if (shouldActivityOpenInForeground(intent)) {
             // Request to unlock the device if the activity needs to be opened in foreground.
             activityStarter.postStartActivityDismissingKeyguard(
@@ -127,14 +101,6 @@
         }
     }
 
-    private fun logSmartspaceCardUserEvent(eventId: Int, location: Int) {
-        repository.logSmartspaceCardUserEvent(
-            eventId,
-            MediaSmartspaceLogger.getSurface(location),
-            isRec = true,
-        )
-    }
-
     /** Returns if the action will open the activity in foreground. */
     private fun shouldActivityOpenInForeground(intent: Intent): Boolean {
         val intentString = intent.extras?.getString(EXTRAS_SMARTSPACE_INTENT) ?: return false
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/shared/model/MediaData.kt b/packages/SystemUI/src/com/android/systemui/media/controls/shared/model/MediaData.kt
index aed8609..90fa6fd 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/shared/model/MediaData.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/shared/model/MediaData.kt
@@ -99,12 +99,6 @@
 
     /** Track progress (0 - 1) to display for players where [resumption] is true */
     val resumeProgress: Double? = null,
-
-    /** Smartspace Id, used for logging. */
-    var smartspaceId: Int = -1,
-
-    /** If media card was visible to user, used for logging. */
-    var isImpressed: Boolean = false,
 ) {
     companion object {
         /** Media is playing on the local device */
@@ -135,7 +129,7 @@
     /** Whether to reserve the empty space when the nextOrCustom is null */
     val reserveNext: Boolean = false,
     /** Whether to reserve the empty space when the prevOrCustom is null */
-    val reservePrev: Boolean = false
+    val reservePrev: Boolean = false,
 ) {
     fun getActionById(id: Int): MediaAction? {
         return when (id) {
@@ -159,7 +153,7 @@
     // Rebind Id is used to detect identical rebinds and ignore them. It is intended
     // to prevent continuously looping animations from restarting due to the arrival
     // of repeated media notifications that are visually identical.
-    val rebindId: Int? = null
+    val rebindId: Int? = null,
 )
 
 /** State of a media action from notification. */
@@ -167,7 +161,7 @@
     val isAuthenticationRequired: Boolean,
     val actionIntent: PendingIntent?,
     val icon: Drawable?,
-    val contentDescription: CharSequence?
+    val contentDescription: CharSequence?,
 )
 
 /** State of the media device. */
@@ -190,7 +184,7 @@
     val id: String? = null,
 
     /** Whether or not to show the broadcast button */
-    val showBroadcastButton: Boolean
+    val showBroadcastButton: Boolean,
 ) {
     /**
      * Check whether [MediaDeviceData] objects are equal in all fields except the icon. The icon is
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/shared/model/SmartspaceMediaData.kt b/packages/SystemUI/src/com/android/systemui/media/controls/shared/model/SmartspaceMediaData.kt
index 96c3fa8..c0e1d95 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/shared/model/SmartspaceMediaData.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/shared/model/SmartspaceMediaData.kt
@@ -48,8 +48,6 @@
     val instanceId: InstanceId? = null,
     /** The timestamp in milliseconds indicating when the card should be removed */
     val expiryTimeMs: Long = 0L,
-    /** If recommendation card was visible to user, used for logging. */
-    var isImpressed: Boolean = false,
 ) {
     /**
      * Indicates if all the data is valid.
@@ -81,7 +79,7 @@
         Log.w(
             TAG,
             "Package $packageName does not have a main launcher activity. " +
-                "Fallback to full app name"
+                "Fallback to full app name",
         )
         return try {
             val applicationInfo = packageManager.getApplicationInfo(packageName, /* flags= */ 0)
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/binder/SeekBarObserver.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/binder/SeekBarObserver.kt
index c9716be..cedf661 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/binder/SeekBarObserver.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/binder/SeekBarObserver.kt
@@ -18,9 +18,6 @@
 
 import android.animation.Animator
 import android.animation.ObjectAnimator
-import android.icu.text.MeasureFormat
-import android.icu.util.Measure
-import android.icu.util.MeasureUnit
 import android.text.format.DateUtils
 import androidx.annotation.UiThread
 import androidx.lifecycle.Observer
@@ -31,11 +28,8 @@
 import com.android.systemui.media.controls.ui.view.MediaViewHolder
 import com.android.systemui.media.controls.ui.viewmodel.SeekBarViewModel
 import com.android.systemui.res.R
-import java.util.Locale
 
 private const val TAG = "SeekBarObserver"
-private const val MIN_IN_SEC = 60
-private const val HOUR_IN_SEC = MIN_IN_SEC * 60
 
 /**
  * Observer for changes from SeekBarViewModel.
@@ -133,7 +127,7 @@
         }
 
         holder.seekBar.setMax(data.duration)
-        val totalTimeDescription = formatTimeContentDescription(data.duration)
+        val totalTimeDescription = data.durationDescription
         if (data.scrubbing) {
             holder.scrubbingTotalTimeView.text = formatTimeLabel(data.duration)
         }
@@ -153,7 +147,7 @@
                 }
             }
 
-            val elapsedTimeDescription = formatTimeContentDescription(it)
+            val elapsedTimeDescription = data.elapsedTimeDescription
             if (data.scrubbing) {
                 holder.scrubbingElapsedTimeView.text = formatTimeLabel(it)
             }
@@ -172,43 +166,6 @@
         return DateUtils.formatElapsedTime(milliseconds / DateUtils.SECOND_IN_MILLIS)
     }
 
-    /**
-     * Returns a time string suitable for content description, e.g. "12 minutes 34 seconds"
-     *
-     * Follows same logic as Chronometer#formatDuration
-     */
-    private fun formatTimeContentDescription(milliseconds: Int): CharSequence {
-        var seconds = milliseconds / DateUtils.SECOND_IN_MILLIS
-
-        val hours =
-            if (seconds >= HOUR_IN_SEC) {
-                seconds / HOUR_IN_SEC
-            } else {
-                0
-            }
-        seconds -= hours * HOUR_IN_SEC
-
-        val minutes =
-            if (seconds >= MIN_IN_SEC) {
-                seconds / MIN_IN_SEC
-            } else {
-                0
-            }
-        seconds -= minutes * MIN_IN_SEC
-
-        val measures = arrayListOf<Measure>()
-        if (hours > 0) {
-            measures.add(Measure(hours, MeasureUnit.HOUR))
-        }
-        if (minutes > 0) {
-            measures.add(Measure(minutes, MeasureUnit.MINUTE))
-        }
-        measures.add(Measure(seconds, MeasureUnit.SECOND))
-
-        return MeasureFormat.getInstance(Locale.getDefault(), MeasureFormat.FormatWidth.WIDE)
-            .formatMeasures(*measures.toTypedArray())
-    }
-
     @VisibleForTesting
     open fun buildResetAnimator(targetTime: Int): Animator {
         val animator =
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 bfd48c8..7b1ae57e 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
@@ -62,7 +62,6 @@
 import com.android.systemui.media.controls.shared.model.SmartspaceMediaData
 import com.android.systemui.media.controls.ui.binder.MediaControlViewBinder
 import com.android.systemui.media.controls.ui.binder.MediaRecommendationsViewBinder
-import com.android.systemui.media.controls.ui.controller.MediaControlPanel.SMARTSPACE_CARD_DISMISS_EVENT
 import com.android.systemui.media.controls.ui.util.MediaViewModelCallback
 import com.android.systemui.media.controls.ui.util.MediaViewModelListUpdateCallback
 import com.android.systemui.media.controls.ui.view.MediaCarouselScrollHandler
@@ -72,21 +71,13 @@
 import com.android.systemui.media.controls.ui.view.RecommendationViewHolder
 import com.android.systemui.media.controls.ui.viewmodel.MediaCarouselViewModel
 import com.android.systemui.media.controls.ui.viewmodel.MediaCommonViewModel
-import com.android.systemui.media.controls.util.MediaFlags
 import com.android.systemui.media.controls.util.MediaUiEventLogger
-import com.android.systemui.media.controls.util.SmallHash
 import com.android.systemui.plugins.ActivityStarter
 import com.android.systemui.plugins.FalsingManager
 import com.android.systemui.qs.PageIndicator
 import com.android.systemui.res.R
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
 import com.android.systemui.scene.shared.model.Scenes
-import com.android.systemui.shared.system.SysUiStatsLog
-import com.android.systemui.shared.system.SysUiStatsLog.SMARTSPACE_CARD_REPORTED
-import com.android.systemui.shared.system.SysUiStatsLog.SMART_SPACE_CARD_REPORTED__CARD_TYPE__UNKNOWN_CARD
-import com.android.systemui.shared.system.SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__DREAM_OVERLAY as SSPACE_CARD_REPORTED__DREAM_OVERLAY
-import com.android.systemui.shared.system.SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__LOCKSCREEN as SSPACE_CARD_REPORTED__LOCKSCREEN
-import com.android.systemui.shared.system.SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__SHADE
 import com.android.systemui.statusbar.featurepods.media.domain.interactor.MediaControlChipInteractor
 import com.android.systemui.statusbar.notification.collection.provider.OnReorderingAllowedListener
 import com.android.systemui.statusbar.notification.collection.provider.VisualStabilityProvider
@@ -148,7 +139,6 @@
     dumpManager: DumpManager,
     private val logger: MediaUiEventLogger,
     private val debugLogger: MediaCarouselControllerLogger,
-    private val mediaFlags: MediaFlags,
     private val keyguardUpdateMonitor: KeyguardUpdateMonitor,
     private val keyguardTransitionInteractor: KeyguardTransitionInteractor,
     private val globalSettings: GlobalSettings,
@@ -359,7 +349,6 @@
                 this::updateSeekbarListening,
                 this::closeGuts,
                 falsingManager,
-                this::logSmartspaceImpression,
                 logger,
             )
         carouselLocale = context.resources.configuration.locales.get(0)
@@ -471,64 +460,7 @@
                         } else {
                             null
                         }
-                    if (addOrUpdatePlayer(key, oldKey, data, isSsReactivated, onUiExecutionEnd)) {
-                        // Log card received if a new resumable media card is added
-                        MediaPlayerData.getMediaPlayer(key)?.let {
-                            logSmartspaceCardReported(
-                                759, // SMARTSPACE_CARD_RECEIVED
-                                it.mSmartspaceId,
-                                it.mUid,
-                                surfaces =
-                                    intArrayOf(
-                                        SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__SHADE,
-                                        SSPACE_CARD_REPORTED__LOCKSCREEN,
-                                        SSPACE_CARD_REPORTED__DREAM_OVERLAY,
-                                    ),
-                                rank = MediaPlayerData.getMediaPlayerIndex(key),
-                            )
-                        }
-                        if (
-                            mediaCarouselScrollHandler.visibleToUser &&
-                                mediaCarouselScrollHandler.visibleMediaIndex ==
-                                    MediaPlayerData.getMediaPlayerIndex(key)
-                        ) {
-                            logSmartspaceImpression(mediaCarouselScrollHandler.qsExpanded)
-                        }
-                    } else if (receivedSmartspaceCardLatency != 0) {
-                        // Log resume card received if resumable media card is reactivated and
-                        // resume card is ranked first
-                        MediaPlayerData.players().forEachIndexed { index, it ->
-                            if (it.recommendationViewHolder == null) {
-                                it.mSmartspaceId =
-                                    SmallHash.hash(
-                                        it.mUid + systemClock.currentTimeMillis().toInt()
-                                    )
-                                it.mIsImpressed = false
-
-                                logSmartspaceCardReported(
-                                    759, // SMARTSPACE_CARD_RECEIVED
-                                    it.mSmartspaceId,
-                                    it.mUid,
-                                    surfaces =
-                                        intArrayOf(
-                                            SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__SHADE,
-                                            SSPACE_CARD_REPORTED__LOCKSCREEN,
-                                            SSPACE_CARD_REPORTED__DREAM_OVERLAY,
-                                        ),
-                                    rank = index,
-                                    receivedLatencyMillis = receivedSmartspaceCardLatency,
-                                )
-                            }
-                        }
-                        // If media container area already visible to the user, log impression for
-                        // reactivated card.
-                        if (
-                            mediaCarouselScrollHandler.visibleToUser &&
-                                !mediaCarouselScrollHandler.qsExpanded
-                        ) {
-                            logSmartspaceImpression(mediaCarouselScrollHandler.qsExpanded)
-                        }
-                    }
+                    addOrUpdatePlayer(key, oldKey, data, isSsReactivated, onUiExecutionEnd)
 
                     val canRemove = data.isPlaying?.let { !it } ?: data.isClearable && !data.active
                     if (canRemove && !Utils.useMediaResumption(context)) {
@@ -555,66 +487,7 @@
                     // Log the case where the hidden media carousel with the existed inactive resume
                     // media is shown by the Smartspace signal.
                     if (data.isActive) {
-                        val hasActivatedExistedResumeMedia =
-                            !mediaManager.hasActiveMedia() &&
-                                mediaManager.hasAnyMedia() &&
-                                shouldPrioritize
-                        if (hasActivatedExistedResumeMedia) {
-                            // Log resume card received if resumable media card is reactivated and
-                            // recommendation card is valid and ranked first
-                            MediaPlayerData.players().forEachIndexed { index, it ->
-                                if (it.recommendationViewHolder == null) {
-                                    it.mSmartspaceId =
-                                        SmallHash.hash(
-                                            it.mUid + systemClock.currentTimeMillis().toInt()
-                                        )
-                                    it.mIsImpressed = false
-
-                                    logSmartspaceCardReported(
-                                        759, // SMARTSPACE_CARD_RECEIVED
-                                        it.mSmartspaceId,
-                                        it.mUid,
-                                        surfaces =
-                                            intArrayOf(
-                                                SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__SHADE,
-                                                SSPACE_CARD_REPORTED__LOCKSCREEN,
-                                                SSPACE_CARD_REPORTED__DREAM_OVERLAY,
-                                            ),
-                                        rank = index,
-                                        receivedLatencyMillis =
-                                            (systemClock.currentTimeMillis() -
-                                                    data.headphoneConnectionTimeMillis)
-                                                .toInt(),
-                                    )
-                                }
-                            }
-                        }
                         addSmartspaceMediaRecommendations(key, data, shouldPrioritize)
-                        MediaPlayerData.getMediaPlayer(key)?.let {
-                            logSmartspaceCardReported(
-                                759, // SMARTSPACE_CARD_RECEIVED
-                                it.mSmartspaceId,
-                                it.mUid,
-                                surfaces =
-                                    intArrayOf(
-                                        SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__SHADE,
-                                        SSPACE_CARD_REPORTED__LOCKSCREEN,
-                                        SSPACE_CARD_REPORTED__DREAM_OVERLAY,
-                                    ),
-                                rank = MediaPlayerData.getMediaPlayerIndex(key),
-                                receivedLatencyMillis =
-                                    (systemClock.currentTimeMillis() -
-                                            data.headphoneConnectionTimeMillis)
-                                        .toInt(),
-                            )
-                        }
-                        if (
-                            mediaCarouselScrollHandler.visibleToUser &&
-                                mediaCarouselScrollHandler.visibleMediaIndex ==
-                                    MediaPlayerData.getMediaPlayerIndex(key)
-                        ) {
-                            logSmartspaceImpression(mediaCarouselScrollHandler.qsExpanded)
-                        }
                     } else {
                         // Handle update to inactive as a removal
                         onSmartspaceMediaDataRemoved(data.targetId, immediately = true)
@@ -799,7 +672,6 @@
                 controllerById[commonViewModel.key] = viewController
             }
         }
-        onAddOrUpdateVisibleToUserCard(position, isMediaCardUpdate = false)
         viewController.setListening(mediaCarouselScrollHandler.visibleToUser && currentlyExpanded)
         updateViewControllerToState(viewController, noAnimation = true)
         updatePageIndicator()
@@ -820,10 +692,6 @@
         commonViewModel.onUpdated(commonViewModel)
         updatePageIndicator()
         mediaCarouselScrollHandler.onPlayersChanged()
-        onAddOrUpdateVisibleToUserCard(
-            position,
-            commonViewModel is MediaCommonViewModel.MediaControl,
-        )
     }
 
     private fun onRemoved(commonViewModel: MediaCommonViewModel) {
@@ -870,20 +738,6 @@
         mediaCarouselScrollHandler.onPlayersChanged()
     }
 
-    private fun onAddOrUpdateVisibleToUserCard(position: Int, isMediaCardUpdate: Boolean) {
-        if (
-            mediaCarouselScrollHandler.visibleToUser &&
-                mediaCarouselScrollHandler.visibleMediaIndex == position
-        ) {
-            mediaCarouselViewModel.onCardVisibleToUser(
-                mediaCarouselScrollHandler.qsExpanded,
-                mediaCarouselScrollHandler.visibleMediaIndex,
-                currentEndLocation,
-                isMediaCardUpdate,
-            )
-        }
-    }
-
     private fun setNewViewModelsList(viewModels: List<MediaCommonViewModel>) {
         commonViewModels.clear()
         commonViewModels.addAll(viewModels)
@@ -978,8 +832,7 @@
             // In RTL, Scroll to the first player as it is the rightmost player in media carousel.
             mediaCarouselScrollHandler.scrollToPlayer(destIndex = 0)
         }
-        // Check postcondition: mediaContent should have the same number of children as there
-        // are
+        // Check postcondition: mediaContent should have the same number of children as there are
         // elements in mediaPlayers.
         if (MediaPlayerData.players().size != mediaContent.childCount) {
             Log.e(
@@ -1177,8 +1030,7 @@
             updatePageIndicator()
             mediaFrame.requiresRemeasuring = true
             // Check postcondition: mediaContent should have the same number of children as there
-            // are
-            // elements in mediaPlayers.
+            // are elements in mediaPlayers.
             if (MediaPlayerData.players().size != mediaContent.childCount) {
                 Log.e(
                     TAG,
@@ -1588,145 +1440,12 @@
         }
     }
 
-    /** Log the user impression for media card at visibleMediaIndex. */
-    fun logSmartspaceImpression(qsExpanded: Boolean) {
-        if (SceneContainerFlag.isEnabled) {
-            mediaCarouselViewModel.onCardVisibleToUser(
-                qsExpanded,
-                mediaCarouselScrollHandler.visibleMediaIndex,
-                currentEndLocation,
-            )
-            return
-        }
-        val visibleMediaIndex = mediaCarouselScrollHandler.visibleMediaIndex
-        if (MediaPlayerData.players().size > visibleMediaIndex) {
-            val mediaControlPanel = MediaPlayerData.getMediaControlPanel(visibleMediaIndex)
-            val hasActiveMediaOrRecommendationCard =
-                MediaPlayerData.hasActiveMediaOrRecommendationCard()
-            if (!hasActiveMediaOrRecommendationCard && !qsExpanded) {
-                // Skip logging if on LS or QQS, and there is no active media card
-                return
-            }
-            mediaControlPanel?.let {
-                logSmartspaceCardReported(
-                    800, // SMARTSPACE_CARD_SEEN
-                    it.mSmartspaceId,
-                    it.mUid,
-                    intArrayOf(it.surfaceForSmartspaceLogging),
-                )
-                it.mIsImpressed = true
-            }
-        }
-    }
-
-    /**
-     * Log Smartspace events
-     *
-     * @param eventId UI event id (e.g. 800 for SMARTSPACE_CARD_SEEN)
-     * @param instanceId id to uniquely identify a card, e.g. each headphone generates a new
-     *   instanceId
-     * @param uid uid for the application that media comes from
-     * @param surfaces list of display surfaces the media card is on (e.g. lockscreen, shade) when
-     *   the event happened
-     * @param interactedSubcardRank the rank for interacted media item for recommendation card, -1
-     *   for tapping on card but not on any media item, 0 for first media item, 1 for second, etc.
-     * @param interactedSubcardCardinality how many media items were shown to the user when there is
-     *   user interaction
-     * @param rank the rank for media card in the media carousel, starting from 0
-     * @param receivedLatencyMillis latency in milliseconds for card received events. E.g. latency
-     *   between headphone connection to sysUI displays media recommendation card
-     * @param isSwipeToDismiss whether is to log swipe-to-dismiss event
-     */
-    @JvmOverloads
-    fun logSmartspaceCardReported(
-        eventId: Int,
-        instanceId: Int,
-        uid: Int,
-        surfaces: IntArray,
-        interactedSubcardRank: Int = 0,
-        interactedSubcardCardinality: Int = 0,
-        rank: Int = mediaCarouselScrollHandler.visibleMediaIndex,
-        receivedLatencyMillis: Int = 0,
-        isSwipeToDismiss: Boolean = false,
-    ) {
-        if (MediaPlayerData.players().size <= rank) {
-            return
-        }
-
-        val mediaControlKey = MediaPlayerData.visiblePlayerKeys().elementAt(rank)
-        // Only log media resume card when Smartspace data is available
-        if (
-            !mediaControlKey.isSsMediaRec &&
-                !mediaManager.isRecommendationActive() &&
-                MediaPlayerData.smartspaceMediaData == null
-        ) {
-            return
-        }
-
-        val cardinality = mediaContent.getChildCount()
-        surfaces.forEach { surface ->
-            SysUiStatsLog.write(
-                SMARTSPACE_CARD_REPORTED,
-                eventId,
-                instanceId,
-                // Deprecated, replaced with AiAi feature type so we don't need to create logging
-                // card type for each new feature.
-                SMART_SPACE_CARD_REPORTED__CARD_TYPE__UNKNOWN_CARD,
-                surface,
-                // Use -1 as rank value to indicate user swipe to dismiss the card
-                if (isSwipeToDismiss) -1 else rank,
-                cardinality,
-                if (mediaControlKey.isSsMediaRec) {
-                    15 // MEDIA_RECOMMENDATION
-                } else if (mediaControlKey.isSsReactivated) {
-                    43 // MEDIA_RESUME_SS_ACTIVATED
-                } else {
-                    31
-                }, // MEDIA_RESUME
-                uid,
-                interactedSubcardRank,
-                interactedSubcardCardinality,
-                receivedLatencyMillis,
-                null, // Media cards cannot have subcards.
-                null, // Media cards don't have dimensions today.
-            )
-
-            if (DEBUG) {
-                Log.d(
-                    TAG,
-                    "Log Smartspace card event id: $eventId instance id: $instanceId" +
-                        " surface: $surface rank: $rank cardinality: $cardinality " +
-                        "isRecommendationCard: ${mediaControlKey.isSsMediaRec} " +
-                        "isSsReactivated: ${mediaControlKey.isSsReactivated}" +
-                        "uid: $uid " +
-                        "interactedSubcardRank: $interactedSubcardRank " +
-                        "interactedSubcardCardinality: $interactedSubcardCardinality " +
-                        "received_latency_millis: $receivedLatencyMillis",
-                )
-            }
-        }
-    }
-
     @VisibleForTesting
     fun onSwipeToDismiss() {
         if (SceneContainerFlag.isEnabled) {
-            mediaCarouselViewModel.onSwipeToDismiss(currentEndLocation)
+            mediaCarouselViewModel.onSwipeToDismiss()
             return
         }
-        MediaPlayerData.players().forEachIndexed { index, it ->
-            if (it.mIsImpressed) {
-                logSmartspaceCardReported(
-                    SMARTSPACE_CARD_DISMISS_EVENT,
-                    it.mSmartspaceId,
-                    it.mUid,
-                    intArrayOf(it.surfaceForSmartspaceLogging),
-                    rank = index,
-                    isSwipeToDismiss = true,
-                )
-                // Reset card impressed state when swipe to dismissed
-                it.mIsImpressed = false
-            }
-        }
         MediaPlayerData.isSwipedAway = true
         logger.logSwipeDismiss()
         mediaManager.onSwipeToDismiss()
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselControllerLogger.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselControllerLogger.kt
index 9b443f5..5d62c02 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselControllerLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselControllerLogger.kt
@@ -90,15 +90,16 @@
 
     fun logCarouselVisible() = buffer.log(TAG, LogLevel.DEBUG, {}, { "showing carousel" })
 
-    fun logMediaHostVisibility(location: Int, visible: Boolean) {
+    fun logMediaHostVisibility(location: Int, visible: Boolean, oldState: Boolean) {
         buffer.log(
             TAG,
             LogLevel.DEBUG,
             {
                 int1 = location
                 bool1 = visible
+                bool2 = oldState
             },
-            { "media host visibility changed location=$location, visible:$visible" },
+            { "media host visibility changed location=$location, visible:$visible, was:$oldState" },
         )
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaControlPanel.java b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaControlPanel.java
index 694a4c7..a6bf5f4 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaControlPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaControlPanel.java
@@ -117,7 +117,6 @@
 import com.android.systemui.media.controls.ui.viewmodel.SeekBarViewModel;
 import com.android.systemui.media.controls.util.MediaDataUtils;
 import com.android.systemui.media.controls.util.MediaUiEventLogger;
-import com.android.systemui.media.controls.util.SmallHash;
 import com.android.systemui.media.dialog.MediaOutputDialogManager;
 import com.android.systemui.monet.ColorScheme;
 import com.android.systemui.monet.Style;
@@ -125,7 +124,6 @@
 import com.android.systemui.plugins.FalsingManager;
 import com.android.systemui.res.R;
 import com.android.systemui.scene.shared.flag.SceneContainerFlag;
-import com.android.systemui.shared.system.SysUiStatsLog;
 import com.android.systemui.statusbar.NotificationLockscreenUserManager;
 import com.android.systemui.statusbar.policy.KeyguardStateController;
 import com.android.systemui.surfaceeffects.PaintDrawCallback;
@@ -174,10 +172,6 @@
     private static final String KEY_SMARTSPACE_ARTIST_NAME = "artist_name";
     private static final String KEY_SMARTSPACE_OPEN_IN_FOREGROUND = "KEY_OPEN_IN_FOREGROUND";
 
-    // Event types logged by smartspace
-    private static final int SMARTSPACE_CARD_CLICK_EVENT = 760;
-    protected static final int SMARTSPACE_CARD_DISMISS_EVENT = 761;
-
     private static final float REC_MEDIA_COVER_SCALE_FACTOR = 1.25f;
     private static final float MEDIA_REC_SCRIM_START_ALPHA = 0.15f;
     private static final float MEDIA_REC_SCRIM_END_ALPHA = 1.0f;
@@ -247,11 +241,9 @@
     private final NotificationLockscreenUserManager mLockscreenUserManager;
 
     // Used for logging.
-    protected boolean mIsImpressed = false;
     private SystemClock mSystemClock;
     private MediaUiEventLogger mLogger;
     private InstanceId mInstanceId;
-    protected int mSmartspaceId = -1;
     private String mPackageName;
 
     private boolean mIsScrubbing = false;
@@ -350,7 +342,6 @@
             if (mPackageName != null && mInstanceId != null) {
                 mLogger.logSeek(mUid, mPackageName, mInstanceId);
             }
-            logSmartspaceCardReported(SMARTSPACE_CARD_CLICK_EVENT);
             return Unit.INSTANCE;
         });
 
@@ -565,10 +556,6 @@
         MediaSession.Token token = data.getToken();
         mPackageName = data.getPackageName();
         mUid = data.getAppUid();
-        // Only assigns instance id if it's unassigned.
-        if (mSmartspaceId == -1) {
-            mSmartspaceId = SmallHash.hash(mUid + (int) mSystemClock.currentTimeMillis());
-        }
         mInstanceId = data.getInstanceId();
 
         if (mToken == null || !mToken.equals(token)) {
@@ -588,7 +575,6 @@
                 if (mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) return;
                 if (mMediaViewController.isGutsVisible()) return;
                 mLogger.logTapContentView(mUid, mPackageName, mInstanceId);
-                logSmartspaceCardReported(SMARTSPACE_CARD_CLICK_EVENT);
 
                 boolean showOverLockscreen = mKeyguardStateController.isShowing()
                         && mActivityIntentHelper.wouldPendingShowOverLockscreen(clickIntent,
@@ -1289,7 +1275,6 @@
                 button.setOnClickListener(v -> {
                     if (!mFalsingManager.isFalseTap(FalsingManager.MODERATE_PENALTY)) {
                         mLogger.logTapAction(button.getId(), mUid, mPackageName, mInstanceId);
-                        logSmartspaceCardReported(SMARTSPACE_CARD_CLICK_EVENT);
                         // Used to determine whether to play turbulence noise.
                         mWasPlaying = isPlaying();
                         mButtonClicked = true;
@@ -1497,7 +1482,6 @@
         }
 
         mRecommendationData = data;
-        mSmartspaceId = SmallHash.hash(data.getTargetId());
         mPackageName = data.getPackageName();
         mInstanceId = data.getInstanceId();
 
@@ -1752,7 +1736,6 @@
         gutsViewHolder.getDismiss().setEnabled(isDismissible);
         gutsViewHolder.getDismiss().setOnClickListener(v -> {
             if (mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) return;
-            logSmartspaceCardReported(SMARTSPACE_CARD_DISMISS_EVENT);
             mLogger.logLongPressDismiss(mUid, mPackageName, mInstanceId);
 
             onDismissClickedRunnable.run();
@@ -1932,9 +1915,6 @@
             } else {
                 mLogger.logRecommendationItemTap(mPackageName, mInstanceId, interactedSubcardRank);
             }
-            logSmartspaceCardReported(SMARTSPACE_CARD_CLICK_EVENT,
-                    interactedSubcardRank,
-                    mSmartspaceMediaItemsCount);
 
             if (shouldSmartspaceRecItemOpenInForeground(action)) {
                 // Request to unlock the device if the activity needs to be opened in foreground.
@@ -1975,39 +1955,5 @@
 
         return false;
     }
-
-    /**
-     * Get the surface given the current end location for MediaViewController
-     *
-     * @return surface used for Smartspace logging
-     */
-    protected int getSurfaceForSmartspaceLogging() {
-        int currentEndLocation = mMediaViewController.getCurrentEndLocation();
-        if (currentEndLocation == MediaHierarchyManager.LOCATION_QQS
-                || currentEndLocation == MediaHierarchyManager.LOCATION_QS) {
-            return SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__SHADE;
-        } else if (currentEndLocation == MediaHierarchyManager.LOCATION_LOCKSCREEN) {
-            return SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__LOCKSCREEN;
-        } else if (currentEndLocation == MediaHierarchyManager.LOCATION_DREAM_OVERLAY) {
-            return SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__DREAM_OVERLAY;
-        }
-        return SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__DEFAULT_SURFACE;
-    }
-
-    private void logSmartspaceCardReported(int eventId) {
-        logSmartspaceCardReported(eventId,
-                /* interactedSubcardRank */ 0,
-                /* interactedSubcardCardinality */ 0);
-    }
-
-    private void logSmartspaceCardReported(int eventId,
-            int interactedSubcardRank, int interactedSubcardCardinality) {
-        mMediaCarouselController.logSmartspaceCardReported(eventId,
-                mSmartspaceId,
-                mUid,
-                new int[]{getSurfaceForSmartspaceLogging()},
-                interactedSubcardRank,
-                interactedSubcardCardinality);
-    }
 }
 
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 f06c4cc..69006c6 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
@@ -286,10 +286,6 @@
                 field = value
                 mediaCarouselController.mediaCarouselScrollHandler.qsExpanded = value
             }
-            // qs is expanded on LS shade and HS shade
-            if (value && (isLockScreenShadeVisibleToUser() || isHomeScreenShadeVisibleToUser())) {
-                mediaCarouselController.logSmartspaceImpression(value)
-            }
             updateUserVisibility()
         }
 
@@ -520,12 +516,6 @@
 
                 override fun onStateChanged(newState: Int) {
                     updateTargetState()
-                    // Enters shade from lock screen
-                    if (
-                        newState == StatusBarState.SHADE_LOCKED && isLockScreenShadeVisibleToUser()
-                    ) {
-                        mediaCarouselController.logSmartspaceImpression(qsExpanded)
-                    }
                     updateUserVisibility()
                 }
 
@@ -536,10 +526,6 @@
                 override fun onDozingChanged(isDozing: Boolean) {
                     if (!isDozing) {
                         dozeAnimationRunning = false
-                        // Enters lock screen from screen off
-                        if (isLockScreenVisibleToUser()) {
-                            mediaCarouselController.logSmartspaceImpression(qsExpanded)
-                        }
                     } else {
                         updateDesiredLocation()
                         qsExpanded = false
@@ -549,10 +535,6 @@
                 }
 
                 override fun onExpandedChanged(isExpanded: Boolean) {
-                    // Enters shade from home screen
-                    if (isHomeScreenShadeVisibleToUser()) {
-                        mediaCarouselController.logSmartspaceImpression(qsExpanded)
-                    }
                     updateUserVisibility()
                 }
             }
@@ -1147,10 +1129,11 @@
         traceSection("MediaHierarchyManager#updateHostAttachment") {
             if (SceneContainerFlag.isEnabled) {
                 // No need to manage transition states - just update the desired location directly
-                logger.logMediaHostAttachment(desiredLocation)
+                val host = getHost(desiredLocation)
+                logger.logMediaHostAttachment(desiredLocation, host?.visible)
                 mediaCarouselController.onDesiredLocationChanged(
                     desiredLocation = desiredLocation,
-                    desiredHostState = getHost(desiredLocation),
+                    desiredHostState = host,
                     animate = false,
                 )
                 return
@@ -1187,7 +1170,8 @@
                     // that and directly set the mediaFrame's bounds within the premeasured host.
                     targetHost.addView(mediaFrame)
                 }
-                logger.logMediaHostAttachment(currentAttachmentLocation)
+                val host = getHost(currentAttachmentLocation)
+                logger.logMediaHostAttachment(currentAttachmentLocation, host?.visible)
                 if (isCrossFadeAnimatorRunning) {
                     // When cross-fading with an animation, we only notify the media carousel of the
                     // location change, once the view is reattached to the new place and not
@@ -1331,6 +1315,7 @@
                 isHomeScreenShadeVisibleToUser() ||
                 isGlanceableHubVisibleToUser()
         val mediaVisible = qsExpanded || hasActiveMediaOrRecommendation
+        logger.logUserVisibilityChange(shadeVisible, mediaVisible)
         mediaCarouselController.mediaCarouselScrollHandler.visibleToUser =
             shadeVisible && mediaVisible
     }
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaViewLogger.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaViewLogger.kt
index 1514db3..089d16b 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaViewLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaViewLogger.kt
@@ -36,7 +36,7 @@
                 int1 = width
                 int2 = height
             },
-            { "size ($str1): $int1 x $int2" }
+            { "size ($str1): $int1 x $int2" },
         )
     }
 
@@ -49,11 +49,31 @@
                 int1 = startLocation
                 int2 = endLocation
             },
-            { "location ($str1): $int1 -> $int2" }
+            { "location ($str1): $int1 -> $int2" },
         )
     }
 
-    fun logMediaHostAttachment(host: Int) {
-        buffer.log(TAG, LogLevel.DEBUG, { int1 = host }, { "Host (updateHostAttachment): $int1" })
+    fun logMediaHostAttachment(host: Int, visible: Boolean?) {
+        buffer.log(
+            TAG,
+            LogLevel.DEBUG,
+            {
+                int1 = host
+                str1 = visible.toString()
+            },
+            { "Host (updateHostAttachment): $int1 visible $str1" },
+        )
+    }
+
+    fun logUserVisibilityChange(shadeVisible: Boolean, mediaVisible: Boolean) {
+        buffer.log(
+            TAG,
+            LogLevel.DEBUG,
+            {
+                bool1 = shadeVisible
+                bool2 = mediaVisible
+            },
+            { "User visibility shade: $shadeVisible media: $mediaVisible" },
+        )
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/view/MediaCarouselScrollHandler.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/view/MediaCarouselScrollHandler.kt
index 0107a52..9cf4a7b 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/view/MediaCarouselScrollHandler.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/view/MediaCarouselScrollHandler.kt
@@ -64,7 +64,6 @@
     private var seekBarUpdateListener: (visibleToUser: Boolean) -> Unit,
     private val closeGuts: (immediate: Boolean) -> Unit,
     private val falsingManager: FalsingManager,
-    private val logSmartspaceImpression: (Boolean) -> Unit,
     private val logger: MediaUiEventLogger,
 ) {
     /** Trace state logger for media carousel visibility */
@@ -480,7 +479,6 @@
             val oldIndex = visibleMediaIndex
             visibleMediaIndex = newIndex
             if (oldIndex != visibleMediaIndex && visibleToUser) {
-                logSmartspaceImpression(qsExpanded)
                 logger.logMediaCarouselPage(newIndex)
             }
             closeGuts(false)
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/view/MediaHost.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/view/MediaHost.kt
index 11251cd..a518349 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/view/MediaHost.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/view/MediaHost.kt
@@ -208,6 +208,7 @@
      * the visibility has changed
      */
     fun updateViewVisibility() {
+        val oldState = state.visible
         state.visible =
             if (mediaCarouselController.isLockedAndHidden()) {
                 false
@@ -217,9 +218,9 @@
                 mediaDataManager.hasAnyMediaOrRecommendation()
             }
         val newVisibility = if (visible) View.VISIBLE else View.GONE
-        if (newVisibility != hostView.visibility) {
+        if (oldState != state.visible || newVisibility != hostView.visibility) {
             hostView.visibility = newVisibility
-            debugLogger.logMediaHostVisibility(location, visible)
+            debugLogger.logMediaHostVisibility(location, visible, oldState)
             visibleChangedListeners.forEach { it.invoke(visible) }
         }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/viewmodel/MediaCarouselViewModel.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/viewmodel/MediaCarouselViewModel.kt
index 4bdcfea6..e5f1766 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/viewmodel/MediaCarouselViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/viewmodel/MediaCarouselViewModel.kt
@@ -25,7 +25,6 @@
 import com.android.systemui.media.controls.domain.pipeline.interactor.factory.MediaControlInteractorFactory
 import com.android.systemui.media.controls.shared.MediaLogger
 import com.android.systemui.media.controls.shared.model.MediaCommonModel
-import com.android.systemui.media.controls.util.MediaFlags
 import com.android.systemui.media.controls.util.MediaUiEventLogger
 import com.android.systemui.statusbar.notification.collection.provider.VisualStabilityProvider
 import com.android.systemui.util.Utils
@@ -52,7 +51,6 @@
     private val controlInteractorFactory: MediaControlInteractorFactory,
     private val recommendationsViewModel: MediaRecommendationsViewModel,
     private val logger: MediaUiEventLogger,
-    private val mediaFlags: MediaFlags,
     private val mediaLogger: MediaLogger,
 ) {
 
@@ -103,9 +101,9 @@
 
     private var allowReorder = false
 
-    fun onSwipeToDismiss(location: Int) {
+    fun onSwipeToDismiss() {
         logger.logSwipeDismiss()
-        interactor.onSwipeToDismiss(location)
+        interactor.onSwipeToDismiss()
     }
 
     fun onReorderingAllowed() {
@@ -113,17 +111,6 @@
         interactor.reorderMedia()
     }
 
-    fun onCardVisibleToUser(
-        qsExpanded: Boolean,
-        visibleIndex: Int,
-        location: Int,
-        isUpdate: Boolean = false,
-    ) {
-        // Skip logging if on LS or QQS, and there is no active media card
-        if (!qsExpanded && !interactor.hasActiveMediaOrRecommendation()) return
-        interactor.logSmartspaceSeenCard(visibleIndex, location, isUpdate)
-    }
-
     private fun toViewModel(
         commonModel: MediaCommonModel.MediaControl
     ): MediaCommonViewModel.MediaControl {
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/viewmodel/MediaControlViewModel.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/viewmodel/MediaControlViewModel.kt
index bcda485..015274a 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/viewmodel/MediaControlViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/viewmodel/MediaControlViewModel.kt
@@ -35,8 +35,6 @@
 import com.android.systemui.media.controls.shared.model.MediaControlModel
 import com.android.systemui.media.controls.ui.controller.MediaHierarchyManager
 import com.android.systemui.media.controls.ui.controller.MediaLocation
-import com.android.systemui.media.controls.util.MediaSmartspaceLogger.Companion.SMARTSPACE_CARD_CLICK_EVENT
-import com.android.systemui.media.controls.util.MediaSmartspaceLogger.Companion.SMARTSPACE_CARD_DISMISS_EVENT
 import com.android.systemui.media.controls.util.MediaUiEventLogger
 import com.android.systemui.res.R
 import java.util.concurrent.Executor
@@ -90,13 +88,7 @@
         instanceId: InstanceId,
     ) {
         logger.logLongPressDismiss(uid, packageName, instanceId)
-        interactor.removeMediaControl(
-            token,
-            instanceId,
-            MEDIA_PLAYER_ANIMATION_DELAY,
-            SMARTSPACE_CARD_DISMISS_EVENT,
-            location,
-        )
+        interactor.removeMediaControl(token, instanceId, MEDIA_PLAYER_ANIMATION_DELAY)
     }
 
     private fun toViewModel(model: MediaControlModel): MediaPlayerViewModel {
@@ -141,21 +133,13 @@
             onClicked = { expandable ->
                 model.clickIntent?.let { clickIntent ->
                     logger.logTapContentView(model.uid, model.packageName, model.instanceId)
-                    interactor.startClickIntent(
-                        expandable,
-                        clickIntent,
-                        SMARTSPACE_CARD_CLICK_EVENT,
-                        location,
-                    )
+                    interactor.startClickIntent(expandable, clickIntent)
                 }
             },
             onLongClicked = {
                 logger.logLongPressOpen(model.uid, model.packageName, model.instanceId)
             },
-            onSeek = {
-                logger.logSeek(model.uid, model.packageName, model.instanceId)
-                interactor.logSmartspaceUserEvent(SMARTSPACE_CARD_CLICK_EVENT, location)
-            },
+            onSeek = { logger.logSeek(model.uid, model.packageName, model.instanceId) },
             onBindSeekbar = { seekBarViewModel ->
                 if (model.isResume && model.resumeProgress != null) {
                     seekBarViewModel.updateStaticProgress(model.resumeProgress)
@@ -366,7 +350,6 @@
         action: Runnable,
     ) {
         logger.logTapAction(id, uid, packageName, instanceId)
-        interactor.logSmartspaceUserEvent(SMARTSPACE_CARD_CLICK_EVENT, location)
         isAnyButtonClicked = true
         action.run()
     }
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/viewmodel/MediaRecommendationsViewModel.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/viewmodel/MediaRecommendationsViewModel.kt
index 88cfbaf..90313dd 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/viewmodel/MediaRecommendationsViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/viewmodel/MediaRecommendationsViewModel.kt
@@ -30,13 +30,10 @@
 import com.android.systemui.media.controls.domain.pipeline.interactor.MediaRecommendationsInteractor
 import com.android.systemui.media.controls.shared.model.MediaRecModel
 import com.android.systemui.media.controls.shared.model.MediaRecommendationsModel
-import com.android.systemui.media.controls.shared.model.NUM_REQUIRED_RECOMMENDATIONS
 import com.android.systemui.media.controls.ui.controller.MediaHierarchyManager
 import com.android.systemui.media.controls.ui.controller.MediaLocation
 import com.android.systemui.media.controls.ui.controller.MediaViewController.Companion.GUTS_ANIMATION_DURATION
 import com.android.systemui.media.controls.util.MediaDataUtils
-import com.android.systemui.media.controls.util.MediaSmartspaceLogger.Companion.SMARTSPACE_CARD_CLICK_EVENT
-import com.android.systemui.media.controls.util.MediaSmartspaceLogger.Companion.SMARTSPACE_CARD_DISMISS_EVENT
 import com.android.systemui.media.controls.util.MediaUiEventLogger
 import com.android.systemui.res.R
 import javax.inject.Inject
@@ -77,13 +74,7 @@
         instanceId: InstanceId?,
     ) {
         logger.logLongPressDismiss(uid, packageName, instanceId)
-        interactor.removeMediaRecommendations(
-            key,
-            dismissIntent,
-            GUTS_DISMISS_DELAY_MS_DURATION,
-            SMARTSPACE_CARD_DISMISS_EVENT,
-            location,
-        )
+        interactor.removeMediaRecommendations(key, dismissIntent, GUTS_DISMISS_DELAY_MS_DURATION)
     }
 
     private fun onClicked(
@@ -107,14 +98,7 @@
         // set the package name of the player added by recommendation once the media is loaded.
         interactor.switchToMediaControl(packageName)
 
-        interactor.startClickIntent(
-            expandable,
-            intent,
-            SMARTSPACE_CARD_CLICK_EVENT,
-            location,
-            index,
-            NUM_REQUIRED_RECOMMENDATIONS,
-        )
+        interactor.startClickIntent(expandable, intent)
     }
 
     private suspend fun toRecsViewModel(model: MediaRecommendationsModel): MediaRecsCardViewModel? {
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/viewmodel/SeekBarViewModel.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/viewmodel/SeekBarViewModel.kt
index 1e99697..a1f0cc3 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/viewmodel/SeekBarViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/viewmodel/SeekBarViewModel.kt
@@ -16,11 +16,15 @@
 
 package com.android.systemui.media.controls.ui.viewmodel
 
+import android.icu.text.MeasureFormat
+import android.icu.util.Measure
+import android.icu.util.MeasureUnit
 import android.media.MediaMetadata
 import android.media.session.MediaController
 import android.media.session.PlaybackState
 import android.os.SystemClock
 import android.os.Trace
+import android.text.format.DateUtils
 import android.view.GestureDetector
 import android.view.MotionEvent
 import android.view.View
@@ -38,11 +42,14 @@
 import com.android.systemui.plugins.FalsingManager
 import com.android.systemui.statusbar.NotificationMediaManager
 import com.android.systemui.util.concurrency.RepeatableExecutor
+import java.util.Locale
 import javax.inject.Inject
 import kotlin.math.abs
 
-private const val POSITION_UPDATE_INTERVAL_MILLIS = 100L
+private const val POSITION_UPDATE_INTERVAL_MILLIS = 500L
 private const val MIN_FLING_VELOCITY_SCALE_FACTOR = 10
+private const val MIN_IN_SEC = 60
+private const val HOUR_IN_SEC = MIN_IN_SEC * 60
 
 private const val TRACE_POSITION_NAME = "SeekBarPollingPosition"
 
@@ -97,11 +104,20 @@
         )
         set(value) {
             val enabledChanged = value.enabled != field.enabled
-            field = value
             if (enabledChanged) {
                 enabledChangeListener?.onEnabledChanged(value.enabled)
             }
-            _progress.postValue(value)
+            bgExecutor.execute {
+                val durationDescription = formatTimeContentDescription(value.duration)
+                val elapsedDescription =
+                    value.elapsedTime?.let { formatTimeContentDescription(it) } ?: ""
+                field =
+                    value.copy(
+                        durationDescription = durationDescription,
+                        elapsedTimeDescription = elapsedDescription,
+                    )
+                _progress.postValue(field)
+            }
         }
 
     private val _progress = MutableLiveData<Progress>().apply { postValue(_data) }
@@ -253,7 +269,8 @@
                 playbackState?.state ?: PlaybackState.STATE_NONE
             )
         _data = Progress(enabled, seekAvailable, playing, scrubbing, position, duration, listening)
-        checkIfPollingNeeded()
+        // No need to update since we just set the progress info
+        checkIfPollingNeeded(requireUpdate = false)
     }
 
     /**
@@ -311,8 +328,13 @@
         }
     }
 
+    /**
+     * Begin polling if needed given the current seekbar state
+     *
+     * @param requireUpdate If true, update the playback position without beginning polling
+     */
     @WorkerThread
-    private fun checkIfPollingNeeded() {
+    private fun checkIfPollingNeeded(requireUpdate: Boolean = true) {
         val needed = listening && !scrubbing && playbackState?.isInMotion() ?: false
         val traceCookie = controller?.sessionToken.hashCode()
         if (needed) {
@@ -329,7 +351,7 @@
                     Trace.endAsyncSection(TRACE_POSITION_NAME, traceCookie)
                 }
             }
-        } else {
+        } else if (requireUpdate) {
             checkPlaybackPosition()
             cancel?.run()
             cancel = null
@@ -399,6 +421,43 @@
             abs(firstMotionEvent!!.y - lastMotionEvent!!.y)
     }
 
+    /**
+     * Returns a time string suitable for content description, e.g. "12 minutes 34 seconds"
+     *
+     * Follows same logic as Chronometer#formatDuration
+     */
+    private fun formatTimeContentDescription(milliseconds: Int): CharSequence {
+        var seconds = milliseconds / DateUtils.SECOND_IN_MILLIS
+
+        val hours =
+            if (seconds >= HOUR_IN_SEC) {
+                seconds / HOUR_IN_SEC
+            } else {
+                0
+            }
+        seconds -= hours * HOUR_IN_SEC
+
+        val minutes =
+            if (seconds >= MIN_IN_SEC) {
+                seconds / MIN_IN_SEC
+            } else {
+                0
+            }
+        seconds -= minutes * MIN_IN_SEC
+
+        val measures = arrayListOf<Measure>()
+        if (hours > 0) {
+            measures.add(Measure(hours, MeasureUnit.HOUR))
+        }
+        if (minutes > 0) {
+            measures.add(Measure(minutes, MeasureUnit.MINUTE))
+        }
+        measures.add(Measure(seconds, MeasureUnit.SECOND))
+
+        return MeasureFormat.getInstance(Locale.getDefault(), MeasureFormat.FormatWidth.WIDE)
+            .formatMeasures(*measures.toTypedArray())
+    }
+
     /** Listener interface to be notified when the user starts or stops scrubbing. */
     interface ScrubbingChangeListener {
         fun onScrubbingChanged(scrubbing: Boolean)
@@ -580,5 +639,7 @@
         val duration: Int,
         /** whether seekBar is listening to progress updates */
         val listening: Boolean,
+        val elapsedTimeDescription: CharSequence = "",
+        val durationDescription: CharSequence = "",
     )
 }
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaSmartspaceLogger.kt b/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaSmartspaceLogger.kt
deleted file mode 100644
index 9c59aa2..0000000
--- a/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaSmartspaceLogger.kt
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.media.controls.util
-
-import android.util.Log
-import com.android.systemui.dagger.SysUISingleton
-import com.android.systemui.media.controls.ui.controller.MediaHierarchyManager
-import com.android.systemui.scene.shared.flag.SceneContainerFlag
-import com.android.systemui.shared.system.SysUiStatsLog
-import javax.inject.Inject
-
-/** Logger class for Smartspace logging events. */
-@SysUISingleton
-class MediaSmartspaceLogger @Inject constructor() {
-    /**
-     * Log Smartspace card received event
-     *
-     * @param instanceId id to uniquely identify a card.
-     * @param uid uid for the application that media comes from.
-     * @param cardinality number of card in carousel.
-     * @param isRecommendationCard whether media card being logged is a recommendations card.
-     * @param isSsReactivated indicates resume media card is reactivated by Smartspace
-     *   recommendation signal
-     * @param rank the rank for media card in the media carousel, starting from 0
-     * @param receivedLatencyMillis latency in milliseconds for card received events.
-     */
-    fun logSmartspaceCardReceived(
-        instanceId: Int,
-        uid: Int,
-        cardinality: Int,
-        isRecommendationCard: Boolean = false,
-        isSsReactivated: Boolean = false,
-        rank: Int = 0,
-        receivedLatencyMillis: Int = 0,
-    ) {
-        logSmartspaceCardReported(
-            SMARTSPACE_CARD_RECEIVED_EVENT,
-            instanceId,
-            uid,
-            surfaces =
-                intArrayOf(
-                    SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__SHADE,
-                    SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__LOCKSCREEN,
-                    SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__DREAM_OVERLAY,
-                ),
-            cardinality,
-            isRecommendationCard,
-            isSsReactivated,
-            rank = rank,
-            receivedLatencyMillis = receivedLatencyMillis,
-        )
-    }
-
-    /**
-     * Log Smartspace card UI event
-     *
-     * @param eventId id of the event. eg: dismiss, click, or seen.
-     * @param instanceId id to uniquely identify a card.
-     * @param uid uid for the application that media comes from.
-     * @param surface location of media carousel holding media card.
-     * @param cardinality number of card in carousel.
-     * @param isRecommendationCard whether media card being logged is a recommendations card.
-     * @param isSsReactivated indicates resume media card is reactivated by Smartspace
-     *   recommendation signal
-     * @param rank the rank for media card in the media carousel, starting from 0
-     * @param isSwipeToDismiss whether is to log swipe-to-dismiss event
-     */
-    fun logSmartspaceCardUIEvent(
-        eventId: Int,
-        instanceId: Int,
-        uid: Int,
-        surface: Int,
-        cardinality: Int,
-        isRecommendationCard: Boolean = false,
-        isSsReactivated: Boolean = false,
-        interactedSubcardRank: Int = 0,
-        interactedSubcardCardinality: Int = 0,
-        rank: Int = 0,
-        isSwipeToDismiss: Boolean = false,
-    ) {
-        logSmartspaceCardReported(
-            eventId,
-            instanceId,
-            uid,
-            surfaces = intArrayOf(surface),
-            cardinality,
-            isRecommendationCard,
-            isSsReactivated,
-            interactedSubcardRank,
-            interactedSubcardCardinality,
-            rank = rank,
-            isSwipeToDismiss = isSwipeToDismiss,
-        )
-    }
-
-    /**
-     * Log Smartspace events
-     *
-     * @param eventId UI event id (e.g. 800 for SMARTSPACE_CARD_SEEN)
-     * @param instanceId id to uniquely identify a card, e.g. each headphone generates a new
-     *   instanceId
-     * @param uid uid for the application that media comes from
-     * @param surfaces list of display surfaces the media card is on (e.g. lockscreen, shade) when
-     *   the event happened
-     * @param cardinality number of card in carousel.
-     * @param isRecommendationCard whether media card being logged is a recommendations card.
-     * @param isSsReactivated indicates resume media card is reactivated by Smartspace
-     *   recommendation signal
-     * @param interactedSubcardRank the rank for interacted media item for recommendation card, -1
-     *   for tapping on card but not on any media item, 0 for first media item, 1 for second, etc.
-     * @param interactedSubcardCardinality how many media items were shown to the user when there is
-     *   user interaction
-     * @param rank the rank for media card in the media carousel, starting from 0
-     * @param receivedLatencyMillis latency in milliseconds for card received events. E.g. latency
-     *   between headphone connection to sysUI displays media recommendation card
-     * @param isSwipeToDismiss whether is to log swipe-to-dismiss event
-     */
-    private fun logSmartspaceCardReported(
-        eventId: Int,
-        instanceId: Int,
-        uid: Int,
-        surfaces: IntArray,
-        cardinality: Int,
-        isRecommendationCard: Boolean,
-        isSsReactivated: Boolean,
-        interactedSubcardRank: Int = 0,
-        interactedSubcardCardinality: Int = 0,
-        rank: Int = 0,
-        receivedLatencyMillis: Int = 0,
-        isSwipeToDismiss: Boolean = false,
-    ) {
-        surfaces.forEach { surface ->
-            SysUiStatsLog.write(
-                SysUiStatsLog.SMARTSPACE_CARD_REPORTED,
-                eventId,
-                instanceId,
-                // Deprecated, replaced with AiAi feature type so we don't need to create logging
-                // card type for each new feature.
-                SysUiStatsLog.SMART_SPACE_CARD_REPORTED__CARD_TYPE__UNKNOWN_CARD,
-                surface,
-                // Use -1 as rank value to indicate user swipe to dismiss the card
-                if (isSwipeToDismiss) -1 else rank,
-                cardinality,
-                if (isRecommendationCard) {
-                    15 // MEDIA_RECOMMENDATION
-                } else if (isSsReactivated) {
-                    43 // MEDIA_RESUME_SS_ACTIVATED
-                } else {
-                    31 // MEDIA_RESUME
-                },
-                uid,
-                interactedSubcardRank,
-                interactedSubcardCardinality,
-                receivedLatencyMillis,
-                null, // Media cards cannot have subcards.
-                null // Media cards don't have dimensions today.
-            )
-
-            if (DEBUG) {
-                Log.d(
-                    TAG,
-                    "Log Smartspace card event id: $eventId instance id: $instanceId" +
-                        " surface: $surface rank: $rank cardinality: $cardinality " +
-                        "isRecommendationCard: $isRecommendationCard " +
-                        "isSsReactivated: $isSsReactivated" +
-                        "uid: $uid " +
-                        "interactedSubcardRank: $interactedSubcardRank " +
-                        "interactedSubcardCardinality: $interactedSubcardCardinality " +
-                        "received_latency_millis: $receivedLatencyMillis"
-                )
-            }
-        }
-    }
-
-    companion object {
-        private const val TAG = "MediaSmartspaceLogger"
-        private val DEBUG = Log.isLoggable(TAG, Log.DEBUG)
-        private const val SMARTSPACE_CARD_RECEIVED_EVENT = 759
-        const val SMARTSPACE_CARD_CLICK_EVENT = 760
-        const val SMARTSPACE_CARD_DISMISS_EVENT = 761
-        const val SMARTSPACE_CARD_SEEN_EVENT = 800
-
-        /**
-         * Get the location of media view given [currentEndLocation]
-         *
-         * @return location used for Smartspace logging
-         */
-        fun getSurface(location: Int): Int {
-            SceneContainerFlag.isUnexpectedlyInLegacyMode()
-            return when (location) {
-                MediaHierarchyManager.LOCATION_QQS,
-                MediaHierarchyManager.LOCATION_QS -> {
-                    SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__SHADE
-                }
-                MediaHierarchyManager.LOCATION_LOCKSCREEN -> {
-                    SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__LOCKSCREEN
-                }
-                MediaHierarchyManager.LOCATION_DREAM_OVERLAY -> {
-                    SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__DREAM_OVERLAY
-                }
-                else -> SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__DEFAULT_SURFACE
-            }
-        }
-    }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/util/SmallHash.java b/packages/SystemUI/src/com/android/systemui/media/controls/util/SmallHash.java
deleted file mode 100644
index 97483a6..0000000
--- a/packages/SystemUI/src/com/android/systemui/media/controls/util/SmallHash.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.media.controls.util;
-
-import java.util.Objects;
-
-/**
- * A simple hash function for use in privacy-sensitive logging.
- */
-public final class SmallHash {
-    // Hashes will be in the range [0, MAX_HASH).
-    public static final int MAX_HASH = (1 << 13);
-
-    /** Return Small hash of the string, if non-null, or 0 otherwise. */
-    public static int hash(String in) {
-        return hash(Objects.hashCode(in));
-    }
-
-    /**
-     * Maps in to the range [0, MAX_HASH), keeping similar values distinct.
-     *
-     * @param in An arbitrary integer.
-     * @return in mod MAX_HASH, signs chosen to stay in the range [0, MAX_HASH).
-     */
-    public static int hash(int in) {
-        return Math.abs(Math.floorMod(in, MAX_HASH));
-    }
-
-    private SmallHash() {}
-}
diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaSwitchingController.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaSwitchingController.java
index 9d37580..1f2f571 100644
--- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaSwitchingController.java
+++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaSwitchingController.java
@@ -648,6 +648,10 @@
             final MediaDevice connectedMediaDevice =
                     needToHandleMutingExpectedDevice ? null
                             : getCurrentConnectedMediaDevice();
+
+            Set<String> selectedDevicesIds = getSelectedMediaDevice().stream()
+                    .map(MediaDevice::getId)
+                    .collect(Collectors.toSet());
             if (oldMediaItems.isEmpty()) {
                 if (connectedMediaDevice == null) {
                     if (DEBUG) {
@@ -656,12 +660,14 @@
                     return categorizeMediaItemsLocked(
                             /* connectedMediaDevice */ null,
                             devices,
+                            selectedDevicesIds,
                             needToHandleMutingExpectedDevice);
                 } else {
                     // selected device exist
                     return categorizeMediaItemsLocked(
                             connectedMediaDevice,
                             devices,
+                            selectedDevicesIds,
                             /* needToHandleMutingExpectedDevice */ false);
                 }
             }
@@ -695,9 +701,20 @@
                 devices.removeAll(targetMediaDevices);
                 targetMediaDevices.addAll(devices);
             }
-            List<MediaItem> finalMediaItems = targetMediaDevices.stream()
-                    .map(MediaItem::createDeviceMediaItem)
-                    .collect(Collectors.toList());
+            List<MediaItem> finalMediaItems = new ArrayList<>();
+            boolean shouldAddFirstSeenSelectedDevice =
+                    com.android.media.flags.Flags.enableOutputSwitcherDeviceGrouping();
+            for (MediaDevice targetMediaDevice : targetMediaDevices) {
+                if (shouldAddFirstSeenSelectedDevice
+                        && selectedDevicesIds.contains(targetMediaDevice.getId())) {
+                    finalMediaItems.add(MediaItem.createDeviceMediaItem(
+                            targetMediaDevice, /* isFirstDeviceInGroup */ true));
+                    shouldAddFirstSeenSelectedDevice = false;
+                } else {
+                    finalMediaItems.add(MediaItem.createDeviceMediaItem(
+                            targetMediaDevice, /* isFirstDeviceInGroup */ false));
+                }
+            }
             dividerItems.forEach(finalMediaItems::add);
             attachConnectNewDeviceItemIfNeeded(finalMediaItems);
             return finalMediaItems;
@@ -724,11 +741,9 @@
     @GuardedBy("mMediaDevicesLock")
     private List<MediaItem> categorizeMediaItemsLocked(MediaDevice connectedMediaDevice,
             List<MediaDevice> devices,
+            Set<String> selectedDevicesIds,
             boolean needToHandleMutingExpectedDevice) {
         List<MediaItem> finalMediaItems = new ArrayList<>();
-        Set<String> selectedDevicesIds = getSelectedMediaDevice().stream()
-                .map(MediaDevice::getId)
-                .collect(Collectors.toSet());
         if (connectedMediaDevice != null) {
             selectedDevicesIds.add(connectedMediaDevice.getId());
         }
diff --git a/packages/SystemUI/src/com/android/systemui/media/taptotransfer/sender/MediaTttSenderCoordinator.kt b/packages/SystemUI/src/com/android/systemui/media/taptotransfer/sender/MediaTttSenderCoordinator.kt
index 6ca0471..469bec7 100644
--- a/packages/SystemUI/src/com/android/systemui/media/taptotransfer/sender/MediaTttSenderCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/taptotransfer/sender/MediaTttSenderCoordinator.kt
@@ -24,7 +24,6 @@
 import com.android.internal.logging.UiEventLogger
 import com.android.internal.statusbar.IUndoMediaTransferCallback
 import com.android.systemui.CoreStartable
-import com.android.systemui.Dumpable
 import com.android.systemui.common.shared.model.Text
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.dump.DumpManager
@@ -53,7 +52,7 @@
     private val dumpManager: DumpManager,
     private val logger: MediaTttSenderLogger,
     private val uiEventLogger: MediaTttSenderUiEventLogger,
-) : CoreStartable, Dumpable {
+) : CoreStartable {
 
     // Since the media transfer display is similar to a heads-up notification, use the same timeout.
     private val defaultTimeout = context.resources.getInteger(R.integer.heads_up_notification_decay)
diff --git a/packages/SystemUI/src/com/android/systemui/model/SysUiState.java b/packages/SystemUI/src/com/android/systemui/model/SysUiState.java
deleted file mode 100644
index 1a5e605..0000000
--- a/packages/SystemUI/src/com/android/systemui/model/SysUiState.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.model;
-
-import android.annotation.NonNull;
-import android.util.Log;
-
-import com.android.systemui.Dumpable;
-import com.android.systemui.dagger.SysUISingleton;
-import com.android.systemui.settings.DisplayTracker;
-import com.android.systemui.shared.system.QuickStepContract;
-import com.android.systemui.shared.system.QuickStepContract.SystemUiStateFlags;
-
-import dalvik.annotation.optimization.NeverCompile;
-
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Contains sysUi state flags and notifies registered
- * listeners whenever changes happen.
- */
-@SysUISingleton
-public class SysUiState implements Dumpable {
-
-    private static final String TAG = SysUiState.class.getSimpleName();
-    public static final boolean DEBUG = false;
-
-    private final DisplayTracker mDisplayTracker;
-    private final SceneContainerPlugin mSceneContainerPlugin;
-    private @SystemUiStateFlags long mFlags;
-    private final List<SysUiStateCallback> mCallbacks = new ArrayList<>();
-    private long mFlagsToSet = 0;
-    private long mFlagsToClear = 0;
-
-    public SysUiState(DisplayTracker displayTracker, SceneContainerPlugin sceneContainerPlugin) {
-        mDisplayTracker = displayTracker;
-        mSceneContainerPlugin = sceneContainerPlugin;
-    }
-
-    /**
-     * Add listener to be notified of changes made to SysUI state.
-     * The callback will also be called as part of this function.
-     */
-    public void addCallback(@NonNull SysUiStateCallback callback) {
-        mCallbacks.add(callback);
-        callback.onSystemUiStateChanged(mFlags);
-    }
-
-    /** Callback will no longer receive events on state change */
-    public void removeCallback(@NonNull SysUiStateCallback callback) {
-        mCallbacks.remove(callback);
-    }
-
-    /** Returns the current sysui state flags. */
-    @SystemUiStateFlags
-    public long getFlags() {
-        return mFlags;
-    }
-
-    public boolean isFlagEnabled(@SystemUiStateFlags long flag) {
-        return (mFlags & flag) != 0;
-    }
-
-    /** Methods to this call can be chained together before calling {@link #commitUpdate(int)}. */
-    public SysUiState setFlag(@SystemUiStateFlags long flag, boolean enabled) {
-        final Boolean overrideOrNull = mSceneContainerPlugin != null
-                ? mSceneContainerPlugin.flagValueOverride(flag) : null;
-        if (overrideOrNull != null && enabled != overrideOrNull) {
-            if (DEBUG) {
-                Log.d(TAG, "setFlag for flag " + flag + " and value " + enabled + " overridden to "
-                        + overrideOrNull + " by scene container plugin");
-            }
-
-            enabled = overrideOrNull;
-        }
-
-        if (enabled) {
-            mFlagsToSet |= flag;
-        } else {
-            mFlagsToClear |= flag;
-        }
-        return this;
-    }
-
-    /** Call to save all the flags updated from {@link #setFlag(long, boolean)}. */
-    public void commitUpdate(int displayId) {
-        updateFlags(displayId);
-        mFlagsToSet = 0;
-        mFlagsToClear = 0;
-    }
-
-    private void updateFlags(int displayId) {
-        if (displayId != mDisplayTracker.getDefaultDisplayId()) {
-            // Ignore non-default displays for now
-            Log.w(TAG, "Ignoring flag update for display: " + displayId, new Throwable());
-            return;
-        }
-
-        long newState = mFlags;
-        newState |= mFlagsToSet;
-        newState &= ~mFlagsToClear;
-        notifyAndSetSystemUiStateChanged(newState, mFlags);
-    }
-
-    /** Notify all those who are registered that the state has changed. */
-    private void notifyAndSetSystemUiStateChanged(long newFlags, long oldFlags) {
-        if (DEBUG) {
-            Log.d(TAG, "SysUiState changed: old=" + oldFlags + " new=" + newFlags);
-        }
-        if (newFlags != oldFlags) {
-            mCallbacks.forEach(callback -> callback.onSystemUiStateChanged(newFlags));
-            mFlags = newFlags;
-        }
-    }
-
-    @NeverCompile
-    @Override
-    public void dump(PrintWriter pw, String[] args) {
-        pw.println("SysUiState state:");
-        pw.print("  mSysUiStateFlags="); pw.println(mFlags);
-        pw.println("    " + QuickStepContract.getSystemUiStateString(mFlags));
-        pw.print("    backGestureDisabled=");
-        pw.println(QuickStepContract.isBackGestureDisabled(mFlags, false /* forTrackpad */));
-        pw.print("    assistantGestureDisabled=");
-        pw.println(QuickStepContract.isAssistantGestureDisabled(mFlags));
-    }
-
-    /** Callback to be notified whenever system UI state flags are changed. */
-    public interface SysUiStateCallback{
-        /** To be called when any SysUiStateFlag gets updated */
-        void onSystemUiStateChanged(@SystemUiStateFlags long sysUiFlags);
-    }
-}
-
-
diff --git a/packages/SystemUI/src/com/android/systemui/model/SysUiState.kt b/packages/SystemUI/src/com/android/systemui/model/SysUiState.kt
new file mode 100644
index 0000000..ed190a1
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/model/SysUiState.kt
@@ -0,0 +1,140 @@
+/*
+ * 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.model
+
+import android.util.Log
+import com.android.systemui.Dumpable
+import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.settings.DisplayTracker
+import com.android.systemui.shared.system.QuickStepContract
+import com.android.systemui.shared.system.QuickStepContract.SystemUiStateFlags
+import dalvik.annotation.optimization.NeverCompile
+import java.io.PrintWriter
+
+/** Contains sysUi state flags and notifies registered listeners whenever changes happen. */
+@SysUISingleton
+class SysUiState(
+    private val displayTracker: DisplayTracker,
+    private val sceneContainerPlugin: SceneContainerPlugin?,
+) : Dumpable {
+    /** Returns the current sysui state flags. */
+    @get:SystemUiStateFlags
+    @SystemUiStateFlags
+    var flags: Long = 0
+        private set
+
+    private val callbacks: MutableList<SysUiStateCallback> = ArrayList()
+    private var flagsToSet: Long = 0
+    private var flagsToClear: Long = 0
+
+    /**
+     * Add listener to be notified of changes made to SysUI state. The callback will also be called
+     * as part of this function.
+     */
+    fun addCallback(callback: SysUiStateCallback) {
+        callbacks.add(callback)
+        callback.onSystemUiStateChanged(flags)
+    }
+
+    /** Callback will no longer receive events on state change */
+    fun removeCallback(callback: SysUiStateCallback) {
+        callbacks.remove(callback)
+    }
+
+    fun isFlagEnabled(@SystemUiStateFlags flag: Long): Boolean {
+        return (flags and flag) != 0L
+    }
+
+    /** Methods to this call can be chained together before calling [.commitUpdate]. */
+    fun setFlag(@SystemUiStateFlags flag: Long, enabled: Boolean): SysUiState {
+        var enabled = enabled
+        val overrideOrNull = sceneContainerPlugin?.flagValueOverride(flag)
+        if (overrideOrNull != null && enabled != overrideOrNull) {
+            if (DEBUG) {
+                Log.d(
+                    TAG,
+                    "setFlag for flag $flag and value $enabled overridden to $overrideOrNull by scene container plugin",
+                )
+            }
+
+            enabled = overrideOrNull
+        }
+
+        if (enabled) {
+            flagsToSet = flagsToSet or flag
+        } else {
+            flagsToClear = flagsToClear or flag
+        }
+        return this
+    }
+
+    /** Call to save all the flags updated from [.setFlag]. */
+    fun commitUpdate(displayId: Int) {
+        updateFlags(displayId)
+        flagsToSet = 0
+        flagsToClear = 0
+    }
+
+    private fun updateFlags(displayId: Int) {
+        if (displayId != displayTracker.defaultDisplayId) {
+            // Ignore non-default displays for now
+            Log.w(TAG, "Ignoring flag update for display: $displayId", Throwable())
+            return
+        }
+
+        var newState = flags
+        newState = newState or flagsToSet
+        newState = newState and flagsToClear.inv()
+        notifyAndSetSystemUiStateChanged(newState, flags)
+    }
+
+    /** Notify all those who are registered that the state has changed. */
+    private fun notifyAndSetSystemUiStateChanged(newFlags: Long, oldFlags: Long) {
+        if (DEBUG) {
+            Log.d(TAG, "SysUiState changed: old=$oldFlags new=$newFlags")
+        }
+        if (newFlags != oldFlags) {
+            callbacks.forEach { callback: SysUiStateCallback ->
+                callback.onSystemUiStateChanged(newFlags)
+            }
+
+            flags = newFlags
+        }
+    }
+
+    @NeverCompile
+    override fun dump(pw: PrintWriter, args: Array<String>) {
+        pw.println("SysUiState state:")
+        pw.print("  mSysUiStateFlags=")
+        pw.println(flags)
+        pw.println("    " + QuickStepContract.getSystemUiStateString(flags))
+        pw.print("    backGestureDisabled=")
+        pw.println(QuickStepContract.isBackGestureDisabled(flags, false /* forTrackpad */))
+        pw.print("    assistantGestureDisabled=")
+        pw.println(QuickStepContract.isAssistantGestureDisabled(flags))
+    }
+
+    /** Callback to be notified whenever system UI state flags are changed. */
+    interface SysUiStateCallback {
+        /** To be called when any SysUiStateFlag gets updated */
+        fun onSystemUiStateChanged(@SystemUiStateFlags sysUiFlags: Long)
+    }
+
+    companion object {
+        private val TAG: String = SysUiState::class.java.simpleName
+        const val DEBUG: Boolean = false
+    }
+}
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 6ad8bae..44c8dc3 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt
@@ -21,6 +21,7 @@
 import android.graphics.PointF
 import android.graphics.Rect
 import android.os.Bundle
+import android.os.Trace
 import android.util.IndentingPrintWriter
 import android.view.LayoutInflater
 import android.view.MotionEvent
@@ -112,6 +113,7 @@
 import com.android.systemui.plugins.qs.QSContainerController
 import com.android.systemui.qs.composefragment.SceneKeys.QuickQuickSettings
 import com.android.systemui.qs.composefragment.SceneKeys.QuickSettings
+import com.android.systemui.qs.composefragment.SceneKeys.debugName
 import com.android.systemui.qs.composefragment.SceneKeys.toIdleSceneKey
 import com.android.systemui.qs.composefragment.ui.GridAnchor
 import com.android.systemui.qs.composefragment.ui.NotificationScrimClipParams
@@ -252,8 +254,12 @@
                     Box(
                         modifier =
                             Modifier.graphicsLayer { alpha = viewModel.viewAlpha }
+                                .thenIf(notificationScrimClippingParams.isEnabled) {
+                                    Modifier.notificationScrimClip {
+                                        notificationScrimClippingParams.params
+                                    }
+                                }
                                 .thenIf(!Flags.notificationShadeBlur()) {
-                                    // Clipping before translation to match QSContainerImpl.onDraw
                                     Modifier.offset {
                                         IntOffset(
                                             x = 0,
@@ -261,11 +267,6 @@
                                         )
                                     }
                                 }
-                                .thenIf(notificationScrimClippingParams.isEnabled) {
-                                    Modifier.notificationScrimClip {
-                                        notificationScrimClippingParams.params
-                                    }
-                                }
                                 // Disable touches in the whole composable while the mirror is
                                 // showing. While the mirror is showing, an ancestor of the
                                 // ComposeView is made alpha 0, but touches are still being captured
@@ -286,6 +287,12 @@
      */
     @Composable
     private fun CollapsableQuickSettingsSTL() {
+        val nextCookie = remember {
+            object {
+                var value = 0
+            }
+        }
+        val transitionToCookie = remember { mutableMapOf<TransitionState.Transition, Int>() }
         val sceneState =
             rememberMutableSceneTransitionLayoutState(
                 initialScene = remember { viewModel.expansionState.toIdleSceneKey() },
@@ -299,6 +306,20 @@
                             toEditMode()
                         }
                     },
+                onTransitionStart = { transition ->
+                    val cookie = nextCookie.value++
+                    transitionToCookie[transition] = cookie
+                    Trace.beginAsyncSection(
+                        "CollapsableQuickSettingsSTL ${transition.debugName}",
+                        cookie,
+                    )
+                },
+                onTransitionEnd = { transition ->
+                    Trace.endAsyncSection(
+                        "CollapsableQuickSettingsSTL ${transition.debugName}",
+                        transitionToCookie.remove(transition) ?: -1,
+                    )
+                },
             )
 
         LaunchedEffect(Unit) {
@@ -312,20 +333,18 @@
         SceneTransitionLayout(state = sceneState, modifier = Modifier.fillMaxSize()) {
             scene(QuickSettings) {
                 LaunchedEffect(Unit) { viewModel.onQSOpen() }
-                QuickSettingsElement(Modifier.element(QuickSettings.rootElementKey))
+                Element(QuickSettings.rootElementKey, Modifier) { QuickSettingsElement() }
             }
 
             scene(QuickQuickSettings) {
                 LaunchedEffect(Unit) { viewModel.onQQSOpen() }
                 // Cannot pass the element modifier in because the top element has a `testTag`
                 // and this would overwrite it.
-                Box(Modifier.element(QuickQuickSettings.rootElementKey)) {
-                    QuickQuickSettingsElement()
-                }
+                Element(QuickQuickSettings.rootElementKey, Modifier) { QuickQuickSettingsElement() }
             }
 
             scene(SceneKeys.EditMode) {
-                EditModeElement(Modifier.element(SceneKeys.EditMode.rootElementKey))
+                Element(SceneKeys.EditMode.rootElementKey, Modifier) { EditModeElement() }
             }
         }
     }
@@ -656,10 +675,7 @@
                 )
         ) {
             if (viewModel.isQsEnabled) {
-                Box(
-                    modifier =
-                        Modifier.element(ElementKeys.QuickSettingsContent).fillMaxSize().weight(1f)
-                ) {
+                Element(ElementKeys.QuickSettingsContent, modifier = Modifier.weight(1f)) {
                     DisposableEffect(Unit) {
                         lifecycleScope.launch { scrollState.scrollTo(0) }
                         onDispose { lifecycleScope.launch { scrollState.scrollTo(0) } }
@@ -667,7 +683,8 @@
 
                     Column(
                         modifier =
-                            Modifier.onPlaced { coordinates ->
+                            Modifier.fillMaxSize()
+                                .onPlaced { coordinates ->
                                     val positionOnScreen = coordinates.positionOnScreen()
                                     val left = positionOnScreen.x
                                     val right = left + coordinates.size.width
@@ -744,13 +761,15 @@
                     }
                 }
                 QuickSettingsTheme {
-                    FooterActions(
-                        viewModel = viewModel.footerActionsViewModel,
-                        qsVisibilityLifecycleOwner = this@QSFragmentCompose,
-                        modifier =
-                            Modifier.sysuiResTag(ResIdTags.qsFooterActions)
-                                .element(ElementKeys.FooterActions),
-                    )
+                    Element(
+                        ElementKeys.FooterActions,
+                        Modifier.sysuiResTag(ResIdTags.qsFooterActions),
+                    ) {
+                        FooterActions(
+                            viewModel = viewModel.footerActionsViewModel,
+                            qsVisibilityLifecycleOwner = this@QSFragmentCompose,
+                        )
+                    }
                 }
             }
         }
@@ -857,6 +876,9 @@
     val QuickSettings = SceneKey("QuickSettingsScene")
     val EditMode = SceneKey("EditModeScene")
 
+    val TransitionState.Transition.debugName: String
+        get() = "[from=${fromContent.debugName}, to=${toContent.debugName}]"
+
     fun QSFragmentComposeViewModel.QSExpansionState.toIdleSceneKey(): SceneKey {
         return when {
             progress < 0.5f -> QuickQuickSettings
diff --git a/packages/SystemUI/src/com/android/systemui/qs/composefragment/ui/GridAnchor.kt b/packages/SystemUI/src/com/android/systemui/qs/composefragment/ui/GridAnchor.kt
index 266e875..19ad9fc 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/composefragment/ui/GridAnchor.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/composefragment/ui/GridAnchor.kt
@@ -16,7 +16,6 @@
 
 package com.android.systemui.qs.composefragment.ui
 
-import androidx.compose.foundation.layout.Spacer
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import com.android.compose.animation.scene.ContentScope
@@ -29,5 +28,5 @@
 @Composable
 fun ContentScope.GridAnchor(modifier: Modifier = Modifier) {
     // The size of this anchor does not matter, as the tiles don't change size on expansion.
-    Spacer(modifier.element(ElementKeys.GridAnchor))
+    Element(ElementKeys.GridAnchor, modifier) {}
 }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/QuickQuickSettings.kt b/packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/QuickQuickSettings.kt
index b084f79..495870f 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/QuickQuickSettings.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/QuickQuickSettings.kt
@@ -71,17 +71,19 @@
             val it = sizedTiles[spanIndex]
             val column = cellIndex % columns
             cellIndex += it.width
-            Tile(
-                tile = it.tile,
-                iconOnly = it.isIcon,
-                modifier = Modifier.element(it.tile.spec.toElementKey(spanIndex)),
-                squishiness = { squishiness },
-                coroutineScope = scope,
-                bounceableInfo = bounceables.bounceableInfo(it, spanIndex, column, columns),
-                tileHapticsViewModelFactoryProvider = viewModel.tileHapticsViewModelFactoryProvider,
-                // There should be no QuickQuickSettings when the details view is enabled.
-                detailsViewModel = null,
-            )
+            Element(it.tile.spec.toElementKey(spanIndex), Modifier) {
+                Tile(
+                    tile = it.tile,
+                    iconOnly = it.isIcon,
+                    squishiness = { squishiness },
+                    coroutineScope = scope,
+                    bounceableInfo = bounceables.bounceableInfo(it, spanIndex, column, columns),
+                    tileHapticsViewModelFactoryProvider =
+                        viewModel.tileHapticsViewModelFactoryProvider,
+                    // There should be no QuickQuickSettings when the details view is enabled.
+                    detailsViewModel = null,
+                )
+            }
         }
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/infinitegrid/InfiniteGridLayout.kt b/packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/infinitegrid/InfiniteGridLayout.kt
index 1c540ee..dfee4976 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/infinitegrid/InfiniteGridLayout.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/infinitegrid/InfiniteGridLayout.kt
@@ -99,16 +99,17 @@
             val it = sizedTiles[spanIndex]
             val column = cellIndex % columns
             cellIndex += it.width
-            Tile(
-                tile = it.tile,
-                iconOnly = iconTilesViewModel.isIconTile(it.tile.spec),
-                modifier = Modifier.element(it.tile.spec.toElementKey(spanIndex)),
-                squishiness = { squishiness },
-                tileHapticsViewModelFactoryProvider = tileHapticsViewModelFactoryProvider,
-                coroutineScope = scope,
-                bounceableInfo = bounceables.bounceableInfo(it, spanIndex, column, columns),
-                detailsViewModel = detailsViewModel,
-            )
+            Element(it.tile.spec.toElementKey(spanIndex), Modifier) {
+                Tile(
+                    tile = it.tile,
+                    iconOnly = iconTilesViewModel.isIconTile(it.tile.spec),
+                    squishiness = { squishiness },
+                    tileHapticsViewModelFactoryProvider = tileHapticsViewModelFactoryProvider,
+                    coroutineScope = scope,
+                    bounceableInfo = bounceables.bounceableInfo(it, spanIndex, column, columns),
+                    detailsViewModel = detailsViewModel,
+                )
+            }
         }
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractor.kt
index 609541b..c70a854 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/pipeline/domain/interactor/CurrentTilesInteractor.kt
@@ -20,6 +20,7 @@
 import android.content.Context
 import android.content.Intent
 import android.os.UserHandle
+import com.android.app.tracing.coroutines.launchTraced as launch
 import com.android.systemui.Dumpable
 import com.android.systemui.ProtoDumpable
 import com.android.systemui.dagger.SysUISingleton
@@ -62,7 +63,6 @@
 import kotlinx.coroutines.flow.first
 import kotlinx.coroutines.flow.flatMapLatest
 import kotlinx.coroutines.flow.flowOn
-import com.android.app.tracing.coroutines.launchTraced as launch
 import kotlinx.coroutines.withContext
 
 /**
@@ -245,7 +245,6 @@
                                         processExistingTile(
                                             tileSpec,
                                             specsToTiles.getValue(tileSpec),
-                                            userChanged,
                                             newUser,
                                         ) ?: createTile(tileSpec)
                                     } else {
@@ -378,7 +377,6 @@
     private fun processExistingTile(
         tileSpec: TileSpec,
         tileOrNotInstalled: TileOrNotInstalled,
-        userChanged: Boolean,
         user: Int,
     ): QSTile? {
         return when (tileOrNotInstalled) {
@@ -386,6 +384,10 @@
             is TileOrNotInstalled.Tile -> {
                 val qsTile = tileOrNotInstalled.tile
                 when {
+                    qsTile.isDestroyed -> {
+                        logger.logTileDestroyedIgnored(tileSpec)
+                        null
+                    }
                     !qsTile.isAvailable -> {
                         logger.logTileDestroyed(
                             tileSpec,
@@ -399,10 +401,11 @@
                     qsTile !is CustomTile -> {
                         // The tile is not a custom tile. Make sure they are reset to the correct
                         // user
-                        if (userChanged) {
+                        if (qsTile.currentTileUser != user) {
                             qsTile.userSwitch(user)
                             logger.logTileUserChanged(tileSpec, user)
                         }
+
                         qsTile
                     }
                     qsTile.user == user -> {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/pipeline/shared/logging/QSPipelineLogger.kt b/packages/SystemUI/src/com/android/systemui/qs/pipeline/shared/logging/QSPipelineLogger.kt
index e237ca9..21a8ec6 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/pipeline/shared/logging/QSPipelineLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/pipeline/shared/logging/QSPipelineLogger.kt
@@ -60,7 +60,7 @@
                 bool1 = usesDefault
                 int1 = user
             },
-            { "Parsed tiles (default=$bool1, user=$int1): $str1" }
+            { "Parsed tiles (default=$bool1, user=$int1): $str1" },
         )
     }
 
@@ -77,7 +77,7 @@
                 str2 = reconciledTiles.toString()
                 int1 = user
             },
-            { "Tiles restored and reconciled for user: $int1\nWas: $str1\nSet to: $str2" }
+            { "Tiles restored and reconciled for user: $int1\nWas: $str1\nSet to: $str2" },
         )
     }
 
@@ -94,7 +94,7 @@
                 str2 = newList.toString()
                 int1 = userId
             },
-            { "Processing $str1 for user $int1\nNew list: $str2" }
+            { "Processing $str1 for user $int1\nNew list: $str2" },
         )
     }
 
@@ -107,7 +107,16 @@
                 str1 = spec.toString()
                 str2 = reason.readable
             },
-            { "Tile $str1 destroyed. Reason: $str2" }
+            { "Tile $str1 destroyed. Reason: $str2" },
+        )
+    }
+
+    fun logTileDestroyedIgnored(spec: TileSpec) {
+        tileListLogBuffer.log(
+            TILE_LIST_TAG,
+            LogLevel.DEBUG,
+            { str1 = spec.toString() },
+            { "Tile $str1 ignored as it was already destroyed." },
         )
     }
 
@@ -117,7 +126,7 @@
             TILE_LIST_TAG,
             LogLevel.DEBUG,
             { str1 = spec.toString() },
-            { "Tile $str1 created" }
+            { "Tile $str1 created" },
         )
     }
 
@@ -127,7 +136,7 @@
             TILE_LIST_TAG,
             LogLevel.VERBOSE,
             { str1 = spec.toString() },
-            { "Tile $str1 not found in factory" }
+            { "Tile $str1 not found in factory" },
         )
     }
 
@@ -140,7 +149,7 @@
                 str1 = spec.toString()
                 int1 = user
             },
-            { "User changed to $int1 for tile $str1" }
+            { "User changed to $int1 for tile $str1" },
         )
     }
 
@@ -156,7 +165,7 @@
                 str1 = tiles.toString()
                 int1 = user
             },
-            { "Tiles kept for not installed packages for user $int1: $str1" }
+            { "Tiles kept for not installed packages for user $int1: $str1" },
         )
     }
 
@@ -168,7 +177,7 @@
                 str1 = tiles.toString()
                 int1 = userId
             },
-            { "Auto add tiles parsed for user $int1: $str1" }
+            { "Auto add tiles parsed for user $int1: $str1" },
         )
     }
 
@@ -180,7 +189,7 @@
                 str1 = tiles.toString()
                 int1 = userId
             },
-            { "Auto-add tiles reconciled for user $int1: $str1" }
+            { "Auto-add tiles reconciled for user $int1: $str1" },
         )
     }
 
@@ -193,7 +202,7 @@
                 int2 = position
                 str1 = spec.toString()
             },
-            { "Tile $str1 auto added for user $int1 at position $int2" }
+            { "Tile $str1 auto added for user $int1 at position $int2" },
         )
     }
 
@@ -205,7 +214,7 @@
                 int1 = userId
                 str1 = spec.toString()
             },
-            { "Tile $str1 auto removed for user $int1" }
+            { "Tile $str1 auto removed for user $int1" },
         )
     }
 
@@ -217,7 +226,7 @@
                 int1 = userId
                 str1 = spec.toString()
             },
-            { "Tile $str1 unmarked as auto-added for user $int1" }
+            { "Tile $str1 unmarked as auto-added for user $int1" },
         )
     }
 
@@ -226,7 +235,7 @@
             RESTORE_TAG,
             LogLevel.DEBUG,
             { int1 = userId },
-            { "Restored from single intent after user setup complete for user $int1" }
+            { "Restored from single intent after user setup complete for user $int1" },
         )
     }
 
@@ -243,7 +252,7 @@
                 "Restored settings data for user $int1\n" +
                     "\tRestored tiles: $str1\n" +
                     "\tRestored auto added tiles: $str2"
-            }
+            },
         )
     }
 
@@ -258,7 +267,7 @@
                 str1 = restoreProcessorClassName
                 str2 = step.name
             },
-            { "Restore $str2 processed by $str1" }
+            { "Restore $str2 processed by $str1" },
         )
     }
 
@@ -273,6 +282,6 @@
 
     enum class RestorePreprocessorStep {
         PREPROCESSING,
-        POSTPROCESSING
+        POSTPROCESSING,
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java
index 1d1e991..c6fc868 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java
@@ -74,6 +74,8 @@
 
 import java.io.PrintWriter;
 import java.util.Objects;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
 
 /**
  * Base quick-settings tile, extend this to create a new tile.
@@ -127,6 +129,8 @@
     private int mIsFullQs;
 
     private final LifecycleRegistry mLifecycle = new LifecycleRegistry(this);
+    private final AtomicBoolean mIsDestroyed = new AtomicBoolean(false);
+    private final AtomicInteger mCurrentTileUser = new AtomicInteger();
 
     /**
      * Provides a new {@link TState} of the appropriate type to use between this tile and the
@@ -203,6 +207,7 @@
         mMetricsLogger = metricsLogger;
         mStatusBarStateController = statusBarStateController;
         mActivityStarter = activityStarter;
+        mCurrentTileUser.set(host.getUserId());
 
         resetStates();
         mUiHandler.post(() -> mLifecycle.setCurrentState(CREATED));
@@ -352,11 +357,19 @@
     }
 
     public void userSwitch(int newUserId) {
+        mCurrentTileUser.set(newUserId);
         mHandler.obtainMessage(H.USER_SWITCH, newUserId, 0).sendToTarget();
         postStale();
     }
 
+    @Override
+    public int getCurrentTileUser() {
+        return mCurrentTileUser.get();
+    }
+
     public void destroy() {
+        // We mark it as soon as we start the destroy process, as nothing can interrupt it.
+        mIsDestroyed.set(true);
         mHandler.sendEmptyMessage(H.DESTROY);
     }
 
@@ -365,7 +378,7 @@
      *
      * Should be called upon creation of the tile, before performing other operations
      */
-    public void initialize() {
+    public final void initialize() {
         mHandler.sendEmptyMessage(H.INITIALIZE);
     }
 
@@ -525,6 +538,11 @@
         });
     }
 
+    @Override
+    public final boolean isDestroyed() {
+        return mIsDestroyed.get();
+    }
+
     protected void checkIfRestrictionEnforcedByAdminOnly(State state, String userRestriction) {
         EnforcedAdmin admin = RestrictedLockUtilsInternal.checkIfRestrictionEnforced(mContext,
                 userRestriction, mHost.getUserId());
@@ -799,7 +817,7 @@
      */
     @Override
     public void dump(PrintWriter pw, String[] args) {
-        pw.println(this.getClass().getSimpleName() + ":");
+        pw.print(this.getClass().getSimpleName() + ":");
         pw.print("    "); pw.println(getState().toString());
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java
index bb818fa..88e7d80 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java
@@ -38,7 +38,6 @@
 
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.internal.telephony.flags.Flags;
 import com.android.settingslib.satellite.SatelliteDialogUtils;
 import com.android.systemui.animation.Expandable;
 import com.android.systemui.broadcast.BroadcastDispatcher;
@@ -122,21 +121,16 @@
             return;
         }
 
-        if (Flags.oemEnabledSatelliteFlag()) {
-            if (mClickJob != null && !mClickJob.isCompleted()) {
-                return;
-            }
-            mClickJob = SatelliteDialogUtils.mayStartSatelliteWarningDialog(
-                    mContext, this, TYPE_IS_AIRPLANE_MODE, isAllowClick -> {
-                        if (isAllowClick) {
-                            setEnabled(!airplaneModeEnabled);
-                        }
-                        return null;
-                    });
+        if (mClickJob != null && !mClickJob.isCompleted()) {
             return;
         }
-
-        setEnabled(!airplaneModeEnabled);
+        mClickJob = SatelliteDialogUtils.mayStartSatelliteWarningDialog(
+                mContext, this, TYPE_IS_AIRPLANE_MODE, isAllowClick -> {
+                    if (isAllowClick) {
+                        setEnabled(!airplaneModeEnabled);
+                    }
+                    return null;
+                });
     }
 
     private void setEnabled(boolean enabled) {
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 7daac45..4b1c90f 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
@@ -141,34 +141,28 @@
     }
 
     private void handleClickWithSatelliteCheck(Runnable clickCallback) {
-        if (com.android.internal.telephony.flags.Flags.oemEnabledSatelliteFlag()) {
-            if (mClickJob != null && !mClickJob.isCompleted()) {
-                return;
-            }
-            mClickJob = SatelliteDialogUtils.mayStartSatelliteWarningDialog(
-                    mContext, this, TYPE_IS_BLUETOOTH, isAllowClick -> {
-                        if (!isAllowClick) {
-                            return null;
-                        }
-                        clickCallback.run();
-                        return null;
-                    });
+        if (mClickJob != null && !mClickJob.isCompleted()) {
             return;
         }
-        clickCallback.run();
+        mClickJob = SatelliteDialogUtils.mayStartSatelliteWarningDialog(
+                mContext, this, TYPE_IS_BLUETOOTH, isAllowClick -> {
+                    if (!isAllowClick) {
+                        return null;
+                    }
+                    clickCallback.run();
+                    return null;
+                });
     }
 
     private void handleClickEvent(@Nullable Expandable expandable) {
         if (mFeatureFlags.isEnabled(Flags.BLUETOOTH_QS_TILE_DIALOG)) {
-            mDetailsContentViewModel.get().showDetailsContent(expandable, /* view= */ null);
+            mDetailsContentViewModel.get().showDialog(expandable);
         } else {
             // Secondary clicks are header clicks, just toggle.
             toggleBluetooth();
         }
     }
 
-
-
     @Override
     public Intent getLongClickIntent() {
         return new Intent(Settings.ACTION_BLUETOOTH_SETTINGS);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/InternetTileNewImpl.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/InternetTileNewImpl.kt
index f80b8fb..e48e943 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/InternetTileNewImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/InternetTileNewImpl.kt
@@ -99,7 +99,7 @@
     }
 
     override fun getDetailsViewModel(): TileDetailsViewModel {
-        return internetDetailsViewModelFactory.create { longClick(null) }
+        return internetDetailsViewModelFactory.create()
     }
 
     override fun handleUpdateState(state: QSTile.BooleanState, arg: Any?) {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/UserDetailView.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/UserDetailView.java
index fed8b60..0d937cb 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/UserDetailView.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/UserDetailView.java
@@ -146,6 +146,7 @@
                 v.bind(name, drawable, item.info.id);
             }
             v.setActivated(item.isCurrent);
+            v.setSelected(item.isCurrent);
             v.setDisabledByAdmin(item.isDisabledByAdmin());
             v.setEnabled(item.isSwitchToEnabled);
             UserSwitcherController.setSelectableAlpha(v);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/interactor/QSTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/interactor/QSTileUserActionInteractor.kt
index e8c4274..8ad4e16 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/interactor/QSTileUserActionInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/interactor/QSTileUserActionInteractor.kt
@@ -28,17 +28,4 @@
      * It's safe to run long running computations inside this function.
      */
     @WorkerThread suspend fun handleInput(input: QSTileInput<DATA_TYPE>)
-
-    /**
-     * Provides the [TileDetailsViewModel] for constructing the corresponding details view.
-     *
-     * This property is defined here to reuse the business logic. For example, reusing the user
-     * long-click as the go-to-settings callback in the details view.
-     * Subclasses can override this property to provide a specific [TileDetailsViewModel]
-     * implementation.
-     *
-     * @return The [TileDetailsViewModel] instance, or null if not implemented.
-     */
-    val detailsViewModel: TileDetailsViewModel?
-        get() = null
 }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelFactory.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelFactory.kt
index 8c75cf0..7f475f3 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelFactory.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelFactory.kt
@@ -19,6 +19,7 @@
 import com.android.systemui.dagger.qualifiers.Background
 import com.android.systemui.dagger.qualifiers.UiBackground
 import com.android.systemui.plugins.FalsingManager
+import com.android.systemui.plugins.qs.TileDetailsViewModel
 import com.android.systemui.qs.pipeline.shared.TileSpec
 import com.android.systemui.qs.tiles.base.analytics.QSTileAnalytics
 import com.android.systemui.qs.tiles.base.interactor.DisabledByPolicyInteractor
@@ -70,9 +71,7 @@
          * Creates [QSTileViewModelImpl] based on the interactors obtained from [QSTileComponent].
          * Reference of that [QSTileComponent] is then stored along the view model.
          */
-        fun create(
-            tileSpec: TileSpec,
-        ): QSTileViewModel {
+        fun create(tileSpec: TileSpec): QSTileViewModel {
             val config = qsTileConfigProvider.getConfig(tileSpec.spec)
             val component =
                 customTileComponentBuilder.qsTileConfigModule(QSTileConfigModule(config)).build()
@@ -90,6 +89,7 @@
                 backgroundDispatcher,
                 uiBackgroundDispatcher,
                 component.coroutineScope(),
+                /* tileDetailsViewModel= */ null,
             )
         }
     }
@@ -127,6 +127,7 @@
             userActionInteractor: QSTileUserActionInteractor<T>,
             tileDataInteractor: QSTileDataInteractor<T>,
             mapper: QSTileDataToStateMapper<T>,
+            tileDetailsViewModel: TileDetailsViewModel? = null,
         ): QSTileViewModelImpl<T> =
             QSTileViewModelImpl(
                 qsTileConfigProvider.getConfig(tileSpec.spec),
@@ -142,6 +143,7 @@
                 backgroundDispatcher,
                 uiBackgroundDispatcher,
                 coroutineScopeFactory.create(),
+                tileDetailsViewModel,
             )
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelImpl.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelImpl.kt
index 30bf5b3..3866c17 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelImpl.kt
@@ -83,6 +83,7 @@
     private val backgroundDispatcher: CoroutineDispatcher,
     uiBackgroundDispatcher: CoroutineDispatcher,
     private val tileScope: CoroutineScope,
+    override val tileDetailsViewModel: TileDetailsViewModel? = null,
 ) : QSTileViewModel, Dumpable {
 
     private val users: MutableStateFlow<UserHandle> =
@@ -96,6 +97,9 @@
 
     private val tileData: SharedFlow<DATA_TYPE?> = createTileDataFlow()
 
+    override val currentTileUser: Int
+        get() = users.value.identifier
+
     override val state: StateFlow<QSTileState?> =
         tileData
             .map { data ->
@@ -114,9 +118,6 @@
             .flowOn(backgroundDispatcher)
             .stateIn(tileScope, SharingStarted.WhileSubscribed(), true)
 
-    override val detailsViewModel: TileDetailsViewModel?
-        get() = userActionInteractor().detailsViewModel
-
     override fun forceUpdate() {
         tileScope.launch(context = backgroundDispatcher) { forceUpdates.emit(Unit) }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDetailsContentManager.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDetailsContentManager.kt
index 733159e..659488b 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDetailsContentManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDetailsContentManager.kt
@@ -51,7 +51,6 @@
 import androidx.recyclerview.widget.RecyclerView
 import com.android.internal.logging.UiEvent
 import com.android.internal.logging.UiEventLogger
-import com.android.internal.telephony.flags.Flags
 import com.android.settingslib.satellite.SatelliteDialogUtils.TYPE_IS_WIFI
 import com.android.settingslib.satellite.SatelliteDialogUtils.mayStartSatelliteWarningDialog
 import com.android.settingslib.wifi.WifiEnterpriseRestrictionUtils
@@ -456,22 +455,18 @@
     }
 
     private fun handleWifiToggleClicked(isChecked: Boolean) {
-        if (Flags.oemEnabledSatelliteFlag()) {
-            if (clickJob != null && !clickJob!!.isCompleted) {
-                return
-            }
-            clickJob =
-                mayStartSatelliteWarningDialog(contentView.context, coroutineScope, TYPE_IS_WIFI) {
-                    isAllowClick: Boolean ->
-                    if (isAllowClick) {
-                        setWifiEnabled(isChecked)
-                    } else {
-                        wifiToggle.isChecked = !isChecked
-                    }
-                }
+        if (clickJob != null && !clickJob!!.isCompleted) {
             return
         }
-        setWifiEnabled(isChecked)
+        clickJob =
+            mayStartSatelliteWarningDialog(contentView.context, coroutineScope, TYPE_IS_WIFI) {
+                isAllowClick: Boolean ->
+                if (isAllowClick) {
+                    setWifiEnabled(isChecked)
+                } else {
+                    wifiToggle.isChecked = !isChecked
+                }
+            }
     }
 
     private fun setWifiEnabled(isEnabled: Boolean) {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDetailsViewModel.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDetailsViewModel.kt
index 0ed56f6..6709fd2 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDetailsViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDetailsViewModel.kt
@@ -16,9 +16,11 @@
 
 package com.android.systemui.qs.tiles.dialog
 
+import android.content.Intent
+import android.provider.Settings
 import com.android.systemui.plugins.qs.TileDetailsViewModel
+import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler
 import com.android.systemui.statusbar.connectivity.AccessPointController
-import dagger.assisted.Assisted
 import dagger.assisted.AssistedFactory
 import dagger.assisted.AssistedInject
 
@@ -27,10 +29,13 @@
 constructor(
     private val accessPointController: AccessPointController,
     val contentManagerFactory: InternetDetailsContentManager.Factory,
-    @Assisted private val onLongClick: () -> Unit,
+    private val qsTileIntentUserActionHandler: QSTileIntentUserInputHandler,
 ) : TileDetailsViewModel() {
     override fun clickOnSettingsButton() {
-        onLongClick()
+        qsTileIntentUserActionHandler.handle(
+            /* expandable= */ null,
+            Intent(Settings.ACTION_WIFI_SETTINGS),
+        )
     }
 
     override fun getTitle(): String {
@@ -58,7 +63,7 @@
     }
 
     @AssistedFactory
-    interface Factory {
-        fun create(onLongClick: () -> Unit): InternetDetailsViewModel
+    fun interface Factory {
+        fun create(): InternetDetailsViewModel
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegateLegacy.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegateLegacy.java
index 75cb8dd..8d4a24e 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegateLegacy.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegateLegacy.java
@@ -62,7 +62,6 @@
 
 import com.android.internal.logging.UiEvent;
 import com.android.internal.logging.UiEventLogger;
-import com.android.internal.telephony.flags.Flags;
 import com.android.settingslib.satellite.SatelliteDialogUtils;
 import com.android.settingslib.wifi.WifiEnterpriseRestrictionUtils;
 import com.android.systemui.Prefs;
@@ -401,6 +400,9 @@
 
         mInternetDialogTitle.setText(internetContent.mInternetDialogTitleString);
         mInternetDialogSubTitle.setText(internetContent.mInternetDialogSubTitle);
+        if (!internetContent.mIsWifiEnabled) {
+            setProgressBarVisible(false);
+        }
         mAirplaneModeButton.setVisibility(
                 internetContent.mIsAirplaneModeEnabled ? View.VISIBLE : View.GONE);
 
@@ -489,22 +491,18 @@
     }
 
     private void handleWifiToggleClicked(boolean isChecked) {
-        if (Flags.oemEnabledSatelliteFlag()) {
-            if (mClickJob != null && !mClickJob.isCompleted()) {
-                return;
-            }
-            mClickJob = SatelliteDialogUtils.mayStartSatelliteWarningDialog(
-                    mDialog.getContext(), mCoroutineScope, TYPE_IS_WIFI, isAllowClick -> {
-                        if (isAllowClick) {
-                            setWifiEnable(isChecked);
-                        } else {
-                            mWiFiToggle.setChecked(!isChecked);
-                        }
-                        return null;
-                    });
+        if (mClickJob != null && !mClickJob.isCompleted()) {
             return;
         }
-        setWifiEnable(isChecked);
+        mClickJob = SatelliteDialogUtils.mayStartSatelliteWarningDialog(
+                mDialog.getContext(), mCoroutineScope, TYPE_IS_WIFI, isAllowClick -> {
+                    if (isAllowClick) {
+                        setWifiEnable(isChecked);
+                    } else {
+                        mWiFiToggle.setChecked(!isChecked);
+                    }
+                    return null;
+                });
     }
 
     private void setWifiEnable(boolean isChecked) {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/di/QSTileComponent.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/di/QSTileComponent.kt
index 0ed46e7..5f692f2 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/di/QSTileComponent.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/di/QSTileComponent.kt
@@ -16,6 +16,7 @@
 
 package com.android.systemui.qs.tiles.impl.di
 
+import com.android.systemui.plugins.qs.TileDetailsViewModel
 import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor
 import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper
 import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileUserActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileUserActionInteractor.kt
index 8e48fe4..0431e36 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileUserActionInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/internet/domain/interactor/InternetTileUserActionInteractor.kt
@@ -18,13 +18,10 @@
 
 import android.content.Intent
 import android.provider.Settings
-import com.android.systemui.animation.Expandable
 import com.android.systemui.dagger.qualifiers.Main
-import com.android.systemui.plugins.qs.TileDetailsViewModel
 import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandler
 import com.android.systemui.qs.tiles.base.interactor.QSTileInput
 import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor
-import com.android.systemui.qs.tiles.dialog.InternetDetailsViewModel
 import com.android.systemui.qs.tiles.dialog.InternetDialogManager
 import com.android.systemui.qs.tiles.impl.internet.domain.model.InternetTileModel
 import com.android.systemui.qs.tiles.viewmodel.QSTileUserAction
@@ -41,7 +38,6 @@
     private val internetDialogManager: InternetDialogManager,
     private val accessPointController: AccessPointController,
     private val qsTileIntentUserActionHandler: QSTileIntentUserInputHandler,
-    private val internetDetailsViewModelFactory: InternetDetailsViewModel.Factory,
 ) : QSTileUserActionInteractor<InternetTileModel> {
 
     override suspend fun handleInput(input: QSTileInput<InternetTileModel>): Unit =
@@ -58,16 +54,12 @@
                     }
                 }
                 is QSTileUserAction.LongClick -> {
-                    handleLongClick(action.expandable)
+                    qsTileIntentUserActionHandler.handle(
+                        action.expandable,
+                        Intent(Settings.ACTION_WIFI_SETTINGS),
+                    )
                 }
                 else -> {}
             }
         }
-
-    override val detailsViewModel: TileDetailsViewModel =
-        internetDetailsViewModelFactory.create { handleLongClick(null) }
-
-    private fun handleLongClick(expandable: Expandable?) {
-        qsTileIntentUserActionHandler.handle(expandable, Intent(Settings.ACTION_WIFI_SETTINGS))
-    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModel.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModel.kt
index e8b9926..7a53388 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModel.kt
@@ -39,9 +39,12 @@
     val isAvailable: StateFlow<Boolean>
 
     /** Specifies the [TileDetailsViewModel] for constructing the corresponding details view. */
-    val detailsViewModel: TileDetailsViewModel?
+    val tileDetailsViewModel: TileDetailsViewModel?
         get() = null
 
+    /** Returns the current user for this tile */
+    val currentTileUser: Int
+
     /**
      * Notifies about the user change. Implementations should avoid using 3rd party userId sources
      * and use this value instead. This is to maintain consistent and concurrency-free behaviour
@@ -65,8 +68,6 @@
     fun destroy()
 }
 
-/**
- * Returns the immediate state of the tile or null if the state haven't been collected yet.
- */
+/** Returns the immediate state of the tile or null if the state haven't been collected yet. */
 val QSTileViewModel.currentState: QSTileState?
     get() = state.value
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelAdapter.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelAdapter.kt
index 30d1f05..e607eae 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelAdapter.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelAdapter.kt
@@ -19,7 +19,6 @@
 import android.content.Context
 import android.os.UserHandle
 import android.util.Log
-import com.android.app.tracing.coroutines.launchTraced as launch
 import com.android.internal.logging.InstanceId
 import com.android.systemui.Dumpable
 import com.android.systemui.animation.Expandable
@@ -156,8 +155,12 @@
         qsTileViewModel.onUserChanged(UserHandle.of(currentUser))
     }
 
+    override fun getCurrentTileUser(): Int {
+        return qsTileViewModel.currentTileUser
+    }
+
     override fun getDetailsViewModel(): TileDetailsViewModel? {
-        return qsTileViewModel.detailsViewModel
+        return qsTileViewModel.tileDetailsViewModel
     }
 
     @Deprecated(
@@ -213,6 +216,10 @@
         qsTileViewModel.destroy()
     }
 
+    override fun isDestroyed(): Boolean {
+        return !(tileAdapterJob?.isActive ?: false)
+    }
+
     override fun getState(): QSTile.AdapterState =
         qsTileViewModel.currentState?.let { mapState(context, it, qsTileViewModel.config) }
             ?: QSTile.AdapterState()
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/StubQSTileViewModel.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/StubQSTileViewModel.kt
index 00b7e61..bdd5c73 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/StubQSTileViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/StubQSTileViewModel.kt
@@ -37,4 +37,7 @@
     override fun onActionPerformed(userAction: QSTileUserAction) = error("Don't call stubs")
 
     override fun destroy() = error("Don't call stubs")
+
+    override val currentTileUser: Int
+        get() = error("Don't call stubs")
 }
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 305dcfb..c0d9326 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
@@ -36,7 +36,7 @@
 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.brightness.domain.interactor.BrightnessMirrorShowingInteractor
+import com.android.systemui.settings.brightness.domain.interactor.BrightnessMirrorShowingInteractorPassThrough
 import com.android.systemui.statusbar.phone.DozeServiceHost
 import com.android.systemui.statusbar.phone.ScrimController
 import com.android.systemui.statusbar.phone.ScrimState
@@ -64,7 +64,7 @@
     biometricUnlockInteractor: BiometricUnlockInteractor,
     private val statusBarKeyguardViewManager: StatusBarKeyguardViewManager,
     private val alternateBouncerInteractor: AlternateBouncerInteractor,
-    brightnessMirrorShowingInteractor: BrightnessMirrorShowingInteractor,
+    brightnessMirrorShowingInteractor: BrightnessMirrorShowingInteractorPassThrough,
     private val dozeServiceHost: DozeServiceHost,
 ) : CoreStartable {
 
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ActionIntentCreator.kt b/packages/SystemUI/src/com/android/systemui/screenshot/ActionIntentCreator.kt
index 15638d3..9208fc3 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/ActionIntentCreator.kt
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/ActionIntentCreator.kt
@@ -22,12 +22,19 @@
 import android.content.ContentProvider
 import android.content.Context
 import android.content.Intent
+import android.content.pm.PackageManager
 import android.net.Uri
 import android.os.UserHandle
+import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.res.R
 import com.android.systemui.screenshot.scroll.LongScreenshotActivity
+import com.android.systemui.shared.Flags.usePreferredImageEditor
+import javax.inject.Inject
 
-object ActionIntentCreator {
+@SysUISingleton
+class ActionIntentCreator
+@Inject
+constructor(private val context: Context, private val packageManager: PackageManager) {
     /** @return a chooser intent to share the given URI. */
     fun createShare(uri: Uri): Intent = createShare(uri, subject = null, text = null)
 
@@ -54,7 +61,7 @@
                 clipData =
                     ClipData(
                         ClipDescription("content", arrayOf(ClipDescription.MIMETYPE_TEXT_PLAIN)),
-                        ClipData.Item(uri)
+                        ClipData.Item(uri),
                     )
 
                 subject?.let { putExtra(Intent.EXTRA_SUBJECT, subject) }
@@ -70,16 +77,21 @@
     }
 
     /**
-     * @return an ACTION_EDIT intent for the given URI, directed to config_screenshotEditor if
-     *   available.
+     * @return an ACTION_EDIT intent for the given URI, directed to config_preferredScreenshotEditor
+     *   if enabled, falling back to config_screenshotEditor if that's non-empty.
      */
-    fun createEdit(rawUri: Uri, context: Context): Intent {
+    fun createEdit(rawUri: Uri): Intent {
         val uri = uriWithoutUserId(rawUri)
         val editIntent = Intent(Intent.ACTION_EDIT)
 
-        val editor = context.getString(R.string.config_screenshotEditor)
-        if (editor.isNotEmpty()) {
-            editIntent.component = ComponentName.unflattenFromString(editor)
+        if (usePreferredImageEditor()) {
+            // Use the preferred editor if it's available, otherwise fall back to the default editor
+            editIntent.component = preferredEditor() ?: defaultEditor()
+        } else {
+            val editor = context.getString(R.string.config_screenshotEditor)
+            if (editor.isNotEmpty()) {
+                editIntent.component = ComponentName.unflattenFromString(editor)
+            }
         }
 
         return editIntent
@@ -92,7 +104,7 @@
     }
 
     /** @return an Intent to start the LongScreenshotActivity */
-    fun createLongScreenshotIntent(owner: UserHandle, context: Context): Intent {
+    fun createLongScreenshotIntent(owner: UserHandle): Intent {
         return Intent(context, LongScreenshotActivity::class.java)
             .putExtra(LongScreenshotActivity.EXTRA_SCREENSHOT_USER_HANDLE, owner)
             .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
@@ -100,8 +112,35 @@
             .addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
     }
 
-    private const val EXTRA_EDIT_SOURCE = "edit_source"
-    private const val EDIT_SOURCE_SCREENSHOT = "screenshot"
+    private fun preferredEditor(): ComponentName? =
+        runCatching {
+                val preferredEditor = context.getString(R.string.config_preferredScreenshotEditor)
+                val component = ComponentName.unflattenFromString(preferredEditor) ?: return null
+
+                val info =
+                    packageManager.getPackageInfo(
+                        component.packageName,
+                        PackageManager.GET_ACTIVITIES,
+                    )
+
+                return info.activities
+                    ?.firstOrNull { it.componentName.className.equals(component.className) }
+                    ?.componentName
+            }
+            .getOrNull()
+
+    private fun defaultEditor(): ComponentName? =
+        runCatching {
+                context.getString(R.string.config_screenshotEditor).let {
+                    ComponentName.unflattenFromString(it)
+                }
+            }
+            .getOrNull()
+
+    companion object {
+        private const val EXTRA_EDIT_SOURCE = "edit_source"
+        private const val EDIT_SOURCE_SCREENSHOT = "screenshot"
+    }
 }
 
 /**
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/LegacyScreenshotController.java b/packages/SystemUI/src/com/android/systemui/screenshot/LegacyScreenshotController.java
index 2259b55..621bdd1 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/LegacyScreenshotController.java
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/LegacyScreenshotController.java
@@ -139,6 +139,7 @@
     private RequestCallback mCurrentRequestCallback;
     private String mPackageName = "";
     private final BroadcastReceiver mCopyBroadcastReceiver;
+    private final ActionIntentCreator mActionIntentCreator;
 
     /** Tracks config changes that require re-creating UI */
     private final InterestingConfigChanges mConfigChanges = new InterestingConfigChanges(
@@ -174,6 +175,7 @@
             MessageContainerController messageContainerController,
             Provider<ScreenshotSoundController> screenshotSoundController,
             AnnouncementResolver announcementResolver,
+            ActionIntentCreator actionIntentCreator,
             @Assisted Display display
     ) {
         mScreenshotSmartActions = screenshotSmartActions;
@@ -201,6 +203,7 @@
         mMessageContainerController = messageContainerController;
         mAssistContentRequester = assistContentRequester;
         mAnnouncementResolver = announcementResolver;
+        mActionIntentCreator = actionIntentCreator;
 
         mViewProxy = viewProxyFactory.getProxy(mContext, mDisplay.getDisplayId());
 
@@ -509,8 +512,7 @@
     private void executeBatchScrollCapture(ScrollCaptureResponse response, UserHandle owner) {
         mScrollCaptureExecutor.executeBatchScrollCapture(response,
                 () -> {
-                    final Intent intent = ActionIntentCreator.INSTANCE.createLongScreenshotIntent(
-                            owner, mContext);
+                    final Intent intent = mActionIntentCreator.createLongScreenshotIntent(owner);
                     mContext.startActivity(intent);
                 },
                 mViewProxy::restoreNonScrollingUi,
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotActionsProvider.kt b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotActionsProvider.kt
index 3696b13..4373389 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotActionsProvider.kt
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotActionsProvider.kt
@@ -24,9 +24,6 @@
 import com.android.internal.logging.UiEventLogger
 import com.android.systemui.log.DebugLogger.debugLog
 import com.android.systemui.res.R
-import com.android.systemui.screenshot.ActionIntentCreator.createEdit
-import com.android.systemui.screenshot.ActionIntentCreator.createShareWithSubject
-import com.android.systemui.screenshot.ActionIntentCreator.createShareWithText
 import com.android.systemui.screenshot.ScreenshotEvent.SCREENSHOT_EDIT_TAPPED
 import com.android.systemui.screenshot.ScreenshotEvent.SCREENSHOT_PREVIEW_TAPPED
 import com.android.systemui.screenshot.ScreenshotEvent.SCREENSHOT_SHARE_TAPPED
@@ -70,6 +67,7 @@
 constructor(
     private val context: Context,
     private val uiEventLogger: UiEventLogger,
+    private val actionIntentCreator: ActionIntentCreator,
     @Assisted val requestId: UUID,
     @Assisted val request: ScreenshotData,
     @Assisted val actionExecutor: ActionExecutor,
@@ -88,7 +86,7 @@
                 uiEventLogger.log(SCREENSHOT_PREVIEW_TAPPED, 0, request.packageNameString)
                 onDeferrableActionTapped { result ->
                     actionExecutor.startSharedTransition(
-                        createEdit(result.uri, context),
+                        actionIntentCreator.createEdit(result.uri),
                         result.user,
                         true,
                     )
@@ -110,9 +108,12 @@
                 val uri = webUri
                 val shareIntent =
                     if (screenshotContextUrl() && uri != null) {
-                        createShareWithText(result.uri, extraText = uri.toString())
+                        actionIntentCreator.createShareWithText(
+                            result.uri,
+                            extraText = uri.toString(),
+                        )
                     } else {
-                        createShareWithSubject(result.uri, result.subject)
+                        actionIntentCreator.createShareWithSubject(result.uri, result.subject)
                     }
                 actionExecutor.startSharedTransition(shareIntent, result.user, false)
             }
@@ -130,7 +131,7 @@
             uiEventLogger.log(SCREENSHOT_EDIT_TAPPED, 0, request.packageNameString)
             onDeferrableActionTapped { result ->
                 actionExecutor.startSharedTransition(
-                    createEdit(result.uri, context),
+                    actionIntentCreator.createEdit(result.uri),
                     result.user,
                     true,
                 )
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.kt b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.kt
index f5c6052..ea02b07 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.kt
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.kt
@@ -46,7 +46,6 @@
 import com.android.systemui.clipboardoverlay.ClipboardOverlayController
 import com.android.systemui.dagger.qualifiers.Main
 import com.android.systemui.res.R
-import com.android.systemui.screenshot.ActionIntentCreator.createLongScreenshotIntent
 import com.android.systemui.screenshot.ScreenshotShelfViewProxy.ScreenshotViewCallback
 import com.android.systemui.screenshot.scroll.ScrollCaptureController.LongScreenshot
 import com.android.systemui.screenshot.scroll.ScrollCaptureExecutor
@@ -84,6 +83,7 @@
     private val messageContainerController: MessageContainerController,
     private val announcementResolver: AnnouncementResolver,
     @Main private val mainExecutor: Executor,
+    private val actionIntentCreator: ActionIntentCreator,
     @Assisted private val display: Display,
 ) : InteractiveScreenshotHandler {
     private val context: WindowContext
@@ -408,7 +408,7 @@
         scrollCaptureExecutor.executeBatchScrollCapture(
             response,
             {
-                val intent = createLongScreenshotIntent(owner, context)
+                val intent = actionIntentCreator.createLongScreenshotIntent(owner)
                 context.startActivity(intent)
             },
             { viewProxy.restoreNonScrollingUi() },
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/scroll/LongScreenshotActivity.java b/packages/SystemUI/src/com/android/systemui/screenshot/scroll/LongScreenshotActivity.java
index b43a1d2..48e08a0 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/scroll/LongScreenshotActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/scroll/LongScreenshotActivity.java
@@ -87,6 +87,7 @@
     private final ImageExporter mImageExporter;
     private final LongScreenshotData mLongScreenshotHolder;
     private final ActionIntentExecutor mActionExecutor;
+    private final ActionIntentCreator mActionIntentCreator;
 
     private ImageView mPreview;
     private ImageView mTransitionView;
@@ -117,13 +118,15 @@
     @Inject
     public LongScreenshotActivity(UiEventLogger uiEventLogger, ImageExporter imageExporter,
             @Main Executor mainExecutor, @Background Executor bgExecutor,
-            LongScreenshotData longScreenshotHolder, ActionIntentExecutor actionExecutor) {
+            LongScreenshotData longScreenshotHolder, ActionIntentExecutor actionExecutor,
+            ActionIntentCreator actionIntentCreator) {
         mUiEventLogger = uiEventLogger;
         mUiExecutor = mainExecutor;
         mBackgroundExecutor = bgExecutor;
         mImageExporter = imageExporter;
         mLongScreenshotHolder = longScreenshotHolder;
         mActionExecutor = actionExecutor;
+        mActionIntentCreator = actionIntentCreator;
     }
 
 
@@ -348,7 +351,7 @@
         if (mScreenshotUserHandle != Process.myUserHandle()) {
             // TODO: Fix transition for work profile. Omitting it in the meantime.
             mActionExecutor.launchIntentAsync(
-                    ActionIntentCreator.INSTANCE.createEdit(uri, this),
+                    mActionIntentCreator.createEdit(uri),
                     mScreenshotUserHandle, false,
                     /* activityOptions */ null, /* transitionCoordinator */ null);
         } else {
@@ -376,7 +379,7 @@
     }
 
     private void doShare(Uri uri) {
-        Intent shareIntent = ActionIntentCreator.INSTANCE.createShare(uri);
+        Intent shareIntent = mActionIntentCreator.createShare(uri);
         mActionExecutor.launchIntentAsync(shareIntent, mScreenshotUserHandle, false,
                 /* activityOptions */ null, /* transitionCoordinator */ null);
     }
diff --git a/packages/SystemUI/src/com/android/systemui/settings/brightness/domain/interactor/BrightnessMirrorShowingInteractor.kt b/packages/SystemUI/src/com/android/systemui/settings/brightness/domain/interactor/BrightnessMirrorShowingInteractor.kt
index de068a0..f2cff9f 100644
--- a/packages/SystemUI/src/com/android/systemui/settings/brightness/domain/interactor/BrightnessMirrorShowingInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/settings/brightness/domain/interactor/BrightnessMirrorShowingInteractor.kt
@@ -19,19 +19,28 @@
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.settings.brightness.data.repository.BrightnessMirrorShowingRepository
 import javax.inject.Inject
+import kotlinx.coroutines.flow.StateFlow
 
+interface BrightnessMirrorShowingInteractor {
+    val isShowing: StateFlow<Boolean>
+
+    fun setMirrorShowing(showing: Boolean)
+}
+
+/** This interactor is just a passthrough of the [BrightnessMirrorShowingRepository]. */
 @SysUISingleton
-class BrightnessMirrorShowingInteractor
+class BrightnessMirrorShowingInteractorPassThrough
 @Inject
-constructor(private val brightnessMirrorShowingRepository: BrightnessMirrorShowingRepository) {
+constructor(private val brightnessMirrorShowingRepository: BrightnessMirrorShowingRepository) :
+    BrightnessMirrorShowingInteractor {
     /**
      * Whether a brightness mirror is showing (either as a compose overlay or as a separate mirror).
      *
      * This can be used to determine whether other views/composables have to be hidden.
      */
-    val isShowing = brightnessMirrorShowingRepository.isShowing
+    override val isShowing = brightnessMirrorShowingRepository.isShowing
 
-    fun setMirrorShowing(showing: Boolean) {
+    override fun setMirrorShowing(showing: Boolean) {
         brightnessMirrorShowingRepository.setMirrorShowing(showing)
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
index 131efaa..eea0470 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
@@ -42,6 +42,8 @@
 import static com.android.systemui.util.DumpUtilsKt.asIndenting;
 import static com.android.systemui.util.kotlin.JavaAdapterKt.collectFlow;
 
+import static kotlinx.coroutines.flow.StateFlowKt.MutableStateFlow;
+
 import static java.lang.Float.isNaN;
 
 import android.animation.Animator;
@@ -57,6 +59,7 @@
 import android.graphics.Region;
 import android.graphics.RenderEffect;
 import android.graphics.Shader;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Trace;
 import android.util.IndentingPrintWriter;
@@ -131,6 +134,7 @@
 import com.android.systemui.qs.flags.QSComposeFragment;
 import com.android.systemui.res.R;
 import com.android.systemui.scene.shared.flag.SceneContainerFlag;
+import com.android.systemui.settings.brightness.data.repository.BrightnessMirrorShowingRepository;
 import com.android.systemui.settings.brightness.domain.interactor.BrightnessMirrorShowingInteractor;
 import com.android.systemui.shade.data.repository.FlingInfo;
 import com.android.systemui.shade.data.repository.ShadeRepository;
@@ -201,6 +205,7 @@
 
 import kotlinx.coroutines.CoroutineDispatcher;
 import kotlinx.coroutines.flow.Flow;
+import kotlinx.coroutines.flow.MutableStateFlow;
 import kotlinx.coroutines.flow.StateFlow;
 
 import java.io.PrintWriter;
@@ -214,7 +219,8 @@
 import javax.inject.Provider;
 
 @SysUISingleton
-public final class NotificationPanelViewController implements ShadeSurface, Dumpable {
+public final class NotificationPanelViewController implements
+        ShadeSurface, Dumpable, BrightnessMirrorShowingInteractor {
 
     public static final String TAG = NotificationPanelView.class.getSimpleName();
     private static final boolean DEBUG_LOGCAT = Compile.IS_DEBUG && Log.isLoggable(TAG, Log.DEBUG);
@@ -241,6 +247,8 @@
     private static final String COUNTER_PANEL_OPEN_PEEK = "panel_open_peek";
     private static final Rect M_DUMMY_DIRTY_RECT = new Rect(0, 0, 1, 1);
     private static final Rect EMPTY_RECT = new Rect();
+    //TODO(b/394977231) delete this temporary workaround used only by tests
+    private static final boolean DISABLE_LONG_PRESS_EXPAND = Build.HARDWARE.equals("cutf_cvm");
     /**
      * Whether the Shade should animate to reflect Back gesture progress.
      * To minimize latency at runtime, we cache this, else we'd be reading it every time
@@ -403,6 +411,18 @@
             mTrackingHeadsUpListeners = new ArrayList<>();
     private HeadsUpAppearanceController mHeadsUpAppearanceController;
 
+    private final BrightnessMirrorShowingRepository mBrightnessMirrorShowingRepository;
+    /**
+     * This flow would track whether the brightness mirror should be showing, but aware of the
+     * alpha transitions of NPV.
+     *
+     * When the repository flow emits true, this will also emit true (and start the alpha animation
+     * of NPV to go to 0f). However, when the repository emits false, this will first animate the
+     * alpha to 1f, and then emit false. This guarantees that the mirror is always showing while
+     * the alpha of NPV is animating.
+     */
+    private final MutableStateFlow<Boolean> mIsBrightnessMirrorShowing = MutableStateFlow(false);
+
     private int mPanelAlpha;
     private Runnable mPanelAlphaEndAction;
     private final AnimatableProperty mPanelAlphaAnimator = AnimatableProperty.from("panelAlpha",
@@ -420,6 +440,9 @@
                 if (mPanelAlphaEndAction != null) {
                     mPanelAlphaEndAction.run();
                 }
+                // Once the animation for the alpha has finished (NPV is visible again), dismiss
+                // the mirror
+                postToView(() -> mIsBrightnessMirrorShowing.setValue(false));
             }).setCustomInterpolator(
                     mPanelAlphaAnimator.getProperty(), Interpolators.ALPHA_IN);
 
@@ -530,7 +553,6 @@
     };
 
     private final ActivityStarter mActivityStarter;
-    private final BrightnessMirrorShowingInteractor mBrightnessMirrorShowingInteractor;
 
     @Nullable
     private RenderEffect mBlurRenderEffect = null;
@@ -608,7 +630,7 @@
             PowerInteractor powerInteractor,
             KeyguardClockPositionAlgorithm keyguardClockPositionAlgorithm,
             MSDLPlayer msdlPlayer,
-            BrightnessMirrorShowingInteractor brightnessMirrorShowingInteractor,
+            BrightnessMirrorShowingRepository brightnessMirrorShowingRepository,
             BlurConfig blurConfig) {
         mBlurConfig = blurConfig;
         SceneContainerFlag.assertInLegacyMode();
@@ -765,7 +787,10 @@
                 },
                 mFalsingManager);
         mActivityStarter = activityStarter;
-        mBrightnessMirrorShowingInteractor = brightnessMirrorShowingInteractor;
+        mBrightnessMirrorShowingRepository = brightnessMirrorShowingRepository;
+        mIsBrightnessMirrorShowing.setValue(
+                mBrightnessMirrorShowingRepository.isShowing().getValue()
+        );
         onFinishInflate();
         keyguardUnlockAnimationController.addKeyguardUnlockAnimationListener(
                 new KeyguardUnlockAnimationController.KeyguardUnlockAnimationListener() {
@@ -893,12 +918,32 @@
                 mMainDispatcher);
         if (QSComposeFragment.isEnabled()) {
             collectFlow(mView,
-                    mBrightnessMirrorShowingInteractor.isShowing(),
-                    isShowing -> setAlpha(isShowing ? 0 : 255, true)
+                    mBrightnessMirrorShowingRepository.isShowing(),
+                    this::onBrightnessMirrorShowingChanged
             );
         }
     }
 
+    private void onBrightnessMirrorShowingChanged(boolean isShowing) {
+        if (!mIsBrightnessMirrorShowing.getValue()) {
+            // Immediately set the value of the mirror if we are not showing the mirror, and then
+            // start fading the shade.
+            mIsBrightnessMirrorShowing.setValue(isShowing);
+        }
+        setAlpha(isShowing ? 0 : 255, true);
+    }
+
+    @androidx.annotation.NonNull
+    @Override
+    public StateFlow<Boolean> isShowing() {
+        return mIsBrightnessMirrorShowing;
+    }
+
+    @Override
+    public void setMirrorShowing(boolean showing) {
+        mBrightnessMirrorShowingRepository.setMirrorShowing(showing);
+    }
+
     @VisibleForTesting
     void loadDimens() {
         final ViewConfiguration configuration = ViewConfiguration.get(this.mView.getContext());
@@ -1785,7 +1830,8 @@
         // height - which means user is swiping down. Otherwise shade QS will either not show at all
         // with HUN movement or it will blink when touching HUN initially
         boolean qsShouldExpandWithHeadsUp = !mSplitShadeEnabled
-                || (!mHeadsUpManager.isTrackingHeadsUp() || expandedHeight > mHeadsUpStartHeight);
+                || (!mHeadsUpManager.isTrackingHeadsUp().getValue()
+                || expandedHeight > mHeadsUpStartHeight);
         if (goingBetweenClosedShadeAndExpandedQs && qsShouldExpandWithHeadsUp) {
             float qsExpansionFraction;
             if (mSplitShadeEnabled) {
@@ -2045,7 +2091,7 @@
         // motion has the expected speed. We also only want this on non-lockscreen for now.
         if (mSplitShadeEnabled && mBarState == SHADE) {
             boolean transitionFromHeadsUp = (mHeadsUpManager != null
-                    && mHeadsUpManager.isTrackingHeadsUp()) || mExpandingFromHeadsUp;
+                    && mHeadsUpManager.isTrackingHeadsUp().getValue()) || mExpandingFromHeadsUp;
             // heads-up starting height is too close to mSplitShadeFullTransitionDistance and
             // when dragging HUN transition is already 90% complete. It makes shade become
             // immediately visible when starting to drag. We want to set distance so that
@@ -2202,6 +2248,11 @@
     @Deprecated
     public void onStatusBarLongPress(MotionEvent event) {
         Log.i(TAG, "Status Bar was long pressed.");
+        if (DISABLE_LONG_PRESS_EXPAND) {
+            //TODO(b/394977231) delete this temporary workaround used only by tests
+            Log.i(TAG, "Ignoring status Bar long press on virtualized test device.");
+            return;
+        }
         ShadeExpandsOnStatusBarLongPress.assertInNewMode();
         mStatusBarLongPressDowntime = event.getDownTime();
         if (isTracking()) {
diff --git a/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsControllerImpl.java b/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsControllerImpl.java
index d058372..42c63f9 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsControllerImpl.java
@@ -2158,6 +2158,8 @@
 
     /** */
     public final class QsFragmentListener implements FragmentHostManager.FragmentListener {
+        private boolean mPreviouslyVisibleMedia = false;
+
         /** */
         @Override
         public void onFragmentViewCreated(String tag, Fragment fragment) {
@@ -2183,7 +2185,12 @@
                     setAnimateNextNotificationBounds(
                             StackStateAnimator.ANIMATION_DURATION_STANDARD, 0);
                     mNotificationStackScrollLayoutController.animateNextTopPaddingChange();
+                    if (QSComposeFragment.isEnabled() && mPreviouslyVisibleMedia && !visible) {
+                        updateHeightsOnShadeLayoutChange();
+                        mPanelViewControllerLazy.get().positionClockAndNotifications();
+                    }
                 }
+                mPreviouslyVisibleMedia = visible;
             });
             mLockscreenShadeTransitionController.setQS(mQs);
             if (QSComposeFragment.isEnabled()) {
diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeEmptyImplModule.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeEmptyImplModule.kt
index 99ff946..631f2ed 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/ShadeEmptyImplModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeEmptyImplModule.kt
@@ -17,6 +17,8 @@
 package com.android.systemui.shade
 
 import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.settings.brightness.domain.interactor.BrightnessMirrorShowingInteractor
+import com.android.systemui.settings.brightness.domain.interactor.BrightnessMirrorShowingInteractorPassThrough
 import com.android.systemui.shade.data.repository.PrivacyChipRepository
 import com.android.systemui.shade.data.repository.PrivacyChipRepositoryImpl
 import com.android.systemui.shade.data.repository.ShadeRepository
@@ -81,4 +83,10 @@
     @Binds
     @SysUISingleton
     abstract fun bindShadeModeInteractor(impl: ShadeModeInteractorEmptyImpl): ShadeModeInteractor
+
+    @Binds
+    @SysUISingleton
+    abstract fun bindBrightnessMirrorInteractor(
+        impl: BrightnessMirrorShowingInteractorPassThrough
+    ): BrightnessMirrorShowingInteractor
 }
diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt
index ce48c85..6670c04 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt
+++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt
@@ -366,6 +366,7 @@
             val batteryComposeView =
                 ComposeView(mView.context).apply {
                     setContent {
+                        id = R.id.battery_meter_composable_view
                         val showBatteryEstimate by showBatteryEstimate.collectAsStateWithLifecycle()
                         BatteryWithEstimate(
                             modifier = Modifier.height(17.dp).wrapContentWidth(),
diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeModule.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeModule.kt
index c44e066..f7b998e 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/ShadeModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeModule.kt
@@ -22,6 +22,8 @@
 import com.android.systemui.plugins.qs.QSContainerController
 import com.android.systemui.qs.ui.adapter.QSSceneAdapterImpl
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
+import com.android.systemui.settings.brightness.domain.interactor.BrightnessMirrorShowingInteractor
+import com.android.systemui.settings.brightness.domain.interactor.BrightnessMirrorShowingInteractorPassThrough
 import com.android.systemui.shade.carrier.ShadeCarrierGroupControllerLog
 import com.android.systemui.shade.data.repository.PrivacyChipRepository
 import com.android.systemui.shade.data.repository.PrivacyChipRepositoryImpl
@@ -156,6 +158,19 @@
 
         @Provides
         @SysUISingleton
+        fun providesBrightnessMirrorInteractor(
+            sceneContainerOn: Provider<BrightnessMirrorShowingInteractorPassThrough>,
+            sceneContainerOff: Provider<NotificationPanelViewController>,
+        ): BrightnessMirrorShowingInteractor {
+            return if (SceneContainerFlag.isEnabled) {
+                sceneContainerOn.get()
+            } else {
+                sceneContainerOff.get()
+            }
+        }
+
+        @Provides
+        @SysUISingleton
         fun providesQSContainerController(impl: QSSceneAdapterImpl): QSContainerController {
             return impl
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ActionClickLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/ActionClickLogger.kt
index 5042f1b..e998a73 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ActionClickLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ActionClickLogger.kt
@@ -30,26 +30,25 @@
     @NotifInteractionLog private val buffer: LogBuffer
 ) {
     fun logInitialClick(
-        entry: NotificationEntry?,
+        entry: String?,
         index: Integer?,
         pendingIntent: PendingIntent
     ) {
         buffer.log(TAG, LogLevel.DEBUG, {
-            str1 = entry?.key
-            str2 = entry?.ranking?.channel?.id
+            str1 = entry
             str3 = pendingIntent.toString()
             int1 = index?.toInt() ?: Int.MIN_VALUE
         }, {
-            "ACTION CLICK $str1 (channel=$str2) for pending intent $str3 at index $int1"
+            "ACTION CLICK $str1 for pending intent $str3 at index $int1"
         })
     }
 
     fun logRemoteInputWasHandled(
-        entry: NotificationEntry?,
+        entry: String?,
         index: Int?
     ) {
         buffer.log(TAG, LogLevel.DEBUG, {
-            str1 = entry?.key
+            str1 = entry
             int1 = index ?: Int.MIN_VALUE
         }, {
             "  [Action click] Triggered remote input (for $str1) at index $int1"
@@ -57,12 +56,12 @@
     }
 
     fun logStartingIntentWithDefaultHandler(
-        entry: NotificationEntry?,
+        entry: String?,
         pendingIntent: PendingIntent,
         index: Int?
     ) {
         buffer.log(TAG, LogLevel.DEBUG, {
-            str1 = entry?.key
+            str1 = entry
             str2 = pendingIntent.toString()
             int1 = index ?: Int.MIN_VALUE
         }, {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
index 7dc2ae7..e44701d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
@@ -580,7 +580,8 @@
         /**
          * @see IStatusBar#immersiveModeChanged
          */
-        default void immersiveModeChanged(int rootDisplayAreaId, boolean isImmersiveMode) {}
+        default void immersiveModeChanged(int rootDisplayAreaId, boolean isImmersiveMode,
+                int windowType) {}
 
         /**
          * @see IStatusBar#moveFocusedTaskToDesktop(int)
@@ -876,11 +877,13 @@
     }
 
     @Override
-    public void immersiveModeChanged(int rootDisplayAreaId, boolean isImmersiveMode) {
+    public void immersiveModeChanged(int rootDisplayAreaId, boolean isImmersiveMode,
+            int windowType) {
         synchronized (mLock) {
             final SomeArgs args = SomeArgs.obtain();
             args.argi1 = rootDisplayAreaId;
             args.argi2 = isImmersiveMode ? 1 : 0;
+            args.argi3 = windowType;
             mHandler.obtainMessage(MSG_IMMERSIVE_CHANGED, args).sendToTarget();
         }
     }
@@ -2030,8 +2033,10 @@
                     args = (SomeArgs) msg.obj;
                     int rootDisplayAreaId = args.argi1;
                     boolean isImmersiveMode = args.argi2 != 0;
+                    int windowType = args.argi3;
                     for (int i = 0; i < mCallbacks.size(); i++) {
-                        mCallbacks.get(i).immersiveModeChanged(rootDisplayAreaId, isImmersiveMode);
+                        mCallbacks.get(i).immersiveModeChanged(rootDisplayAreaId, isImmersiveMode,
+                                windowType);
                     }
                     break;
                 case MSG_ENTER_DESKTOP: {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ImmersiveModeConfirmation.java b/packages/SystemUI/src/com/android/systemui/statusbar/ImmersiveModeConfirmation.java
index fed3f6e..97e62d7 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ImmersiveModeConfirmation.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ImmersiveModeConfirmation.java
@@ -23,6 +23,8 @@
 import static android.app.StatusBarManager.DISABLE_RECENT;
 import static android.view.Display.DEFAULT_DISPLAY;
 import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
+import static android.view.WindowManager.LayoutParams.TYPE_PRESENTATION;
+import static android.view.WindowManager.LayoutParams.TYPE_PRIVATE_PRESENTATION;
 import static android.window.DisplayAreaOrganizer.FEATURE_UNDEFINED;
 import static android.window.DisplayAreaOrganizer.KEY_ROOT_DISPLAY_AREA_ID;
 
@@ -208,7 +210,8 @@
     }
 
     @Override
-    public void immersiveModeChanged(int rootDisplayAreaId, boolean isImmersiveMode) {
+    public void immersiveModeChanged(int rootDisplayAreaId, boolean isImmersiveMode,
+            int windowType) {
         mHandler.removeMessages(H.SHOW);
         if (isImmersiveMode) {
             if (DEBUG) Log.d(TAG, "immersiveModeChanged() sConfirmed=" + sConfirmed);
@@ -221,7 +224,9 @@
                     && mCanSystemBarsBeShownByUser
                     && !mNavBarEmpty
                     && !UserManager.isDeviceInDemoMode(mDisplayContext)
-                    && (mLockTaskState != LOCK_TASK_MODE_LOCKED)) {
+                    && (mLockTaskState != LOCK_TASK_MODE_LOCKED)
+                    && windowType != TYPE_PRESENTATION
+                    && windowType != TYPE_PRIVATE_PRESENTATION) {
                 final Message msg = mHandler.obtainMessage(
                         H.SHOW);
                 msg.arg1 = rootDisplayAreaId;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/LockscreenShadeTransitionController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/LockscreenShadeTransitionController.kt
index 5b5058f..05ef164 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/LockscreenShadeTransitionController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/LockscreenShadeTransitionController.kt
@@ -36,6 +36,7 @@
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
 import com.android.systemui.statusbar.notification.row.ExpandableView
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi
 import com.android.systemui.statusbar.notification.stack.AmbientState
 import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController
 import com.android.systemui.statusbar.phone.CentralSurfaces
@@ -391,7 +392,9 @@
             }
             if (view is ExpandableNotificationRow) {
                 // Only drag down on sensitive views, otherwise the ExpandHelper will take this
-                return view.entry.isSensitive.value
+                return if (NotificationBundleUi.isEnabled)
+                    view.entryAdapter?.isSensitive?.value == true
+                else view.entry.isSensitive.value
             }
         }
         return false
@@ -559,12 +562,15 @@
         var userId: Int = lockScreenUserManager.getCurrentUserId()
         var entry: NotificationEntry? = null
         if (expandView is ExpandableNotificationRow) {
-            entry = expandView.entry
-            entry.setUserExpanded(/* userExpanded= */ true, /* allowChildExpansion= */ true)
+            expandView.setUserExpanded(/* userExpanded= */ true, /* allowChildExpansion= */ true)
             // Indicate that the group expansion is changing at this time -- this way the group
             // and children backgrounds / divider animations will look correct.
-            entry.setGroupExpansionChanging(true)
-            userId = entry.sbn.userId
+            expandView.isGroupExpansionChanging = true
+            if (NotificationBundleUi.isEnabled) {
+                userId = expandView.entryAdapter?.sbn?.userId!!
+            } else {
+                userId = expandView.entry.sbn.userId
+            }
         }
         var fullShadeNeedsBouncer =
             (!lockScreenUserManager.shouldShowLockscreenNotifications() ||
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java
index c0ee56b..0d34bdc 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java
@@ -133,11 +133,14 @@
             Integer actionIndex = (Integer)
                     view.getTag(com.android.internal.R.id.notification_action_index_tag);
 
+            final ExpandableNotificationRow row = getNotificationRowForParent(view.getParent());
             final NotificationEntry entry = getNotificationForParent(view.getParent());
-            mLogger.logInitialClick(entry, actionIndex, pendingIntent);
+            mLogger.logInitialClick(
+                    row != null ? row.getLoggingKey() : null, actionIndex, pendingIntent);
 
             if (handleRemoteInput(view, pendingIntent)) {
-                mLogger.logRemoteInputWasHandled(entry, actionIndex);
+                mLogger.logRemoteInputWasHandled(
+                        row != null ? row.getLoggingKey() : null, actionIndex);
                 return true;
             }
 
@@ -157,7 +160,8 @@
             return mCallback.handleRemoteViewClick(view, pendingIntent,
                     action == null ? false : action.isAuthenticationRequired(), actionIndex, () -> {
                     Pair<Intent, ActivityOptions> options = response.getLaunchOptions(view);
-                    mLogger.logStartingIntentWithDefaultHandler(entry, pendingIntent, actionIndex);
+                    mLogger.logStartingIntentWithDefaultHandler(
+                            row != null ? row.getLoggingKey() : null, pendingIntent, actionIndex);
                     boolean started = RemoteViews.startPendingIntent(view, pendingIntent, options);
                     if (started) releaseNotificationIfKeptForRemoteInputHistory(entry);
                     return started;
@@ -224,6 +228,16 @@
             return null;
         }
 
+        private @Nullable ExpandableNotificationRow getNotificationRowForParent(ViewParent parent) {
+            while (parent != null) {
+                if (parent instanceof ExpandableNotificationRow) {
+                    return ((ExpandableNotificationRow) parent);
+                }
+                parent = parent.getParent();
+            }
+            return null;
+        }
+
         private boolean handleRemoteInput(View view, PendingIntent pendingIntent) {
             if (mCallback.shouldHandleRemoteInput(view, pendingIntent)) {
                 return true;
@@ -722,7 +736,7 @@
      *
      * @return on-click handler
      */
-    public RemoteViews.InteractionHandler getRemoteViewsOnClickHandler() {
+    public InteractionHandler getRemoteViewsOnClickHandler() {
         return mInteractionHandler;
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java
index 31fdec6..f88c618 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java
@@ -50,6 +50,7 @@
 import com.android.systemui.statusbar.notification.row.ActivatableNotificationView;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
 import com.android.systemui.statusbar.notification.row.ExpandableView;
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 import com.android.systemui.statusbar.notification.shared.NotificationMinimalism;
 import com.android.systemui.statusbar.notification.shelf.NotificationShelfBackgroundView;
 import com.android.systemui.statusbar.notification.shelf.NotificationShelfIconContainer;
@@ -672,7 +673,9 @@
             // if the shelf is clipped, lets make sure we also clip the icon
             maxTop = Math.max(maxTop, getTranslationY() + getClipTopAmount());
         }
-        StatusBarIconView icon = row.getEntry().getIcons().getShelfIcon();
+        StatusBarIconView icon = NotificationBundleUi.isEnabled()
+                ? row.getEntryAdapter().getIcons().getShelfIcon()
+                : row.getEntry().getIcons().getShelfIcon();
         float shelfIconPosition = getTranslationY() + icon.getTop() + icon.getTranslationY();
         if (shelfIconPosition < maxTop && !mAmbientState.isFullyHidden()) {
             int top = (int) (maxTop - shelfIconPosition);
@@ -684,7 +687,9 @@
     }
 
     private void updateContinuousClipping(final ExpandableNotificationRow row) {
-        StatusBarIconView icon = row.getEntry().getIcons().getShelfIcon();
+        StatusBarIconView icon = NotificationBundleUi.isEnabled()
+                ? row.getEntryAdapter().getIcons().getShelfIcon()
+                : row.getEntry().getIcons().getShelfIcon();
         boolean needsContinuousClipping = ViewState.isAnimatingY(icon) && !mAmbientState.isDozing();
         boolean isContinuousClipping = icon.getTag(TAG_CONTINUOUS_CLIPPING) != null;
         if (needsContinuousClipping && !isContinuousClipping) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/ConnectivityModule.kt b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/ConnectivityModule.kt
index 10090283..48f0245 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/ConnectivityModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/ConnectivityModule.kt
@@ -34,6 +34,7 @@
 import com.android.systemui.qs.tiles.NfcTile
 import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor
 import com.android.systemui.qs.tiles.base.viewmodel.QSTileViewModelFactory
+import com.android.systemui.qs.tiles.dialog.InternetDetailsViewModel
 import com.android.systemui.qs.tiles.impl.airplane.domain.AirplaneModeMapper
 import com.android.systemui.qs.tiles.impl.airplane.domain.interactor.AirplaneModeTileDataInteractor
 import com.android.systemui.qs.tiles.impl.airplane.domain.interactor.AirplaneModeTileUserActionInteractor
@@ -162,13 +163,15 @@
             factory: QSTileViewModelFactory.Static<AirplaneModeTileModel>,
             mapper: AirplaneModeMapper,
             stateInteractor: AirplaneModeTileDataInteractor,
-            userActionInteractor: AirplaneModeTileUserActionInteractor
+            userActionInteractor: AirplaneModeTileUserActionInteractor,
+            internetDetailsViewModelFactory: InternetDetailsViewModel.Factory
         ): QSTileViewModel =
             factory.create(
                 TileSpec.create(AIRPLANE_MODE_TILE_SPEC),
                 userActionInteractor,
                 stateInteractor,
                 mapper,
+                internetDetailsViewModelFactory.create(),
             )
 
         @Provides
@@ -226,13 +229,15 @@
             factory: QSTileViewModelFactory.Static<InternetTileModel>,
             mapper: InternetTileMapper,
             stateInteractor: InternetTileDataInteractor,
-            userActionInteractor: InternetTileUserActionInteractor
+            userActionInteractor: InternetTileUserActionInteractor,
+            internetDetailsViewModelFactory: InternetDetailsViewModel.Factory
         ): QSTileViewModel =
             factory.create(
                 TileSpec.create(INTERNET_TILE_SPEC),
                 userActionInteractor,
                 stateInteractor,
                 mapper,
+                internetDetailsViewModelFactory.create(),
             )
 
         @Provides
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/core/MultiDisplayStatusBarOrchestratorStore.kt b/packages/SystemUI/src/com/android/systemui/statusbar/core/MultiDisplayStatusBarOrchestratorStore.kt
new file mode 100644
index 0000000..7069791
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/core/MultiDisplayStatusBarOrchestratorStore.kt
@@ -0,0 +1,99 @@
+/*
+ * 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.core
+
+import com.android.systemui.CoreStartable
+import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.dagger.qualifiers.Background
+import com.android.systemui.display.data.repository.DisplayRepository
+import com.android.systemui.display.data.repository.DisplayScopeRepository
+import com.android.systemui.display.data.repository.PerDisplayStoreImpl
+import com.android.systemui.statusbar.data.repository.StatusBarModeRepositoryStore
+import com.android.systemui.statusbar.phone.AutoHideControllerStore
+import com.android.systemui.statusbar.window.StatusBarWindowControllerStore
+import com.android.systemui.statusbar.window.data.repository.StatusBarWindowStateRepositoryStore
+import dagger.Lazy
+import dagger.Module
+import dagger.Provides
+import dagger.multibindings.ClassKey
+import dagger.multibindings.IntoMap
+import javax.inject.Inject
+import kotlinx.coroutines.CoroutineScope
+
+/** [PerDisplayStoreImpl] for providing display specific [StatusBarOrchestrator]. */
+@SysUISingleton
+class MultiDisplayStatusBarOrchestratorStore
+@Inject
+constructor(
+    @Background backgroundApplicationScope: CoroutineScope,
+    displayRepository: DisplayRepository,
+    private val factory: StatusBarOrchestrator.Factory,
+    private val statusBarWindowControllerStore: StatusBarWindowControllerStore,
+    private val statusBarModeRepositoryStore: StatusBarModeRepositoryStore,
+    private val initializerStore: StatusBarInitializerStore,
+    private val autoHideControllerStore: AutoHideControllerStore,
+    private val displayScopeRepository: DisplayScopeRepository,
+    private val statusBarWindowStateRepositoryStore: StatusBarWindowStateRepositoryStore,
+) : PerDisplayStoreImpl<StatusBarOrchestrator>(backgroundApplicationScope, displayRepository) {
+
+    init {
+        StatusBarConnectedDisplays.assertInNewMode()
+    }
+
+    override fun createInstanceForDisplay(displayId: Int): StatusBarOrchestrator? {
+        val statusBarModeRepository =
+            statusBarModeRepositoryStore.forDisplay(displayId) ?: return null
+        val statusBarInitializer = initializerStore.forDisplay(displayId) ?: return null
+        val statusBarWindowController =
+            statusBarWindowControllerStore.forDisplay(displayId) ?: return null
+        val autoHideController = autoHideControllerStore.forDisplay(displayId) ?: return null
+        return factory.create(
+            displayId,
+            // TODO: b/398825844 - Handle nullness to prevent leaking CoroutineScope.
+            displayScopeRepository.scopeForDisplay(displayId),
+            statusBarWindowStateRepositoryStore.forDisplay(displayId),
+            statusBarModeRepository,
+            statusBarInitializer,
+            statusBarWindowController,
+            autoHideController,
+        )
+    }
+
+    override val instanceClass = StatusBarOrchestrator::class.java
+
+    override suspend fun onDisplayRemovalAction(instance: StatusBarOrchestrator) {
+        instance.stop()
+    }
+}
+
+@Module
+interface MultiDisplayStatusBarOrchestratorStoreModule {
+
+    @Provides
+    @SysUISingleton
+    @IntoMap
+    @ClassKey(MultiDisplayStatusBarOrchestratorStore::class)
+    fun storeAsCoreStartable(
+        multiDisplayLazy: Lazy<MultiDisplayStatusBarOrchestratorStore>
+    ): CoreStartable {
+        return if (StatusBarConnectedDisplays.isEnabled) {
+            multiDisplayLazy.get()
+        } else {
+            CoreStartable.NOP
+        }
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/core/MultiDisplayStatusBarStarter.kt b/packages/SystemUI/src/com/android/systemui/statusbar/core/MultiDisplayStatusBarStarter.kt
index eeb7a40..dfb3763 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/core/MultiDisplayStatusBarStarter.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/core/MultiDisplayStatusBarStarter.kt
@@ -23,13 +23,8 @@
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.dagger.qualifiers.Application
 import com.android.systemui.display.data.repository.DisplayRepository
-import com.android.systemui.display.data.repository.DisplayScopeRepository
 import com.android.systemui.statusbar.data.repository.LightBarControllerStore
 import com.android.systemui.statusbar.data.repository.PrivacyDotWindowControllerStore
-import com.android.systemui.statusbar.data.repository.StatusBarModeRepositoryStore
-import com.android.systemui.statusbar.phone.AutoHideControllerStore
-import com.android.systemui.statusbar.window.StatusBarWindowControllerStore
-import com.android.systemui.statusbar.window.data.repository.StatusBarWindowStateRepositoryStore
 import com.android.systemui.util.kotlin.pairwiseBy
 import javax.inject.Inject
 import kotlinx.coroutines.CoroutineScope
@@ -44,15 +39,9 @@
 @Inject
 constructor(
     @Application private val applicationScope: CoroutineScope,
-    private val displayScopeRepository: DisplayScopeRepository,
-    private val statusBarOrchestratorFactory: StatusBarOrchestrator.Factory,
-    private val statusBarWindowStateRepositoryStore: StatusBarWindowStateRepositoryStore,
-    private val statusBarModeRepositoryStore: StatusBarModeRepositoryStore,
+    private val multiDisplayStatusBarOrchestratorStore: MultiDisplayStatusBarOrchestratorStore,
     private val displayRepository: DisplayRepository,
-    private val initializerStore: StatusBarInitializerStore,
-    private val statusBarWindowControllerStore: StatusBarWindowControllerStore,
     private val statusBarInitializerStore: StatusBarInitializerStore,
-    private val autoHideControllerStore: AutoHideControllerStore,
     private val privacyDotWindowControllerStore: PrivacyDotWindowControllerStore,
     private val lightBarControllerStore: LightBarControllerStore,
     private val windowManager: IWindowManager,
@@ -74,15 +63,14 @@
                         // TODO(b/393191204): Split navbar, status bar, etc. functionality
                         // from WindowManager#shouldShowSystemDecors.
                         if (windowManager.shouldShowSystemDecors(it.displayId)) {
-                            createAndStartComponentsForDisplay(it)
+                            createAndStartComponentsForDisplay(it.displayId)
                         }
                     }
                 }
         }
     }
 
-    private fun createAndStartComponentsForDisplay(display: Display) {
-        val displayId = display.displayId
+    private fun createAndStartComponentsForDisplay(displayId: Int) {
         createAndStartOrchestratorForDisplay(displayId)
         createAndStartInitializerForDisplay(displayId)
         startPrivacyDotForDisplay(displayId)
@@ -97,22 +85,7 @@
     }
 
     private fun createAndStartOrchestratorForDisplay(displayId: Int) {
-        val statusBarModeRepository = statusBarModeRepositoryStore.forDisplay(displayId) ?: return
-        val statusBarInitializer = initializerStore.forDisplay(displayId) ?: return
-        val statusBarWindowController =
-            statusBarWindowControllerStore.forDisplay(displayId) ?: return
-        val autoHideController = autoHideControllerStore.forDisplay(displayId) ?: return
-        statusBarOrchestratorFactory
-            .create(
-                displayId,
-                displayScopeRepository.scopeForDisplay(displayId),
-                statusBarWindowStateRepositoryStore.forDisplay(displayId),
-                statusBarModeRepository,
-                statusBarInitializer,
-                statusBarWindowController,
-                autoHideController,
-            )
-            .start()
+        multiDisplayStatusBarOrchestratorStore.forDisplay(displayId)?.start()
     }
 
     private fun createAndStartInitializerForDisplay(displayId: Int) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/core/StatusBarOrchestrator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/core/StatusBarOrchestrator.kt
index 9d55f6c..73ada54 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/core/StatusBarOrchestrator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/core/StatusBarOrchestrator.kt
@@ -19,7 +19,7 @@
 import android.view.Display
 import android.view.View
 import com.android.app.tracing.coroutines.launchTraced as launch
-import com.android.systemui.CoreStartable
+import com.android.systemui.Dumpable
 import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerInteractor
 import com.android.systemui.dagger.qualifiers.Main
 import com.android.systemui.demomode.DemoModeController
@@ -50,6 +50,7 @@
 import java.util.Optional
 import kotlin.coroutines.CoroutineContext
 import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Job
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.combine
 import kotlinx.coroutines.flow.distinctUntilChangedBy
@@ -82,7 +83,7 @@
     private val dumpManager: DumpManager,
     powerInteractor: PowerInteractor,
     primaryBouncerInteractor: PrimaryBouncerInteractor,
-) : CoreStartable {
+) : Dumpable {
 
     private val dumpableName: String =
         if (displayId == Display.DEFAULT_DISPLAY) {
@@ -91,6 +92,8 @@
             "${javaClass.simpleName}$displayId"
         }
 
+    private var startJob: Job? = null
+
     private val phoneStatusBarViewController =
         MutableStateFlow<PhoneStatusBarViewController?>(value = null)
 
@@ -141,32 +144,33 @@
                 Pair(barTransitions, statusBarMode)
             }
 
-    override fun start() {
+    /** Starts status bar orchestration. To be called when status bar is created. */
+    fun start() {
         StatusBarConnectedDisplays.assertInNewMode()
-        coroutineScope
-            // Perform animations on the main thread to prevent crashes.
-            .launch(context = mainContext) {
-                dumpManager.registerCriticalDumpable(dumpableName, this@StatusBarOrchestrator)
-                launch {
-                    controllerAndBouncerShowing.collect { (controller, bouncerShowing) ->
-                        setBouncerShowingForStatusBarComponents(controller, bouncerShowing)
+        startJob =
+            coroutineScope
+                // Perform animations on the main thread to prevent crashes.
+                .launch(context = mainContext) {
+                    dumpManager.registerCriticalDumpable(dumpableName, this@StatusBarOrchestrator)
+                    launch {
+                        controllerAndBouncerShowing.collect { (controller, bouncerShowing) ->
+                            setBouncerShowingForStatusBarComponents(controller, bouncerShowing)
+                        }
                     }
-                }
-                launch {
-                    barTransitionsAndDeviceAsleep.collect { (barTransitions, deviceAsleep) ->
-                        if (deviceAsleep) {
-                            barTransitions.finishAnimations()
+                    launch {
+                        barTransitionsAndDeviceAsleep.collect { (barTransitions, deviceAsleep) ->
+                            if (deviceAsleep) {
+                                barTransitions.finishAnimations()
+                            }
+                        }
+                    }
+                    launch { statusBarVisible.collect { updateBubblesVisibility(it) } }
+                    launch {
+                        barModeUpdate.collect { (animate, barTransitions, statusBarMode) ->
+                            updateBarMode(animate, barTransitions, statusBarMode)
                         }
                     }
                 }
-                launch { statusBarVisible.collect { updateBubblesVisibility(it) } }
-                launch {
-                    barModeUpdate.collect { (animate, barTransitions, statusBarMode) ->
-                        updateBarMode(animate, barTransitions, statusBarMode)
-                    }
-                }
-            }
-            .invokeOnCompletion { dumpManager.unregisterDumpable(dumpableName) }
         createAndAddWindow()
         setupPluginDependencies()
         setUpAutoHide()
@@ -272,6 +276,16 @@
         )
     }
 
+    /**
+     * Called when the [StatusBarOrchestrator] should stop doing any work and clean up if needed.
+     */
+    fun stop() {
+        StatusBarConnectedDisplays.assertInNewMode()
+        dumpManager.unregisterDumpable(dumpableName)
+        startJob?.cancel()
+        startJob = null
+    }
+
     @AssistedFactory
     interface Factory {
         fun create(
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStore.kt b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStore.kt
index 086cc99..86c3c48 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStore.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStore.kt
@@ -77,6 +77,10 @@
     }
 
     override val instanceClass = PrivacyDotWindowController::class.java
+
+    override suspend fun onDisplayRemovalAction(instance: PrivacyDotWindowController) {
+        instance.stop()
+    }
 }
 
 @Module
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/events/PrivacyDotWindowController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/events/PrivacyDotWindowController.kt
index f7799bb..e2bcfb7 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/events/PrivacyDotWindowController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/events/PrivacyDotWindowController.kt
@@ -59,6 +59,7 @@
     @ScreenDecorationsThread private val uiExecutor: Executor,
     private val dotFactory: PrivacyDotDecorProviderFactory,
 ) {
+    private val dotViews: MutableSet<View> = mutableSetOf()
 
     fun start() {
         uiExecutor.execute { startOnUiThread() }
@@ -72,10 +73,13 @@
         val bottomLeft = providers.inflate(BOUNDS_POSITION_BOTTOM, BOUNDS_POSITION_LEFT)
         val bottomRight = providers.inflate(BOUNDS_POSITION_BOTTOM, BOUNDS_POSITION_RIGHT)
 
-        topLeft.addToWindow(TopLeft)
-        topRight.addToWindow(TopRight)
-        bottomLeft.addToWindow(BottomLeft)
-        bottomRight.addToWindow(BottomRight)
+        listOfNotNull(
+                topLeft.addToWindow(TopLeft),
+                topRight.addToWindow(TopRight),
+                bottomLeft.addToWindow(BottomLeft),
+                bottomRight.addToWindow(BottomRight),
+            )
+            .forEach { dotViews.add(it) }
 
         privacyDotViewController.initialize(topLeft, topRight, bottomLeft, bottomRight)
     }
@@ -87,7 +91,7 @@
         return inflater.inflate(/* resource= */ provider.layoutId, /* root= */ null)
     }
 
-    private fun View.addToWindow(corner: PrivacyDotCorner) {
+    private fun View.addToWindow(corner: PrivacyDotCorner): View? {
         val excludeFromScreenshots = displayId == Display.DEFAULT_DISPLAY
         val params =
             ScreenDecorations.getWindowLayoutBaseParams(excludeFromScreenshots).apply {
@@ -110,6 +114,11 @@
                 e,
             )
         }
+        return rootView
+    }
+
+    fun stop() {
+        dotViews.forEach { viewCaptureAwareWindowManager.removeView(it) }
     }
 
     @AssistedFactory
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/layout/LetterboxBackgroundProvider.kt b/packages/SystemUI/src/com/android/systemui/statusbar/layout/LetterboxBackgroundProvider.kt
index 3d8ced1..a1536e3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/layout/LetterboxBackgroundProvider.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/layout/LetterboxBackgroundProvider.kt
@@ -23,7 +23,6 @@
 import android.os.RemoteException
 import android.view.IWindowManager
 import com.android.systemui.CoreStartable
-import com.android.systemui.Dumpable
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.dagger.qualifiers.Background
 import com.android.systemui.dagger.qualifiers.Main
@@ -40,7 +39,7 @@
     @Background private val backgroundExecutor: Executor,
     private val wallpaperManager: WallpaperManager,
     @Main private val mainHandler: Handler,
-) : CoreStartable, Dumpable {
+) : CoreStartable {
     @ColorInt
     var letterboxBackgroundColor: Int = Color.BLACK
         private set
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt
index e6dd09b..e00d025 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt
@@ -331,7 +331,7 @@
     }
 
     /** Constructs the date view and connects it to the smartspace service. */
-    fun buildAndConnectDateView(parent: ViewGroup): View? {
+    fun buildAndConnectDateView(parent: ViewGroup, isLargeClock: Boolean): View? {
         execution.assertIsMainThread()
 
         if (!isEnabled) {
@@ -346,6 +346,7 @@
                 surfaceName = SmartspaceViewModel.SURFACE_DATE_VIEW,
                 parent = parent,
                 plugin = datePlugin,
+                isLargeClock = isLargeClock
             )
         connectSession()
 
@@ -353,7 +354,7 @@
     }
 
     /** Constructs the weather view and connects it to the smartspace service. */
-    fun buildAndConnectWeatherView(parent: ViewGroup): View? {
+    fun buildAndConnectWeatherView(parent: ViewGroup, isLargeClock: Boolean): View? {
         execution.assertIsMainThread()
 
         if (!isEnabled) {
@@ -368,6 +369,7 @@
                 surfaceName = SmartspaceViewModel.SURFACE_WEATHER_VIEW,
                 parent = parent,
                 plugin = weatherPlugin,
+                isLargeClock = isLargeClock,
             )
         connectSession()
 
@@ -390,6 +392,7 @@
                 parent = parent,
                 plugin = plugin,
                 configPlugin = configPlugin,
+                isLargeClock = false,
             )
         connectSession()
 
@@ -401,12 +404,13 @@
         parent: ViewGroup,
         plugin: BcSmartspaceDataPlugin?,
         configPlugin: BcSmartspaceConfigPlugin? = null,
+        isLargeClock: Boolean,
     ): View? {
         if (plugin == null) {
             return null
         }
 
-        val ssView = plugin.getView(parent)
+        val ssView = if (isLargeClock) plugin.getLargeClockView(parent) else plugin.getView(parent)
         configPlugin?.let { ssView.registerConfigProvider(it) }
         ssView.setBgHandler(bgHandler)
         ssView.setUiSurface(BcSmartspaceDataPlugin.UI_SURFACE_LOCK_SCREEN_AOD)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/ConversationNotifications.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/ConversationNotifications.kt
index 9bc5231..df8fb5e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/ConversationNotifications.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/ConversationNotifications.kt
@@ -74,7 +74,7 @@
             else
                 Notification.MessagingStyle.CONVERSATION_TYPE_LEGACY
         entry.ranking.conversationShortcutInfo?.let { shortcutInfo ->
-            logger.logAsyncTaskProgress(entry, "getting shortcut icon")
+            logger.logAsyncTaskProgress(entry.logKey, "getting shortcut icon")
             messagingStyle.shortcutIcon = launcherApps.getShortcutIcon(shortcutInfo)
             shortcutInfo.label?.let { label -> messagingStyle.conversationTitle = label }
         }
@@ -91,7 +91,7 @@
                     ImageSpan(it, ImageSpan.ALIGN_CENTER)
                 }
             val decoratedSummary =
-                SpannableString("x" + entry.ranking.summarization).apply {
+                SpannableString("x " + entry.ranking.summarization).apply {
                     setSpan(
                         /* what = */ imageSpan,
                         /* start = */ 0,
@@ -100,9 +100,9 @@
                     )
                     entry.ranking.summarization?.let {
                         setSpan(
-                            /* what = */ StyleSpan(Typeface.BOLD),
-                            /* start = */ 1,
-                            /* end = */ it.length,
+                            /* what = */ StyleSpan(Typeface.ITALIC),
+                            /* start = */ 2,
+                            /* end = */ it.length + 2,
                             /* flags = */ Spanned.SPAN_EXCLUSIVE_INCLUSIVE,
                         )
                     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationClicker.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationClicker.java
index 6487d55..4053d06 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationClicker.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationClicker.java
@@ -25,6 +25,7 @@
 import com.android.systemui.power.domain.interactor.PowerInteractor;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 import com.android.wm.shell.bubbles.Bubbles;
 
 import java.util.Optional;
@@ -73,25 +74,25 @@
 
         final ExpandableNotificationRow row = (ExpandableNotificationRow) v;
         final NotificationEntry entry = row.getEntry();
-        mLogger.logOnClick(entry);
+        mLogger.logOnClick(row.getLoggingKey());
 
         // Check if the notification is displaying the menu, if so slide notification back
         if (isMenuVisible(row)) {
-            mLogger.logMenuVisible(entry);
+            mLogger.logMenuVisible(row.getLoggingKey());
             row.animateResetTranslation();
             return;
         } else if (row.isChildInGroup() && isMenuVisible(row.getNotificationParent())) {
-            mLogger.logParentMenuVisible(entry);
+            mLogger.logParentMenuVisible(row.getLoggingKey());
             row.getNotificationParent().animateResetTranslation();
             return;
         } else if (row.isSummaryWithChildren() && row.areChildrenExpanded()) {
             // We never want to open the app directly if the user clicks in between
             // the notifications.
-            mLogger.logChildrenExpanded(entry);
+            mLogger.logChildrenExpanded(row.getLoggingKey());
             return;
         } else if (row.areGutsExposed()) {
             // ignore click if guts are exposed
-            mLogger.logGutsExposed(entry);
+            mLogger.logGutsExposed(row.getLoggingKey());
             return;
         }
 
@@ -99,8 +100,14 @@
         row.setJustClicked(true);
         DejankUtils.postAfterTraversal(() -> row.setJustClicked(false));
 
-        if (!row.getEntry().isBubble() && mBubblesOptional.isPresent()) {
-            mBubblesOptional.get().collapseStack();
+        if (NotificationBundleUi.isEnabled()) {
+            if (!row.getEntryAdapter().isBubbleCapable() && mBubblesOptional.isPresent()) {
+                mBubblesOptional.get().collapseStack();
+            }
+        } else {
+            if (!row.getEntry().isBubble() && mBubblesOptional.isPresent()) {
+                mBubblesOptional.get().collapseStack();
+            }
         }
 
         mNotificationActivityStarter.onNotificationClicked(entry, row);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationClickerLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationClickerLogger.kt
index cea2b59..812c609 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationClickerLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationClickerLogger.kt
@@ -25,42 +25,41 @@
 class NotificationClickerLogger @Inject constructor(
     @NotifInteractionLog private val buffer: LogBuffer
 ) {
-    fun logOnClick(entry: NotificationEntry) {
+    fun logOnClick(entry: String) {
         buffer.log(TAG, LogLevel.DEBUG, {
-            str1 = entry.logKey
-            str2 = entry.ranking.channel.id
+            str1 = entry
         }, {
-            "CLICK $str1 (channel=$str2)"
+            "CLICK $str1"
         })
     }
 
-    fun logMenuVisible(entry: NotificationEntry) {
+    fun logMenuVisible(entry: String) {
         buffer.log(TAG, LogLevel.DEBUG, {
-            str1 = entry.logKey
+            str1 = entry
         }, {
             "Ignoring click on $str1; menu is visible"
         })
     }
 
-    fun logParentMenuVisible(entry: NotificationEntry) {
+    fun logParentMenuVisible(entry: String) {
         buffer.log(TAG, LogLevel.DEBUG, {
-            str1 = entry.logKey
+            str1 = entry
         }, {
             "Ignoring click on $str1; parent menu is visible"
         })
     }
 
-    fun logChildrenExpanded(entry: NotificationEntry) {
+    fun logChildrenExpanded(entry: String) {
         buffer.log(TAG, LogLevel.DEBUG, {
-            str1 = entry.logKey
+            str1 = entry
         }, {
             "Ignoring click on $str1; children are expanded"
         })
     }
 
-    fun logGutsExposed(entry: NotificationEntry) {
+    fun logGutsExposed(entry: String) {
         buffer.log(TAG, LogLevel.DEBUG, {
-            str1 = entry.logKey
+            str1 = entry
         }, {
             "Ignoring click on $str1; guts are exposed"
         })
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 ab40582..874a059 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationTransitionAnimatorController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationTransitionAnimatorController.kt
@@ -26,6 +26,7 @@
 import com.android.systemui.statusbar.notification.headsup.HeadsUpManager
 import com.android.systemui.statusbar.notification.headsup.HeadsUpUtil
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi
 import com.android.systemui.statusbar.notification.stack.NotificationListContainer
 import kotlin.math.ceil
 import kotlin.math.max
@@ -74,7 +75,7 @@
     }
 
     private val notificationEntry = notification.entry
-    private val notificationKey = notificationEntry.sbn.key
+    private val notificationKey = notification.key
 
     override val isLaunching: Boolean = true
 
@@ -117,7 +118,7 @@
         params.startNotificationTop = location[1]
         params.notificationParentTop =
             notificationListContainer
-                .getViewParentForNotification(notificationEntry)
+                .getViewParentForNotification()
                 .locationOnScreen[1]
         params.startRoundedTopClipping = roundedTopClipping
         params.startClipTopAmount = notification.clipTopAmount
@@ -148,7 +149,7 @@
             Log.d(TAG, reason)
         }
         notificationLaunchAnimationInteractor.setIsLaunchAnimationRunning(willAnimate)
-        notificationEntry.isExpandAnimationRunning = willAnimate
+        notification.isLaunchAnimationRunning = willAnimate
 
         if (!willAnimate) {
             removeHun(animate = true, reason)
@@ -158,7 +159,8 @@
 
     private val headsUpNotificationRow: ExpandableNotificationRow?
         get() {
-            val pipelineParent = notificationEntry.parent
+            val pipelineParent = if (NotificationBundleUi.isEnabled)
+                notification.entryAdapter?.parent else notificationEntry.parent
             val summaryEntry = (pipelineParent as? GroupEntry)?.summary
             return when {
                 headsUpManager.isHeadsUpEntry(notificationKey) -> notification
@@ -175,7 +177,7 @@
         HeadsUpUtil.setNeedsHeadsUpDisappearAnimationAfterClick(notification, animate)
 
         headsUpManager.removeNotification(
-            row.entry.key,
+            row.key,
             true /* releaseImmediately */,
             animate,
             reason,
@@ -190,7 +192,7 @@
         // TODO(b/184121838): Should we call InteractionJankMonitor.cancel if the animation started
         // here?
         notificationLaunchAnimationInteractor.setIsLaunchAnimationRunning(false)
-        notificationEntry.isExpandAnimationRunning = false
+        notification.isLaunchAnimationRunning = false
         removeHun(animate = true, "onLaunchAnimationCancelled()")
         onFinishAnimationCallback?.run()
     }
@@ -210,7 +212,7 @@
 
         notification.isExpandAnimationRunning = false
         notificationLaunchAnimationInteractor.setIsLaunchAnimationRunning(false)
-        notificationEntry.isExpandAnimationRunning = false
+        notification.isLaunchAnimationRunning = false
         notificationListContainer.setExpandingNotification(null)
         applyParams(null)
         removeHun(animate = false, "onLaunchAnimationEnd()")
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 31bcf2b..acbcab0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.java
@@ -94,7 +94,7 @@
 
     /** Get the notification key, reformatted for logging, for the (optional) row */
     public static String logKey(ExpandableNotificationRow row) {
-        return row == null ? "null" : logKey(row.getEntry());
+        return row == null ? "null" : row.getLoggingKey();
     }
 
     /** Removes newlines from the notification key to prettify apps that have these in the tag */
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/PhysicsPropertyAnimator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/PhysicsPropertyAnimator.kt
index 74faf25..0a24d7a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/PhysicsPropertyAnimator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/PhysicsPropertyAnimator.kt
@@ -15,12 +15,12 @@
  */
 package com.android.systemui.statusbar.notification
 
+import android.util.FloatProperty
 import android.util.Property
 import android.view.View
-import androidx.dynamicanimation.animation.DynamicAnimation
-import androidx.dynamicanimation.animation.FloatPropertyCompat
-import androidx.dynamicanimation.animation.SpringAnimation
-import androidx.dynamicanimation.animation.SpringForce
+import com.android.internal.dynamicanimation.animation.DynamicAnimation
+import com.android.internal.dynamicanimation.animation.SpringAnimation
+import com.android.internal.dynamicanimation.animation.SpringForce
 import com.android.systemui.res.R
 import com.android.systemui.statusbar.notification.PhysicsPropertyAnimator.Companion.createDefaultSpring
 import com.android.systemui.statusbar.notification.stack.AnimationProperties
@@ -33,8 +33,8 @@
  */
 data class PhysicsProperty(val tag: Int, val property: Property<View, Float>) {
     val offsetProperty =
-        object : FloatPropertyCompat<View>(property.name) {
-            override fun getValue(view: View): Float {
+        object : FloatProperty<View>(property.name) {
+            override fun get(view: View): Float {
                 return property.get(view)
             }
 
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 35a2828..6dd44a1 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
@@ -24,7 +24,9 @@
 import android.app.Notification;
 import android.content.Context;
 import android.os.Build;
+import android.service.notification.StatusBarNotification;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
@@ -34,6 +36,10 @@
 
 import java.util.List;
 
+import kotlinx.coroutines.flow.MutableStateFlow;
+import kotlinx.coroutines.flow.StateFlow;
+import kotlinx.coroutines.flow.StateFlowKt;
+
 /**
  * Class to represent notifications bundled by classification.
  */
@@ -41,6 +47,9 @@
 
     private final BundleEntryAdapter mEntryAdapter;
 
+    // TODO(b/394483200): move NotificationEntry's implementation to PipelineEntry?
+    private final MutableStateFlow<Boolean> mSensitive = StateFlowKt.MutableStateFlow(false);
+
     // TODO (b/389839319): implement the row
     private ExpandableNotificationRow mRow;
 
@@ -97,20 +106,26 @@
             return true;
         }
 
+        @NonNull
         @Override
         public String getKey() {
             return mKey;
         }
 
         @Override
+        @Nullable
         public ExpandableNotificationRow getRow() {
             return mRow;
         }
 
-        @Nullable
         @Override
-        public EntryAdapter getGroupRoot() {
-            return this;
+        public boolean isGroupRoot() {
+            return true;
+        }
+
+        @Override
+        public StateFlow<Boolean> isSensitive() {
+            return BundleEntry.this.mSensitive;
         }
 
         @Override
@@ -149,6 +164,48 @@
             // TODO(b/396446620): implement bundle icons
             return null;
         }
+
+        @Override
+        public boolean isColorized() {
+            return false;
+        }
+
+        @Override
+        @Nullable
+        public StatusBarNotification getSbn() {
+            return null;
+        }
+
+        @Override
+        public boolean canDragAndDrop() {
+            return false;
+        }
+
+        @Override
+        public boolean isBubbleCapable() {
+            return false;
+        }
+
+        @Override
+        @Nullable
+        public String getStyle() {
+            return null;
+        }
+
+        @Override
+        public int getSectionBucket() {
+            return mBucket;
+        }
+
+        @Override
+        public boolean isAmbient() {
+            return false;
+        }
+
+        @Override
+        public boolean isFullScreenCapable() {
+            return false;
+        }
     }
 
     public static final List<BundleEntry> ROOT_BUNDLES = List.of(
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/EntryAdapter.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/EntryAdapter.java
index 6431cac..307a957 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/EntryAdapter.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/EntryAdapter.java
@@ -17,6 +17,7 @@
 package com.android.systemui.statusbar.notification.collection;
 
 import android.content.Context;
+import android.service.notification.StatusBarNotification;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -24,6 +25,8 @@
 import com.android.systemui.statusbar.notification.icon.IconPack;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
 
+import kotlinx.coroutines.flow.StateFlow;
+
 /**
  * Adapter interface for UI to get relevant info.
  */
@@ -51,15 +54,10 @@
     ExpandableNotificationRow getRow();
 
     /**
-     * Gets the EntryAdapter that is the nearest root of the collection of rows the given entry
-     * belongs to. If the given entry is a BundleEntry or an isolated child of a BundleEntry, the
-     * BundleEntry will be returned. If the given notification is a group summary NotificationEntry,
-     * or a child of a group summary, the summary NotificationEntry will be returned, even if that
-     * summary belongs to a BundleEntry. If the entry is a notification that does not belong to any
-     * group or bundle grouping, null will be returned.
+     * Whether this entry is the root of its collapsable 'group' - either a BundleEntry or a
+     * notification group summary
      */
-    @Nullable
-    EntryAdapter getGroupRoot();
+    boolean isGroupRoot();
 
     /**
      * @return whether the row can be removed with the 'Clear All' action
@@ -107,4 +105,35 @@
      * Retrieves the pack of icons associated with this entry
      */
     IconPack getIcons();
+
+    /**
+     * Returns whether the content of this entry is sensitive
+     */
+    StateFlow<Boolean> isSensitive();
+
+    /**
+     * Returns whether this row has a background color set by an app
+     */
+    boolean isColorized();
+
+    /**
+     * Returns the SBN that backs this row, if present
+     */
+    @Nullable
+    StatusBarNotification getSbn();
+
+    boolean canDragAndDrop();
+
+    boolean isBubbleCapable();
+
+    @Nullable String getStyle();
+
+    int getSectionBucket();
+
+    boolean isAmbient();
+
+    default boolean isFullScreenCapable() {
+        return false;
+    }
 }
+
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifCollection.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifCollection.java
index 826329d..9795edf 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifCollection.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifCollection.java
@@ -96,6 +96,7 @@
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifLifetimeExtender;
 import com.android.systemui.statusbar.notification.collection.notifcollection.RankingAppliedEvent;
 import com.android.systemui.statusbar.notification.collection.notifcollection.RankingUpdatedEvent;
+import com.android.systemui.statusbar.notification.collection.notifcollection.UpdateSource;
 import com.android.systemui.statusbar.notification.collection.provider.NotificationDismissibilityProvider;
 import com.android.systemui.util.Assert;
 import com.android.systemui.util.NamedListenerSet;
@@ -547,6 +548,12 @@
             // TODO: If a coalesced event ever gets here, it's possible to lose track of children,
             //  since their rankings might have been updated earlier (and thus we may no longer
             //  think a child is associated with this locally-dismissed entry).
+            // If the postTime remains the same, we can assume the update is from SystemServer, not
+            // the app.
+            long lastUpdateTime = entry.getSbn().getPostTime();
+            UpdateSource source = sbn.getPostTime() == lastUpdateTime
+                    ? UpdateSource.SystemServer
+                    : UpdateSource.App;
             cancelLocalDismissal(entry);
             cancelLifetimeExtension(entry);
             cancelDismissInterception(entry);
@@ -556,7 +563,7 @@
             mEventQueue.add(new BindEntryEvent(entry, sbn));
 
             mLogger.logNotifUpdated(entry);
-            mEventQueue.add(new EntryUpdatedEvent(entry, true /* fromSystem */));
+            mEventQueue.add(new EntryUpdatedEvent(entry, source));
         }
     }
 
@@ -620,7 +627,7 @@
     }
 
     private boolean isDismissable(NotificationEntry entry) {
-        return mDismissibilityProvider.isDismissable(entry);
+        return mDismissibilityProvider.isDismissable(entry.getKey());
     }
 
     /**
@@ -1045,7 +1052,7 @@
         mEventQueue.add(new BindEntryEvent(entry, sbn));
 
         mLogger.logNotifUpdated(entry);
-        mEventQueue.add(new EntryUpdatedEvent(entry, false /* fromSystem */));
+        mEventQueue.add(new EntryUpdatedEvent(entry, UpdateSource.SystemUi));
 
         // Skip the applyRanking step and go straight to dispatching the events
         dispatchEventsAndRebuildList("updateNotificationInternally");
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 e5b72d4..b19ba3a 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
@@ -32,7 +32,6 @@
 import static com.android.systemui.statusbar.notification.collection.BundleEntry.ROOT_BUNDLES;
 import static com.android.systemui.statusbar.notification.collection.GroupEntry.ROOT_ENTRY;
 import static com.android.systemui.statusbar.notification.collection.NotifCollection.REASON_NOT_CANCELED;
-import static com.android.systemui.statusbar.notification.stack.NotificationPriorityBucketKt.BUCKET_ALERTING;
 
 import static java.util.Objects.requireNonNull;
 
@@ -42,6 +41,7 @@
 import android.app.Notification.MessagingStyle.Message;
 import android.app.NotificationChannel;
 import android.app.NotificationManager.Policy;
+import android.app.PendingIntent;
 import android.app.Person;
 import android.app.RemoteInput;
 import android.app.RemoteInputHistoryItem;
@@ -79,7 +79,6 @@
 import com.android.systemui.statusbar.notification.row.shared.NotificationContentModel;
 import com.android.systemui.statusbar.notification.row.shared.NotificationRowContentBinderRefactor;
 import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
-import com.android.systemui.statusbar.notification.stack.PriorityBucket;
 import com.android.systemui.util.ListenerSet;
 
 import kotlinx.coroutines.flow.MutableStateFlow;
@@ -183,7 +182,6 @@
             new ListenerSet<>();
 
     private boolean mPulseSupressed;
-    private int mBucket = BUCKET_ALERTING;
     private boolean mIsMarkedForUserTriggeredMovement;
     private boolean mIsHeadsUpEntry;
 
@@ -297,20 +295,20 @@
             return NotificationEntry.this.getRow();
         }
 
-        @Nullable
         @Override
-        public EntryAdapter getGroupRoot() {
-            // TODO (b/395857098): for backwards compatibility this will return null if called
-            // on a group summary that's not in a bundles, but it should return itself.
+        public boolean isGroupRoot() {
             if (isTopLevelEntry() || getParent() == null) {
-                return null;
+                return false;
             }
             if (NotificationEntry.this.getParent() instanceof GroupEntry parentGroupEntry) {
-                if (parentGroupEntry.getSummary() != null) {
-                    return parentGroupEntry.getSummary().mEntryAdapter;
-                }
+                return parentGroupEntry.getSummary() == NotificationEntry.this;
             }
-            return null;
+            return false;
+        }
+
+        @Override
+        public StateFlow<Boolean> isSensitive() {
+            return NotificationEntry.this.isSensitive();
         }
 
         @Override
@@ -353,6 +351,56 @@
         public IconPack getIcons() {
             return NotificationEntry.this.getIcons();
         }
+
+        @Override
+        public boolean isColorized() {
+            return getSbn().getNotification().isColorized();
+        }
+
+        @Override
+        @Nullable
+        public StatusBarNotification getSbn() {
+            return NotificationEntry.this.getSbn();
+        }
+
+        @Override
+        public boolean canDragAndDrop() {
+            boolean canBubble = canBubble();
+            Notification notif = getSbn().getNotification();
+            PendingIntent dragIntent = notif.contentIntent != null ? notif.contentIntent
+                    : notif.fullScreenIntent;
+            if (dragIntent != null && dragIntent.isActivity() && !canBubble) {
+                return true;
+            }
+            return false;
+        }
+
+        @Override
+        public boolean isBubbleCapable() {
+            return NotificationEntry.this.isBubble();
+        }
+
+        @Override
+        @Nullable
+        public String getStyle() {
+            return getNotificationStyle();
+        }
+
+        @Override
+        public int getSectionBucket() {
+            return mBucket;
+        }
+
+        @Override
+        public boolean isAmbient() {
+            return mRanking.isAmbient();
+        }
+
+        @Override
+        public boolean isFullScreenCapable() {
+            return getSbn().getNotification().fullScreenIntent != null;
+        }
+
     }
 
     public EntryAdapter getEntryAdapter() {
@@ -560,15 +608,6 @@
         return wasBubble != isBubble();
     }
 
-    @PriorityBucket
-    public int getBucket() {
-        return mBucket;
-    }
-
-    public void setBucket(@PriorityBucket int bucket) {
-        mBucket = bucket;
-    }
-
     public ExpandableNotificationRow getRow() {
         return row;
     }
@@ -589,25 +628,45 @@
     /**
      * 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(PipelineEntry)}
+     * TODO: Seems like most callers here should be asking a PipelineEntry, not a NotificationEntry
      */
     public @Nullable List<NotificationEntry> getAttachedNotifChildren() {
-        if (row == null) {
-            return null;
+        if (NotificationBundleUi.isEnabled()) {
+            if (isGroupSummary()) {
+                return ((GroupEntry) getParent()).getChildren();
+            }
+        } else {
+            if (row == null) {
+                return null;
+            }
+
+            List<ExpandableNotificationRow> rowChildren = row.getAttachedChildren();
+            if (rowChildren == null) {
+                return null;
+            }
+
+            ArrayList<NotificationEntry> children = new ArrayList<>();
+            for (ExpandableNotificationRow child : rowChildren) {
+                children.add(child.getEntry());
+            }
+
+            return children;
+        }
+        return null;
+    }
+
+    private boolean isGroupSummary() {
+        if (getParent() == null) {
+            // The entry is not attached, so it doesn't count.
+            return false;
+        }
+        PipelineEntry pipelineEntry = getParent();
+        if (!(pipelineEntry instanceof GroupEntry groupEntry)) {
+            return false;
         }
 
-        List<ExpandableNotificationRow> rowChildren = row.getAttachedChildren();
-        if (rowChildren == null) {
-            return null;
-        }
-
-        ArrayList<NotificationEntry> children = new ArrayList<>();
-        for (ExpandableNotificationRow child : rowChildren) {
-            children.add(child.getEntry());
-        }
-
-        return children;
+        // If entry is a summary, its parent is a GroupEntry with summary = entry.
+        return groupEntry.getSummary() == this;
     }
 
     public void notifyFullScreenIntentLaunched() {
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 78652cc..84de77b 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,10 +16,13 @@
 
 package com.android.systemui.statusbar.notification.collection;
 
+import static com.android.systemui.statusbar.notification.stack.NotificationPriorityBucketKt.BUCKET_ALERTING;
+
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.android.systemui.statusbar.notification.collection.listbuilder.NotifSection;
+import com.android.systemui.statusbar.notification.stack.PriorityBucket;
 
 /**
  * Class to represent a notification, group, or bundle in the pipeline.
@@ -29,6 +32,7 @@
     final String mKey;
     final ListAttachState mAttachState = ListAttachState.create();
     final ListAttachState mPreviousAttachState = ListAttachState.create();
+    protected int mBucket = BUCKET_ALERTING;
 
     public PipelineEntry(String key) {
         this.mKey = key;
@@ -86,4 +90,13 @@
     final ListAttachState getPreviousAttachState() {
         return mPreviousAttachState;
     }
+
+    @PriorityBucket
+    public int getBucket() {
+        return mBucket;
+    }
+
+    public void setBucket(@PriorityBucket int bucket) {
+        mBucket = bucket;
+    }
 }
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 248b528..28923b0 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,6 +16,7 @@
 
 package com.android.systemui.statusbar.notification.collection.coordinator
 
+import android.app.NotificationChannel.SYSTEM_RESERVED_IDS
 import com.android.systemui.statusbar.notification.collection.GroupEntry
 import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotifPipeline
@@ -89,6 +90,7 @@
             object : NotifSectioner("Priority People", BUCKET_PRIORITY_PEOPLE) {
                 override fun isInSection(entry: PipelineEntry): Boolean {
                     return getPeopleType(entry) == TYPE_IMPORTANT_PERSON
+                            && entry.representativeEntry?.channel?.id !in SYSTEM_RESERVED_IDS
                 }
             }
 
@@ -96,10 +98,12 @@
     val peopleAlertingSectioner = object : NotifSectioner("People(alerting)", BUCKET_PEOPLE) {
         override fun isInSection(entry: PipelineEntry): Boolean  {
             if (SortBySectionTimeFlag.isEnabled) {
-                return highPriorityProvider.isHighPriorityConversation(entry)
-                        || isConversation(entry)
+                return (highPriorityProvider.isHighPriorityConversation(entry)
+                        || isConversation(entry))
+                        && entry.representativeEntry?.channel?.id !in SYSTEM_RESERVED_IDS
             } else {
                 return highPriorityProvider.isHighPriorityConversation(entry)
+                        && entry.representativeEntry?.channel?.id !in SYSTEM_RESERVED_IDS
             }
         }
 
@@ -111,11 +115,12 @@
     }
 
     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.
+        // 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: PipelineEntry): Boolean {
             SortBySectionTimeFlag.assertInLegacyMode()
             return isConversation(entry)
+                    && entry.representativeEntry?.channel?.id !in SYSTEM_RESERVED_IDS
         }
 
         override fun getComparator(): NotifComparator {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinatorLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinatorLogger.kt
index 788659e..3cd618f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinatorLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinatorLogger.kt
@@ -20,15 +20,14 @@
 import com.android.systemui.log.core.LogLevel
 import com.android.systemui.log.dagger.UnseenNotificationLog
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
+import com.android.systemui.statusbar.notification.collection.notifcollection.UpdateSource
 import javax.inject.Inject
 
 private const val TAG = "KeyguardCoordinator"
 
 class KeyguardCoordinatorLogger
 @Inject
-constructor(
-    @UnseenNotificationLog private val buffer: LogBuffer,
-) {
+constructor(@UnseenNotificationLog private val buffer: LogBuffer) {
     fun logSeenOnLockscreen(entry: NotificationEntry) =
         buffer.log(
             TAG,
@@ -47,10 +46,7 @@
             messagePrinter = { "${if (bool1) "Start" else "Stop"} tracking unseen notifications." },
         )
 
-    fun logAllMarkedSeenOnUnlock(
-        seenCount: Int,
-        remainingUnseenCount: Int,
-    ) =
+    fun logAllMarkedSeenOnUnlock(seenCount: Int, remainingUnseenCount: Int) =
         buffer.log(
             TAG,
             LogLevel.DEBUG,
@@ -68,23 +64,30 @@
         buffer.log(
             TAG,
             LogLevel.DEBUG,
-            "Notifications have been marked as seen due to shade expansion."
+            "Notifications have been marked as seen due to shade expansion.",
         )
 
-    fun logUnseenAdded(key: String) =
+    fun logUnseenAdded(key: String, postTime: Long) =
         buffer.log(
             TAG,
             LogLevel.DEBUG,
-            messageInitializer = { str1 = key },
-            messagePrinter = { "Unseen notif added: $str1" },
+            messageInitializer = {
+                str1 = key
+                long1 = postTime
+            },
+            messagePrinter = { "Unseen notif added: $str1, postTime: $long1" },
         )
 
-    fun logUnseenUpdated(key: String) =
+    fun logUnseenUpdated(key: String, source: UpdateSource, postTime: Long) =
         buffer.log(
             TAG,
             LogLevel.DEBUG,
-            messageInitializer = { str1 = key },
-            messagePrinter = { "Unseen notif updated: $str1" },
+            messageInitializer = {
+                str1 = key
+                str2 = source.toString()
+                long1 = postTime
+            },
+            messagePrinter = { "Unseen notif updated: $str1, source: $str2, postTime: $long1" },
         )
 
     fun logUnseenRemoved(key: String) =
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 660ee40..9623417 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
@@ -36,6 +36,7 @@
 import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope
 import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifFilter
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener
+import com.android.systemui.statusbar.notification.collection.notifcollection.UpdateSource
 import com.android.systemui.statusbar.notification.domain.interactor.SeenNotificationsInteractor
 import com.android.systemui.statusbar.notification.headsup.HeadsUpManager
 import com.android.systemui.statusbar.notification.headsup.headsUpEvents
@@ -274,17 +275,22 @@
                 if (
                     keyguardRepository.isKeyguardShowing() || !statusBarStateController.isExpanded
                 ) {
-                    logger.logUnseenAdded(entry.key)
+                    logger.logUnseenAdded(entry.key, entry.sbn.postTime)
                     unseenNotifications.add(entry)
                     unseenEntryAdded.tryEmit(entry)
                 }
             }
 
-            override fun onEntryUpdated(entry: NotificationEntry) {
+            override fun onEntryUpdated(entry: NotificationEntry, source: UpdateSource) {
                 if (
                     keyguardRepository.isKeyguardShowing() || !statusBarStateController.isExpanded
                 ) {
-                    logger.logUnseenUpdated(entry.key)
+                    logger.logUnseenUpdated(entry.key, source, entry.sbn.postTime)
+                    // We are not marking a notif as unseen if it's updated by the SystemServer
+                    // (for example, auto-grouping), or the SystemUi, not the App.
+                    if (source != UpdateSource.App) {
+                        return
+                    }
                     unseenNotifications.add(entry)
                     unseenEntryAdded.tryEmit(entry)
                 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RemoteInputCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RemoteInputCoordinator.kt
index 1fe32c9..e7c767f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RemoteInputCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RemoteInputCoordinator.kt
@@ -38,6 +38,7 @@
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifLifetimeExtender
 import com.android.systemui.statusbar.notification.collection.notifcollection.SelfTrackingLifetimeExtender
+import com.android.systemui.statusbar.notification.collection.notifcollection.UpdateSource
 import java.io.PrintWriter
 import javax.inject.Inject
 
@@ -103,15 +104,15 @@
      */
     val mCollectionListener =
         object : NotifCollectionListener {
-            override fun onEntryUpdated(entry: NotificationEntry, fromSystem: Boolean) {
+            override fun onEntryUpdated(entry: NotificationEntry, source: UpdateSource) {
                 if (DEBUG) {
                     Log.d(
                         TAG,
                         "mCollectionListener.onEntryUpdated(entry=${entry.key}," +
-                            " fromSystem=$fromSystem)",
+                            " source=$source)",
                     )
                 }
-                if (fromSystem) {
+                if (source != UpdateSource.SystemUi) {
                     if (lifetimeExtensionRefactor()) {
                         if (
                             (entry.getSbn().getNotification().flags and
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 3e5655a..bdbdc53 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
@@ -45,8 +45,8 @@
 import com.android.systemui.statusbar.notification.collection.listbuilder.OnBeforeRenderListListener;
 import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifStabilityManager;
 import com.android.systemui.statusbar.notification.collection.provider.VisualStabilityProvider;
+import com.android.systemui.statusbar.notification.data.repository.HeadsUpRepository;
 import com.android.systemui.statusbar.notification.domain.interactor.SeenNotificationsInteractor;
-import com.android.systemui.statusbar.notification.headsup.HeadsUpManager;
 import com.android.systemui.statusbar.notification.shared.NotificationMinimalism;
 import com.android.systemui.statusbar.policy.KeyguardStateController;
 import com.android.systemui.util.concurrency.DelayableExecutor;
@@ -72,7 +72,7 @@
 public class VisualStabilityCoordinator implements Coordinator, Dumpable {
     private final DelayableExecutor mDelayableExecutor;
     private final DelayableExecutor mMainExecutor;
-    private final HeadsUpManager mHeadsUpManager;
+    private final HeadsUpRepository mHeadsUpRepository;
     private final SeenNotificationsInteractor mSeenNotificationsInteractor;
     private final ShadeAnimationInteractor mShadeAnimationInteractor;
     private final StatusBarStateController mStatusBarStateController;
@@ -94,6 +94,7 @@
     private boolean mNotifPanelLaunchingActivity;
     private boolean mCommunalShowing = false;
     private boolean mLockscreenShowing = false;
+    private boolean mTrackingHeadsUp = false;
     private boolean mLockscreenInGoneTransition = false;
     private Set<String> mHeadsUpGroupKeys = new HashSet<>();
 
@@ -117,7 +118,7 @@
             @Background DelayableExecutor delayableExecutor,
             @Main DelayableExecutor mainExecutor,
             DumpManager dumpManager,
-            HeadsUpManager headsUpManager,
+            HeadsUpRepository headsUpRepository,
             ShadeAnimationInteractor shadeAnimationInteractor,
             JavaAdapter javaAdapter,
             SeenNotificationsInteractor seenNotificationsInteractor,
@@ -130,7 +131,7 @@
             KeyguardTransitionInteractor keyguardTransitionInteractor,
             KeyguardStateController keyguardStateController,
             VisualStabilityCoordinatorLogger logger) {
-        mHeadsUpManager = headsUpManager;
+        mHeadsUpRepository = headsUpRepository;
         mShadeAnimationInteractor = shadeAnimationInteractor;
         mJavaAdapter = javaAdapter;
         mSeenNotificationsInteractor = seenNotificationsInteractor;
@@ -177,6 +178,8 @@
             mJavaAdapter.alwaysCollectFlow(mKeyguardTransitionInteractor.transitionValue(
                             KeyguardState.LOCKSCREEN),
                     this::onLockscreenKeyguardStateTransitionValueChanged);
+            mJavaAdapter.alwaysCollectFlow(mHeadsUpRepository.isTrackingHeadsUp(),
+                    this::onTrackingHeadsUpModeChanged);
         }
 
         if (Flags.checkLockscreenGoneTransition()) {
@@ -239,7 +242,7 @@
                     boolean isTopUnseen = NotificationMinimalism.isEnabled()
                             && (mSeenNotificationsInteractor.isTopUnseenNotification(entry)
                                 || mSeenNotificationsInteractor.isTopOngoingNotification(entry));
-                    if (isTopUnseen || mHeadsUpManager.isHeadsUpEntry(entry.getKey())) {
+                    if (isTopUnseen || mHeadsUpRepository.isHeadsUpEntry(entry.getKey())) {
                         return !mVisibilityLocationProvider.isInVisibleLocation(entry);
                     }
                     return false;
@@ -275,7 +278,7 @@
                         return false;
                     }
 
-                    return mHeadsUpManager.isHeadsUpEntry(summary.getKey());
+                    return mHeadsUpRepository.isHeadsUpEntry(summary.getKey());
                 }
                 /**
                  * When reordering is enabled, non-heads-up groups can be pruned.
@@ -415,7 +418,7 @@
                             if (summary == null) continue;
 
                             final String summaryKey = summary.getKey();
-                            if (mHeadsUpManager.isHeadsUpEntry(summaryKey)) {
+                            if (mHeadsUpRepository.isHeadsUpEntry(summaryKey)) {
                                 currentHeadsUpKeys.add(summaryKey);
                             }
                         }
@@ -475,11 +478,19 @@
 
     private boolean isReorderingAllowed() {
         final boolean sleepyAndDozed = mFullyDozed && mSleepy;
-        final boolean stackShowing = mPanelExpanded
-                || (SceneContainerFlag.isEnabled() && mLockscreenShowing);
+        final boolean stackShowing = isStackShowing();
         return (sleepyAndDozed || !stackShowing || mCommunalShowing) && !mPulsing;
     }
 
+    /** @return true when the notification stack is visible to the user */
+    private boolean isStackShowing() {
+        if (SceneContainerFlag.isEnabled()) {
+            return mPanelExpanded || mLockscreenShowing || mTrackingHeadsUp;
+        } else {
+            return mPanelExpanded;
+        }
+    }
+
     /**
      * Allows this notification entry to be re-ordered in the notification list temporarily until
      * the timeout has passed.
@@ -610,6 +621,11 @@
         updateAllowedStates("lockscreenShowing", isShowing);
     }
 
+    private void onTrackingHeadsUpModeChanged(boolean isTrackingHeadsUp) {
+        mTrackingHeadsUp = isTrackingHeadsUp;
+        updateAllowedStates("trackingHeadsUp", isTrackingHeadsUp);
+    }
+
     private void onLockscreenInGoneTransitionChanged(boolean inGoneTransition) {
         if (!Flags.checkLockscreenGoneTransition()) {
             return;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotificationRowBinderImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotificationRowBinderImpl.java
index 9ed1632..c2f0806 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotificationRowBinderImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotificationRowBinderImpl.java
@@ -136,9 +136,7 @@
             @NonNull NotifInflater.Params params,
             NotificationRowContentBinder.InflationCallback callback)
             throws InflationException {
-        //TODO(b/217799515): Remove the entry parameter from getViewParentForNotification(), this
-        // function returns the NotificationStackScrollLayout regardless of the entry.
-        ViewGroup parent = mListContainer.getViewParentForNotification(entry);
+        ViewGroup parent = mListContainer.getViewParentForNotification();
 
         if (entry.rowExists()) {
             mLogger.logUpdatingRow(entry, params);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionListener.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionListener.java
index 362786e..ae1efa7 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionListener.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionListener.java
@@ -59,10 +59,9 @@
      * Called whenever a notification with the same key as an existing notification is posted. By
      * the time this listener is called, the entry's SBN and Ranking will already have been updated.
      * This delegates to {@link #onEntryUpdated(NotificationEntry)} by default.
-     * @param fromSystem If true, this update came from the NotificationManagerService.
-     *                   If false, the notification update is an internal change within systemui.
+     * @param source The source of the update.
      */
-    default void onEntryUpdated(@NonNull NotificationEntry entry, boolean fromSystem) {
+    default void onEntryUpdated(NotificationEntry entry, UpdateSource source) {
         onEntryUpdated(entry);
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifEvent.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifEvent.kt
index 1dd6242..df22db2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifEvent.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifEvent.kt
@@ -20,10 +20,10 @@
 import android.os.UserHandle
 import android.service.notification.NotificationListenerService.RankingMap
 import android.service.notification.StatusBarNotification
+import com.android.app.tracing.traceSection
 import com.android.systemui.statusbar.notification.collection.NotifCollection
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.util.NamedListenerSet
-import com.android.app.tracing.traceSection
 
 /**
  * Set of classes that represent the various events that [NotifCollection] can dispatch to
@@ -31,71 +31,66 @@
  *
  * These events build up in a queue and are periodically emitted in chunks by the collection.
  */
-
 sealed class NotifEvent(private val traceName: String) {
     fun dispatchTo(listeners: NamedListenerSet<NotifCollectionListener>) {
-        traceSection(traceName) {
-            listeners.forEachTraced(::dispatchToListener)
-        }
+        traceSection(traceName) { listeners.forEachTraced(::dispatchToListener) }
     }
 
     abstract fun dispatchToListener(listener: NotifCollectionListener)
 }
 
-data class BindEntryEvent(
-    val entry: NotificationEntry,
-    val sbn: StatusBarNotification
-) : NotifEvent("onEntryBind") {
+data class BindEntryEvent(val entry: NotificationEntry, val sbn: StatusBarNotification) :
+    NotifEvent("onEntryBind") {
     override fun dispatchToListener(listener: NotifCollectionListener) {
         listener.onEntryBind(entry, sbn)
     }
 }
 
-data class InitEntryEvent(
-    val entry: NotificationEntry
-) : NotifEvent("onEntryInit") {
+data class InitEntryEvent(val entry: NotificationEntry) : NotifEvent("onEntryInit") {
     override fun dispatchToListener(listener: NotifCollectionListener) {
         listener.onEntryInit(entry)
     }
 }
 
-data class EntryAddedEvent(
-    val entry: NotificationEntry
-) : NotifEvent("onEntryAdded") {
+data class EntryAddedEvent(val entry: NotificationEntry) : NotifEvent("onEntryAdded") {
     override fun dispatchToListener(listener: NotifCollectionListener) {
         listener.onEntryAdded(entry)
     }
 }
 
-data class EntryUpdatedEvent(
-    val entry: NotificationEntry,
-    val fromSystem: Boolean
-) : NotifEvent(if (fromSystem) "onEntryUpdated" else "onEntryUpdated fromSystem=true") {
+data class EntryUpdatedEvent(val entry: NotificationEntry, val source: UpdateSource) :
+    NotifEvent(
+        if (source == UpdateSource.SystemUi) "onEntryUpdated" else "onEntryUpdated fromSystem=true"
+    ) {
     override fun dispatchToListener(listener: NotifCollectionListener) {
-        listener.onEntryUpdated(entry, fromSystem)
+        listener.onEntryUpdated(entry, source)
     }
 }
 
-data class EntryRemovedEvent(
-    val entry: NotificationEntry,
-    val reason: Int
-) : NotifEvent("onEntryRemoved ${cancellationReasonDebugString(reason)}") {
+/** Source of an entry update. */
+enum class UpdateSource {
+    /** From the app that posted the notification. */
+    App,
+    /** From the NotificationManagerService. */
+    SystemServer,
+    /** From SystemUi for rendering purpose. */
+    SystemUi,
+}
+
+data class EntryRemovedEvent(val entry: NotificationEntry, val reason: Int) :
+    NotifEvent("onEntryRemoved ${cancellationReasonDebugString(reason)}") {
     override fun dispatchToListener(listener: NotifCollectionListener) {
         listener.onEntryRemoved(entry, reason)
     }
 }
 
-data class CleanUpEntryEvent(
-    val entry: NotificationEntry
-) : NotifEvent("onEntryCleanUp") {
+data class CleanUpEntryEvent(val entry: NotificationEntry) : NotifEvent("onEntryCleanUp") {
     override fun dispatchToListener(listener: NotifCollectionListener) {
         listener.onEntryCleanUp(entry)
     }
 }
 
-data class RankingUpdatedEvent(
-    val rankingMap: RankingMap
-) : NotifEvent("onRankingUpdate") {
+data class RankingUpdatedEvent(val rankingMap: RankingMap) : NotifEvent("onRankingUpdate") {
     override fun dispatchToListener(listener: NotifCollectionListener) {
         listener.onRankingUpdate(rankingMap)
     }
@@ -111,7 +106,7 @@
     val pkgName: String,
     val user: UserHandle,
     val channel: NotificationChannel,
-    val modificationType: Int
+    val modificationType: Int,
 ) : NotifEvent("onNotificationChannelModified") {
     override fun dispatchToListener(listener: NotifCollectionListener) {
         listener.onNotificationChannelModified(pkgName, user, channel, modificationType)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/NotificationDismissibilityProvider.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/NotificationDismissibilityProvider.kt
index 53f2366..75bf38f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/NotificationDismissibilityProvider.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/NotificationDismissibilityProvider.kt
@@ -20,6 +20,6 @@
 
 /** Keeps track of the dismissibility of Notifications currently handed over to the view layer. */
 interface NotificationDismissibilityProvider {
-    /** @return true if the given {NotificationEntry} can currently be dismissed by the user */
-    fun isDismissable(entry: NotificationEntry): Boolean
+    /** @return true if the given entry's key can currently be dismissed by the user */
+    fun isDismissable(entryKey: String): Boolean
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/NotificationDismissibilityProviderImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/NotificationDismissibilityProviderImpl.kt
index 9326d33..740442a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/NotificationDismissibilityProviderImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/NotificationDismissibilityProviderImpl.kt
@@ -39,8 +39,8 @@
     var nonDismissableEntryKeys = setOf<String>()
         private set
 
-    override fun isDismissable(entry: NotificationEntry): Boolean {
-        return entry.key !in nonDismissableEntryKeys
+    override fun isDismissable(entryKey: String): Boolean {
+        return entryKey !in nonDismissableEntryKeys
     }
 
     @Synchronized
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 b179a69..c5ae875 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
@@ -29,6 +29,7 @@
 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;
+import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
 import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 
 import java.io.PrintWriter;
@@ -162,41 +163,38 @@
     @Override
     public boolean isGroupExpanded(EntryAdapter entry) {
         NotificationBundleUi.assertInNewMode();
-        return mExpandedCollections.contains(mGroupMembershipManager.getGroupRoot(entry));
+        ExpandableNotificationRow parent = entry.getRow().getNotificationParent();
+        return mExpandedCollections.contains(entry)
+                || (parent != null && mExpandedCollections.contains(parent.getEntryAdapter()));
     }
 
     @Override
-    public void setGroupExpanded(EntryAdapter entry, boolean expanded) {
+    public void setGroupExpanded(EntryAdapter groupRoot, boolean expanded) {
         NotificationBundleUi.assertInNewMode();
-        EntryAdapter groupParent = mGroupMembershipManager.getGroupRoot(entry);
-        if (!entry.isAttached()) {
+        if (!groupRoot.isAttached()) {
             if (expanded) {
                 Log.wtf(TAG, "Cannot expand group that is not attached");
-            } else {
-                // The entry is no longer attached, but we still want to make sure we don't have
-                // a stale expansion state.
-                groupParent = entry;
             }
         }
 
         boolean changed;
         if (expanded) {
-            changed = mExpandedCollections.add(groupParent);
+            changed = mExpandedCollections.add(groupRoot);
         } else {
-            changed = mExpandedCollections.remove(groupParent);
+            changed = mExpandedCollections.remove(groupRoot);
         }
 
         // Only notify listeners if something changed.
         if (changed) {
-            sendOnGroupExpandedChange(entry, expanded);
+            sendOnGroupExpandedChange(groupRoot, expanded);
         }
     }
 
     @Override
-    public boolean toggleGroupExpansion(EntryAdapter entry) {
+    public boolean toggleGroupExpansion(EntryAdapter groupRoot) {
         NotificationBundleUi.assertInNewMode();
-        setGroupExpanded(entry, !isGroupExpanded(entry));
-        return isGroupExpanded(entry);
+        setGroupExpanded(groupRoot, !isGroupExpanded(groupRoot));
+        return isGroupExpanded(groupRoot);
     }
 
     @Override
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 3edbfaf..86aa4a3 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
@@ -51,17 +51,6 @@
     NotificationEntry getGroupSummary(@NonNull NotificationEntry entry);
 
     /**
-     * Gets the EntryAdapter that is the nearest root of the collection of rows the given entry
-     * belongs to. If the given entry is a BundleEntry or an isolated child of a BundleEntry, the
-     * BundleEntry will be returned. If the given notification is a group summary NotificationEntry,
-     * or a child of a group summary, the summary NotificationEntry will be returned, even if that
-     * summary belongs to a BundleEntry. If the entry is a notification that does not belong to any
-     * group or bundle grouping, null will be returned.
-     */
-    @Nullable
-    EntryAdapter getGroupRoot(@NonNull EntryAdapter entry);
-
-    /**
      * @return whether a given notification is a child in a group
      */
     boolean isChildInGroup(@NonNull NotificationEntry entry);
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 a1a23e3..aec0d70 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
@@ -60,7 +60,7 @@
     @Override
     public boolean isGroupRoot(@NonNull EntryAdapter entry) {
         NotificationBundleUi.assertInNewMode();
-        return entry == entry.getGroupRoot();
+        return entry.isGroupRoot();
     }
 
     @Nullable
@@ -76,13 +76,6 @@
         return null;
     }
 
-    @Nullable
-    @Override
-    public EntryAdapter getGroupRoot(@NonNull EntryAdapter entry) {
-        NotificationBundleUi.assertInNewMode();
-        return entry.getGroupRoot();
-    }
-
     @Override
     public boolean isChildInGroup(@NonNull NotificationEntry entry) {
         NotificationBundleUi.assertInLegacyMode();
@@ -94,7 +87,7 @@
     public boolean isChildInGroup(@NonNull EntryAdapter entry) {
         NotificationBundleUi.assertInNewMode();
         // An entry is a child if it's not a group root or top level entry, but it is attached.
-        return entry.isAttached() && entry != getGroupRoot(entry) && !entry.isTopLevelEntry();
+        return entry.isAttached() && !entry.isGroupRoot() && !entry.isTopLevelEntry();
     }
 
     @Nullable
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/data/repository/HeadsUpRepository.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/data/repository/HeadsUpRepository.kt
index 28e3995..222f94b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/data/repository/HeadsUpRepository.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/data/repository/HeadsUpRepository.kt
@@ -40,6 +40,16 @@
     /** Set of currently active top-level heads up rows to be displayed. */
     val activeHeadsUpRows: Flow<Set<HeadsUpRowRepository>>
 
+    /** Whether the user is swiping on a heads up row */
+    val isTrackingHeadsUp: Flow<Boolean>
+
+    /** @return true if the actively managed heads up notifications contain an entry for this key */
+    fun isHeadsUpEntry(key: String): Boolean
+
+    /**
+     * set whether a HUN is currently animation out, to keep its view container visible during the
+     * animation
+     */
     fun setHeadsUpAnimatingAway(animatingAway: Boolean)
 
     /** Snooze the currently pinned HUN. */
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/footer/ui/view/FooterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/footer/ui/view/FooterView.java
index 25deec3..d09546f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/footer/ui/view/FooterView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/footer/ui/view/FooterView.java
@@ -391,7 +391,7 @@
         if (!notificationFooterBackgroundTintOptimization()) {
             if (notificationShadeBlur()) {
                 Color backgroundColor = Color.valueOf(
-                        SurfaceEffectColors.surfaceEffect1(getResources()));
+                        SurfaceEffectColors.surfaceEffect1(getContext()));
                 scHigh = ColorUtils.setAlphaComponent(backgroundColor.toArgb(), 0xFF);
                 // Apply alpha on background drawables.
                 int backgroundAlpha = (int) (backgroundColor.alpha() * 0xFF);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/AvalancheController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/AvalancheController.kt
index 867db8e..8eca166 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/AvalancheController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/AvalancheController.kt
@@ -403,9 +403,11 @@
                     debugRunnableLabelMap.remove(r)
                 }
             }
-            val dropList = listToDrop.joinToString("\n ") { getKey(it) }
-            headsUpManagerLogger.logDroppedHuns(dropList)
         }
+
+        val dropListStr = listToDrop.joinToString("\n ") { getKey(it) }
+        headsUpManagerLogger.logDroppedHuns(dropListStr)
+
         clearNext()
         showNow(headsUpEntryShowing!!, headsUpEntryShowingRunnableList)
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpAnimator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpAnimator.kt
new file mode 100644
index 0000000..f9bd805
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpAnimator.kt
@@ -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 com.android.systemui.statusbar.notification.headsup
+
+import android.content.Context
+import com.android.systemui.res.R
+
+/**
+ * A class shared between [StackScrollAlgorithm] and [StackStateAnimator] to ensure all heads up
+ * animations use the same animation values.
+ */
+class HeadsUpAnimator(context: Context) {
+    init {
+        NotificationsHunSharedAnimationValues.assertInNewMode()
+    }
+
+    var headsUpAppearHeightBottom: Int = 0
+    var stackTopMargin: Int = 0
+
+    private var headsUpAppearStartAboveScreen = context.fetchHeadsUpAppearStartAboveScreen()
+
+    /**
+     * Returns the Y translation for a heads-up notification animation.
+     *
+     * For an appear animation, the returned Y translation should be the starting value of the
+     * animation. For a disappear animation, the returned Y translation should be the ending value
+     * of the animation.
+     */
+    fun getHeadsUpYTranslation(isHeadsUpFromBottom: Boolean): Int {
+        NotificationsHunSharedAnimationValues.assertInNewMode()
+
+        if (isHeadsUpFromBottom) {
+            // start from or end at the bottom of the screen
+            return headsUpAppearHeightBottom + headsUpAppearStartAboveScreen
+        }
+
+        // start from or end at the top of the screen
+        return -stackTopMargin - headsUpAppearStartAboveScreen
+    }
+
+    /** Should be invoked when resource values may have changed. */
+    fun updateResources(context: Context) {
+        headsUpAppearStartAboveScreen = context.fetchHeadsUpAppearStartAboveScreen()
+    }
+
+    private fun Context.fetchHeadsUpAppearStartAboveScreen(): Int {
+        return this.resources.getDimensionPixelSize(R.dimen.heads_up_appear_y_above_screen)
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManager.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManager.kt
index 95234da..9728fcf 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManager.kt
@@ -19,12 +19,16 @@
 import android.graphics.Region
 import com.android.systemui.Dumpable
 import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.statusbar.notification.collection.EntryAdapter
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
+import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
 import dagger.Binds
 import dagger.Module
 import java.io.PrintWriter
 import java.util.stream.Stream
 import javax.inject.Inject
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.StateFlow
 
 /**
  * A manager which handles heads up notifications which is a special mode where they simply peek
@@ -110,7 +114,7 @@
      * Returns the value of the tracking-heads-up flag. See the doc of {@code setTrackingHeadsUp} as
      * well.
      */
-    fun isTrackingHeadsUp(): Boolean
+    fun isTrackingHeadsUp(): StateFlow<Boolean>
 
     fun onExpandingFinished()
 
@@ -151,6 +155,12 @@
     fun setAnimationStateHandler(handler: AnimationStateHandler)
 
     /**
+    * Set an entry to be expanded and therefore stick in the heads up area if it's pinned until
+    * it's collapsed again.
+    */
+    fun setExpanded(key: String, row: ExpandableNotificationRow, expanded: Boolean)
+
+    /**
      * Set an entry to be expanded and therefore stick in the heads up area if it's pinned until
      * it's collapsed again.
      */
@@ -284,12 +294,12 @@
 
     override fun isHeadsUpAnimatingAwayValue() = false
 
+    override fun isTrackingHeadsUp(): StateFlow<Boolean> = MutableStateFlow(false)
+
     override fun isSnoozed(packageName: String) = false
 
     override fun isSticky(key: String?) = false
 
-    override fun isTrackingHeadsUp() = false
-
     override fun onExpandingFinished() {}
 
     override fun releaseAllImmediately() {}
@@ -308,6 +318,8 @@
 
     override fun setAnimationStateHandler(handler: AnimationStateHandler) {}
 
+    override fun setExpanded(key: String, row: ExpandableNotificationRow, expanded: Boolean) {}
+
     override fun setExpanded(entry: NotificationEntry, expanded: Boolean) {}
 
     override fun setGutsShown(entry: NotificationEntry, gutsShown: Boolean) {}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManagerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManagerImpl.java
index 87b9bf8..5157e7a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManagerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManagerImpl.java
@@ -135,6 +135,8 @@
             StateFlowKt.MutableStateFlow(new HashSet<>());
     private final MutableStateFlow<Boolean> mHeadsUpAnimatingAway =
             StateFlowKt.MutableStateFlow(false);
+    private final MutableStateFlow<Boolean> mTrackingHeadsUp =
+            StateFlowKt.MutableStateFlow(false);
     private final HashSet<String> mSwipedOutKeys = new HashSet<>();
     private final HashSet<NotificationEntry> mEntriesToRemoveAfterExpand = new HashSet<>();
     @VisibleForTesting
@@ -142,7 +144,6 @@
             = new ArraySet<>();
 
     private boolean mReleaseOnExpandFinish;
-    private boolean mTrackingHeadsUp;
     private boolean mIsShadeOrQsExpanded;
     private boolean mIsQsExpanded;
     private int mStatusBarState;
@@ -331,7 +332,9 @@
             onEntryAdded(headsUpEntry, requestedPinnedStatus);
             // TODO(b/328390331) move accessibility events to the view layer
             entry.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED);
-            entry.setIsHeadsUpEntry(true);
+            if (!NotificationBundleUi.isEnabled()) {
+                entry.setIsHeadsUpEntry(true);
+            }
 
             updateNotificationInternal(entry.getKey(), requestedPinnedStatus);
             entry.setInterruption();
@@ -417,8 +420,8 @@
     }
 
     @Override
-    public void setTrackingHeadsUp(boolean trackingHeadsUp) {
-        mTrackingHeadsUp = trackingHeadsUp;
+    public void setTrackingHeadsUp(boolean isTrackingHeadsUp) {
+        mTrackingHeadsUp.setValue(isTrackingHeadsUp);
     }
 
     @Override
@@ -510,9 +513,7 @@
                 || !mAvalancheController.getWaitingEntryList().isEmpty();
     }
 
-    /**
-     * @return true if the notification is managed by this manager
-     */
+    @Override
     public boolean isHeadsUpEntry(@NonNull String key) {
         return mHeadsUpEntryMap.containsKey(key) || mAvalancheController.isWaiting(key);
     }
@@ -879,10 +880,8 @@
             ExpandableNotificationRow topRow = topEntry.getRow();
             if (topEntry.rowIsChildInGroup()) {
                 if (NotificationBundleUi.isEnabled()) {
-                    final EntryAdapter adapter = mGroupMembershipManager.getGroupRoot(
-                            topRow.getEntryAdapter());
-                    if (adapter != null) {
-                        topRow = adapter.getRow();
+                    if (topRow.getNotificationParent() != null) {
+                        topRow = topRow.getNotificationParent();
                     }
                 } else {
                     final NotificationEntry groupSummary =
@@ -1066,8 +1065,9 @@
         }
     }
 
+    @NonNull
     @Override
-    public boolean isTrackingHeadsUp() {
+    public StateFlow<Boolean> isTrackingHeadsUp() {
         return mTrackingHeadsUp;
     }
 
@@ -1093,7 +1093,23 @@
      * Set an entry to be expanded and therefore stick in the heads up area if it's pinned
      * until it's collapsed again.
      */
+    @Override
+    public void setExpanded(@NonNull String entryKey, @NonNull ExpandableNotificationRow row,
+            boolean expanded) {
+        NotificationBundleUi.assertInNewMode();
+        HeadsUpEntry headsUpEntry = getHeadsUpEntry(entryKey);
+        if (headsUpEntry != null && row.getPinnedStatus().isPinned()) {
+            headsUpEntry.setExpanded(expanded);
+        }
+    }
+
+    /**
+     * Set an entry to be expanded and therefore stick in the heads up area if it's pinned
+     * until it's collapsed again.
+     */
+    @Override
     public void setExpanded(@NonNull NotificationEntry entry, boolean expanded) {
+        NotificationBundleUi.assertInLegacyMode();
         HeadsUpEntry headsUpEntry = getHeadsUpEntry(entry.getKey());
         if (headsUpEntry != null && entry.isRowPinned()) {
             headsUpEntry.setExpanded(expanded);
@@ -1385,7 +1401,8 @@
                     mPostTime = Math.max(mPostTime, now);
                 }
             };
-            mAvalancheController.update(this, runnable, "updateEntry (updatePostTime)");
+            mAvalancheController.update(this, runnable, "updateEntry reason:"
+                    + reason + " updatePostTime:" + updatePostTime);
 
             if (isSticky()) {
                 cancelAutoRemovalCallbacks("updateEntry (sticky)");
@@ -1659,7 +1676,7 @@
                     mEntriesToRemoveWhenReorderingAllowed.add(entry);
                     mVisualStabilityProvider.addTemporaryReorderingAllowedListener(
                             mOnReorderingAllowedListener);
-                } else if (mTrackingHeadsUp) {
+                } else if (mTrackingHeadsUp.getValue()) {
                     mEntriesToRemoveAfterExpand.add(entry);
                     mLogger.logRemoveEntryAfterExpand(entry);
                 } else if (mVisualStabilityProvider.isReorderingAllowed()
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpTouchHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpTouchHelper.java
index 47e725c..95f07c4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpTouchHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpTouchHelper.java
@@ -141,7 +141,7 @@
                 if (mPickedChild != null && mTouchingHeadsUpView) {
                     // We may swallow this click if the heads up just came in.
                     if (mHeadsUpManager.shouldSwallowClick(
-                            mPickedChild.getEntry().getSbn().getKey())) {
+                            mPickedChild.getKey())) {
                         endMotion();
                         return true;
                     }
@@ -209,7 +209,7 @@
                     if (mPickedChild != null && mTouchingHeadsUpView) {
                         // We may swallow this click if the heads up just came in.
                         if (mHeadsUpManager.shouldSwallowClick(
-                                mPickedChild.getEntry().getSbn().getKey())) {
+                                mPickedChild.getKey())) {
                             endMotion();
                             setTrackingHeadsUp(false);
                             return true;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpUtil.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpUtil.java
index 40da232..e1cbdac 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpUtil.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpUtil.java
@@ -76,12 +76,7 @@
         }
 
         final ExpandableNotificationRow row = (ExpandableNotificationRow) view;
-        final NotificationEntry entry = row.getEntry();
-        if (entry == null) {
-            return "(null entry)";
-        }
-
-        final String key = entry.getKey();
+        final String key = row.getKey();
         if (key == null) {
             return "(null key)";
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/NotificationsHunSharedAnimationValues.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/NotificationsHunSharedAnimationValues.kt
new file mode 100644
index 0000000..ca9d498
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/NotificationsHunSharedAnimationValues.kt
@@ -0,0 +1,61 @@
+/*
+ * 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.notification.headsup
+
+import com.android.systemui.Flags
+import com.android.systemui.flags.FlagToken
+import com.android.systemui.flags.RefactorFlagUtils
+
+/** Helper for reading or using the notifications hun shared animation values flag state. */
+@Suppress("NOTHING_TO_INLINE")
+object NotificationsHunSharedAnimationValues {
+    /** The aconfig flag name */
+    const val FLAG_NAME = Flags.FLAG_NOTIFICATIONS_HUN_SHARED_ANIMATION_VALUES
+
+    /** A token used for dependency declaration */
+    val token: FlagToken
+        get() = FlagToken(FLAG_NAME, isEnabled)
+
+    /** Is the refactor enabled */
+    @JvmStatic
+    inline val isEnabled
+        get() = Flags.notificationsHunSharedAnimationValues()
+
+    /**
+     * Called to ensure code is only run when the flag is enabled. This protects users from the
+     * unintended behaviors caused by accidentally running new logic, while also crashing on an eng
+     * build to ensure that the refactor author catches issues in testing.
+     */
+    @JvmStatic
+    inline fun isUnexpectedlyInLegacyMode() =
+        RefactorFlagUtils.isUnexpectedlyInLegacyMode(isEnabled, FLAG_NAME)
+
+    /**
+     * Called to ensure code is only run when the flag is enabled. This will throw an exception if
+     * the flag is not enabled to ensure that the refactor author catches issues in testing.
+     * Caution!! Using this check incorrectly will cause crashes in nextfood builds!
+     */
+    @JvmStatic
+    inline fun assertInNewMode() = RefactorFlagUtils.assertInNewMode(isEnabled, FLAG_NAME)
+
+    /**
+     * Called to ensure code is only run when the flag is disabled. This will throw an exception if
+     * the flag is enabled to ensure that the refactor author catches issues in testing.
+     */
+    @JvmStatic
+    inline fun assertInLegacyMode() = RefactorFlagUtils.assertInLegacyMode(isEnabled, FLAG_NAME)
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationLogger.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationLogger.java
index cc4be57..ec8fbc0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationLogger.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationLogger.java
@@ -45,6 +45,7 @@
 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;
+import com.android.systemui.statusbar.notification.collection.notifcollection.UpdateSource;
 import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider;
 import com.android.systemui.statusbar.notification.dagger.NotificationsModule;
 import com.android.systemui.statusbar.notification.shared.NotificationsLiveDataStoreRefactor;
@@ -234,7 +235,7 @@
     private void registerNewPipelineListener() {
         mNotifPipeline.addCollectionListener(new NotifCollectionListener() {
             @Override
-            public void onEntryUpdated(@NonNull NotificationEntry entry, boolean fromSystem) {
+            public void onEntryUpdated(@NonNull NotificationEntry entry, UpdateSource source) {
                 mExpansionStateLogger.onEntryUpdated(entry.getKey());
             }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationRoundnessLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationRoundnessLogger.kt
index 0e1f66f..48095cc 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationRoundnessLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationRoundnessLogger.kt
@@ -41,7 +41,7 @@
             TAG_ROUNDNESS,
             INFO,
             {
-                str1 = (view as? ExpandableNotificationRow)?.entry?.key
+                str1 = (view as? ExpandableNotificationRow)?.key
                 bool1 = isFirstInSection
                 bool2 = isLastInSection
                 bool3 = topChanged
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/promoted/AODPromotedNotification.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/promoted/AODPromotedNotification.kt
index 7959e99..2a01a14 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/promoted/AODPromotedNotification.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/promoted/AODPromotedNotification.kt
@@ -20,6 +20,7 @@
 import android.app.Flags.notificationsRedesignTemplates
 import android.app.Notification
 import android.graphics.PorterDuff
+import android.util.Log
 import android.view.LayoutInflater
 import android.view.View
 import android.view.View.GONE
@@ -80,9 +81,13 @@
     val content = viewModel.content ?: return
     val audiblyAlertedIconVisible = viewModel.audiblyAlertedIconVisible
 
-    key(content.identity) {
-        val layoutResource = content.layoutResource ?: return
+    val layoutResource = content.layoutResource
+    if (layoutResource == null) {
+        Log.w(TAG, "not displaying promoted notif with ineligible style on AOD")
+        return
+    }
 
+    key(content.identity) {
         val sidePaddings = dimensionResource(systemuiR.dimen.notification_side_paddings)
         val sidePaddingValues = PaddingValues(horizontal = sidePaddings, vertical = 0.dp)
 
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 4ed9dce..6837cb2 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
@@ -119,6 +119,7 @@
     protected Point mTargetPoint;
     private boolean mDismissed;
     private boolean mRefocusOnDismiss;
+    protected boolean mIsBlurSupported;
 
     public ActivatableNotificationView(Context context, AttributeSet attrs) {
         super(context, attrs);
@@ -128,12 +129,13 @@
     }
 
     private void updateColors() {
-        if (notificationRowTransparency()) {
-            mNormalColor = SurfaceEffectColors.surfaceEffect1(getResources());
+        if (usesTransparentBackground()) {
+            mNormalColor = SurfaceEffectColors.surfaceEffect1(getContext());
         } else {
             mNormalColor = mContext.getColor(
                     com.android.internal.R.color.materialColorSurfaceContainerHigh);
         }
+        setBackgroundToNormalColor();
         mTintedRippleColor = mContext.getColor(
                 R.color.notification_ripple_tinted_color);
         mNormalRippleColor = mContext.getColor(
@@ -144,6 +146,12 @@
         mOverrideAmount = 0.0f;
     }
 
+    private void setBackgroundToNormalColor() {
+        if (mBackgroundNormal != null) {
+            mBackgroundNormal.setNormalColor(mNormalColor);
+        }
+    }
+
     /**
      * Reload background colors from resources and invalidate views.
      */
@@ -173,6 +181,7 @@
         mBackgroundNormal = findViewById(R.id.backgroundNormal);
         mFakeShadow = findViewById(R.id.fake_shadow);
         mShadowHidden = mFakeShadow.getVisibility() != VISIBLE;
+        setBackgroundToNormalColor();
         initBackground();
         updateBackgroundTint();
         updateOutlineAlpha();
@@ -326,6 +335,21 @@
         mBackgroundNormal.setBottomAmountClips(!isChildInGroup());
     }
 
+    public void setIsBlurSupported(boolean isBlurSupported) {
+        if (!notificationRowTransparency()) {
+            return;
+        }
+        boolean usedTransparentBackground = usesTransparentBackground();
+        mIsBlurSupported = isBlurSupported;
+        if (usedTransparentBackground != usesTransparentBackground()) {
+            updateBackgroundColors();
+        }
+    }
+
+    protected boolean usesTransparentBackground() {
+        return mIsBlurSupported && notificationRowTransparency();
+    }
+
     @Override
     protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
         super.onLayout(changed, left, top, right, bottom);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ChannelEditorDialogController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ChannelEditorDialogController.kt
index 6bfc9f0..4bd6053 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ChannelEditorDialogController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ChannelEditorDialogController.kt
@@ -21,7 +21,6 @@
 import android.app.NotificationChannel
 import android.app.NotificationChannel.DEFAULT_CHANNEL_ID
 import android.app.NotificationChannelGroup
-import android.app.NotificationManager.IMPORTANCE_NONE
 import android.app.NotificationManager.Importance
 import android.content.Context
 import android.graphics.Color
@@ -40,7 +39,7 @@
 import com.android.internal.annotations.VisibleForTesting
 import com.android.systemui.res.R
 import com.android.systemui.dagger.SysUISingleton
-import com.android.systemui.shade.ShadeDisplayAware
+import com.android.systemui.shade.domain.interactor.ShadeDialogContextInteractor
 import javax.inject.Inject
 
 private const val TAG = "ChannelDialogController"
@@ -59,9 +58,9 @@
  */
 @SysUISingleton
 class ChannelEditorDialogController @Inject constructor(
-    @ShadeDisplayAware private val context: Context,
+    private val shadeDialogContextInteractor: ShadeDialogContextInteractor,
     private val noMan: INotificationManager,
-    private val dialogBuilder: ChannelEditorDialog.Builder
+    private val dialogBuilder: ChannelEditorDialog.Builder,
 ) {
 
     private var prepared = false
@@ -272,7 +271,7 @@
     }
 
     private fun initDialog() {
-        dialogBuilder.setContext(context)
+        dialogBuilder.setContext(shadeDialogContextInteractor.context)
         dialog = dialogBuilder.build()
 
         dialog.window?.requestFeature(Window.FEATURE_NO_TITLE)
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 4c74408..3ef1fd2 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
@@ -20,8 +20,8 @@
 import static android.app.Notification.Action.SEMANTIC_ACTION_MARK_CONVERSATION_AS_PRIORITY;
 import static android.service.notification.NotificationListenerService.REASON_CANCEL;
 
-import static com.android.systemui.Flags.notificationsPinnedHunInShade;
 import static com.android.systemui.Flags.notificationRowTransparency;
+import static com.android.systemui.Flags.notificationsPinnedHunInShade;
 import static com.android.systemui.flags.Flags.ENABLE_NOTIFICATIONS_SIMULATE_SLOW_MEASURE;
 import static com.android.systemui.statusbar.notification.NotificationUtils.logKey;
 import static com.android.systemui.statusbar.notification.collection.NotificationEntry.DismissState.PARENT_DISMISSED;
@@ -270,6 +270,7 @@
     private NotificationContentView[] mLayouts;
     private ExpandableNotificationRowLogger mLogger;
     private String mLoggingKey;
+    private String mKey;
     private NotificationGuts mGuts;
     private NotificationEntry mEntry;
     private EntryAdapter mEntryAdapter;
@@ -299,6 +300,7 @@
     private boolean mIsSystemChildExpanded;
     private PinnedStatus mPinnedStatus = PinnedStatus.NotPinned;
     private boolean mExpandAnimationRunning;
+    private boolean mLaunchAnimationRunning;
     private AboveShelfChangedListener mAboveShelfChangedListener;
     private HeadsUpManager mHeadsUpManager;
     private Consumer<Boolean> mHeadsUpAnimatingAwayListener;
@@ -404,17 +406,25 @@
                 : mGroupMembershipManager.isGroupSummary(mEntry);
         if (!shouldShowPublic() && (!mIsMinimized || isExpanded()) && isGroupRoot) {
             mGroupExpansionChanging = true;
-            final boolean wasExpanded = NotificationBundleUi.isEnabled()
-                    ? mGroupExpansionManager.isGroupExpanded(mEntryAdapter)
-                    : mGroupExpansionManager.isGroupExpanded(mEntry);
-            boolean nowExpanded = NotificationBundleUi.isEnabled()
-                    ? mGroupExpansionManager.toggleGroupExpansion(mEntryAdapter)
-                    : mGroupExpansionManager.toggleGroupExpansion(mEntry);
-            mOnExpandClickListener.onExpandClicked(mEntry, v, nowExpanded);
-            if (shouldLogExpandClickMetric) {
-                mMetricsLogger.action(MetricsEvent.ACTION_NOTIFICATION_GROUP_EXPANDER, nowExpanded);
+            if (NotificationBundleUi.isEnabled()) {
+                final boolean wasExpanded =  mGroupExpansionManager.isGroupExpanded(mEntryAdapter);
+                boolean nowExpanded = mGroupExpansionManager.toggleGroupExpansion(mEntryAdapter);
+                mOnExpandClickListener.onExpandClicked(this, mEntryAdapter, nowExpanded);
+                if (shouldLogExpandClickMetric) {
+                    mMetricsLogger.action(
+                            MetricsEvent.ACTION_NOTIFICATION_GROUP_EXPANDER, nowExpanded);
+                }
+                onExpansionChanged(true /* userAction */, wasExpanded);
+            } else {
+                final boolean wasExpanded = mGroupExpansionManager.isGroupExpanded(mEntry);
+                boolean nowExpanded = mGroupExpansionManager.toggleGroupExpansion(mEntry);
+                mOnExpandClickListener.onExpandClicked(mEntry, v, nowExpanded);
+                if (shouldLogExpandClickMetric) {
+                    mMetricsLogger.action(
+                            MetricsEvent.ACTION_NOTIFICATION_GROUP_EXPANDER, nowExpanded);
+                }
+                onExpansionChanged(true /* userAction */, wasExpanded);
             }
-            onExpansionChanged(true /* userAction */, wasExpanded);
         } else if (mEnableNonGroupedNotificationExpand) {
             if (v.isAccessibilityFocused()) {
                 mPrivateLayout.setFocusOnVisibilityChange();
@@ -435,7 +445,11 @@
             }
 
             notifyHeightChanged(/* needsAnimation= */ true);
-            mOnExpandClickListener.onExpandClicked(mEntry, v, nowExpanded);
+            if (NotificationBundleUi.isEnabled()) {
+                mOnExpandClickListener.onExpandClicked(this, mEntryAdapter, nowExpanded);
+            } else {
+                mOnExpandClickListener.onExpandClicked(mEntry, v, nowExpanded);
+            }
             if (shouldLogExpandClickMetric) {
                 mMetricsLogger.action(MetricsEvent.ACTION_NOTIFICATION_EXPANDER, nowExpanded);
             }
@@ -535,6 +549,14 @@
         return mLoggingKey;
     }
 
+    public String getKey() {
+        if (NotificationBundleUi.isEnabled()) {
+            return mKey;
+        } else {
+            return mEntry.getKey();
+        }
+    }
+
     /**
      * Sets animations running in the layouts of this row, including public, private, and children.
      *
@@ -952,6 +974,7 @@
         } else if (isAboveShelf() != wasAboveShelf) {
             mAboveShelfChangedListener.onAboveShelfStateChanged(!wasAboveShelf);
         }
+        updateBackgroundOpacity();
     }
 
     /**
@@ -1224,7 +1247,7 @@
      */
     public void collectVisibleLocations(Map<String, Integer> locationsMap) {
         if (getVisibility() == View.VISIBLE) {
-            locationsMap.put(getEntry().getKey(), getViewState().location);
+            locationsMap.put(getKey(), getViewState().location);
             if (mChildrenContainer != null) {
                 List<ExpandableNotificationRow> children = mChildrenContainer.getAttachedChildren();
                 for (int i = 0; i < children.size(); i++) {
@@ -1655,11 +1678,17 @@
         if (view != null) {
             view.setBackgroundTintColor(color);
         }
-        if (notificationRowTransparency()
-                && (mBackgroundNormal != null)
-                && (mEntry != null)) {
-            mBackgroundNormal.setBgIsColorized(
-                    mEntry.getSbn().getNotification().isColorized());
+        if (notificationRowTransparency() && mBackgroundNormal != null) {
+            if (NotificationBundleUi.isEnabled()) {
+                mBackgroundNormal.setBgIsColorized(
+                        usesTransparentBackground() && mEntryAdapter.isColorized());
+            } else {
+                if (mEntry != null) {
+                    mBackgroundNormal.setBgIsColorized(
+                            usesTransparentBackground()
+                                    && mEntry.getSbn().getNotification().isColorized());
+                }
+            }
         }
     }
 
@@ -2136,6 +2165,7 @@
             mMenuRow.setAppName(mAppName);
         }
         mLogger = logger;
+        mKey = notificationKey;
         mLoggingKey = logKey(notificationKey);
         mBypassController = bypassController;
         mGroupMembershipManager = groupMembershipManager;
@@ -2182,7 +2212,7 @@
                     R.dimen.notification_min_height);
         }
         mMaxSmallHeightWithSummarization = NotificationUtils.getFontScaledHeight(mContext,
-                com.android.internal.R.dimen.notification_min_height);
+                com.android.internal.R.dimen.notification_collapsed_height_with_summarization);
         mMaxExpandedHeight = NotificationUtils.getFontScaledHeight(mContext,
                 R.dimen.notification_max_height);
         mMaxExpandedHeightForPromotedOngoing = NotificationUtils.getFontScaledHeight(mContext,
@@ -2350,7 +2380,11 @@
             return traceTag;
         }
 
-        return traceTag + "(" + getEntry().getNotificationStyle() + ")";
+        if (NotificationBundleUi.isEnabled()) {
+            return traceTag + "(" + getEntryAdapter().getStyle() + ")";
+        } else {
+            return traceTag + "(" + getEntry().getNotificationStyle() + ")";
+        }
     }
 
     @Override
@@ -2946,7 +2980,9 @@
                 && !mChildrenContainer.showingAsLowPriority()) {
             final boolean wasExpanded = isGroupExpanded();
             if (NotificationBundleUi.isEnabled()) {
-                mGroupExpansionManager.setGroupExpanded(mEntryAdapter, userExpanded);
+                if (mEntryAdapter.isGroupRoot()) {
+                    mGroupExpansionManager.setGroupExpanded(mEntryAdapter, userExpanded);
+                }
             } else {
                 mGroupExpansionManager.setGroupExpanded(mEntry, userExpanded);
             }
@@ -2986,6 +3022,7 @@
 
         mUserLocked = userLocked;
         mPrivateLayout.setUserExpanding(userLocked);
+        mPublicLayout.setUserExpanding(userLocked);
         // This is intentionally not guarded with mIsSummaryWithChildren since we might have had
         // children but not anymore.
         if (mChildrenContainer != null) {
@@ -3042,6 +3079,7 @@
                     mChildrenContainer.setOnKeyguard(onKeyguard);
                 }
             }
+            updateBackgroundOpacity();
         }
     }
 
@@ -3416,7 +3454,7 @@
     }
 
     private boolean canEntryBeDismissed() {
-        return mDismissibilityProvider.isDismissable(mEntry);
+        return mDismissibilityProvider.isDismissable(getKey());
     }
 
     /**
@@ -3440,9 +3478,9 @@
     public void makeActionsVisibile() {
         setUserExpanded(true, true);
         if (isChildInGroup()) {
-            if (NotificationBundleUi.isEnabled()) {
-                mGroupExpansionManager.setGroupExpanded(mEntryAdapter, true);
-            } else {
+            if (!NotificationBundleUi.isEnabled()) {
+                // this is only called if row.getParent() instanceof NotificationStackScrollLayout,
+                // so there is never a group to expand
                 mGroupExpansionManager.setGroupExpanded(mEntry, true);
             }
         }
@@ -3671,8 +3709,14 @@
             return true;
         }
         // The colorized background is another layer with which all other elements overlap
-        if (getEntry().getSbn().getNotification().isColorized()) {
-            return true;
+        if (NotificationBundleUi.isEnabled()) {
+            if (mEntryAdapter.isColorized()) {
+                return true;
+            }
+        } else {
+            if (getEntry().getSbn().getNotification().isColorized()) {
+                return true;
+            }
         }
         // Check if the showing layout has a need for overlapping rendering.
         // NOTE: We could check both public and private layouts here, but becuause these states
@@ -3728,7 +3772,7 @@
         if (!ignoreTemporaryStates && mGuts != null && mGuts.isExposed()) {
             return mGuts.getIntrinsicHeight();
         } else if (!ignoreTemporaryStates && canShowHeadsUp() && mIsHeadsUp
-                && mHeadsUpManager.isTrackingHeadsUp()) {
+                && mHeadsUpManager.isTrackingHeadsUp().getValue()) {
             return getPinnedHeadsUpHeight(false /* atLeastMinHeight */);
         } else if (mIsSummaryWithChildren && !isGroupExpanded() && !shouldShowPublic()) {
             return mChildrenContainer.getMinHeight();
@@ -4023,6 +4067,9 @@
 
     public interface OnExpandClickListener {
         void onExpandClicked(NotificationEntry clickedEntry, View clickedView, boolean nowExpanded);
+
+        void onExpandClicked(ExpandableNotificationRow row, EntryAdapter clickedEntry,
+                boolean nowExpanded);
     }
 
     @Override
@@ -4460,4 +4507,30 @@
         }
         mLogger.logRemoveTransientRow(row.getLoggingKey(), mLoggingKey);
     }
+
+    /** Set whether this notification is currently used to animate a launch. */
+    public void setLaunchAnimationRunning(boolean launchAnimationRunning) {
+        if (NotificationBundleUi.isEnabled()) {
+            mLaunchAnimationRunning = launchAnimationRunning;
+        } else {
+            getEntry().setExpandAnimationRunning(launchAnimationRunning);
+        }
+    }
+
+    /** Whether this notification is currently used to animate a launch. */
+    public boolean isLaunchAnimationRunning() {
+        if (NotificationBundleUi.isEnabled()) {
+            return mLaunchAnimationRunning;
+        } else {
+            return getEntry().isExpandAnimationRunning();
+        }
+    }
+
+    private void updateBackgroundOpacity() {
+        if (mBackgroundNormal != null) {
+            // Row background should be opaque when it's displayed as a heads-up notification or
+            // displayed on keyguard.
+            mBackgroundNormal.setForceOpaque(mIsHeadsUp || mOnKeyguard);
+        }
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowController.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowController.java
index 07711b6..02e8f49 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowController.java
@@ -127,7 +127,14 @@
                 @Override
                 public void onSettingChanged(Uri setting, int userId, String value) {
                     if (BUBBLES_SETTING_URI.equals(setting)) {
-                        final int viewUserId = mView.getEntry().getSbn().getUserId();
+                        if (NotificationBundleUi.isEnabled()
+                                && mView.getEntryAdapter().getSbn() == null) {
+                            // only valid for notification rows
+                            return;
+                        }
+                        final int viewUserId = NotificationBundleUi.isEnabled()
+                            ? mView.getEntryAdapter().getSbn().getUserId()
+                            : mView.getEntry().getSbn().getUserId();
                         if (viewUserId == UserHandle.USER_ALL || viewUserId == userId) {
                             mView.getPrivateLayout().setBubblesEnabledForUser(
                                     BUBBLES_SETTING_ENABLED_VALUE.equals(value));
@@ -376,8 +383,12 @@
             public void onViewAttachedToWindow(View v) {
                 if (NotificationBundleUi.isEnabled()) {
                     mView.setInitializationTime(mClock.elapsedRealtime());
+                    if (mView.getEntryAdapter().getSbn() != null) {
+                        mSettingsController.addCallback(BUBBLES_SETTING_URI, mSettingsListener);
+                    }
                 } else {
                     mView.getEntry().setInitializationTime(mClock.elapsedRealtime());
+                    mSettingsController.addCallback(BUBBLES_SETTING_URI, mSettingsListener);
                 }
                 mPluginManager.addPluginListener(mView,
                         NotificationMenuRowPlugin.class, false /* Allow multiple */);
@@ -385,7 +396,7 @@
                     mView.setOnKeyguard(mStatusBarStateController.getState() == KEYGUARD);
                     mStatusBarStateController.addCallback(mStatusBarStateListener);
                 }
-                mSettingsController.addCallback(BUBBLES_SETTING_URI, mSettingsListener);
+
             }
 
             @Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowDragController.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowDragController.java
index d5551b1..9ae2eb1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowDragController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowDragController.java
@@ -54,6 +54,7 @@
 import com.android.systemui.statusbar.CommandQueue;
 import com.android.systemui.statusbar.notification.logging.NotificationPanelLogger;
 import com.android.systemui.statusbar.notification.headsup.HeadsUpManager;
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 
 import javax.inject.Inject;
 
@@ -100,7 +101,15 @@
             enr = (ExpandableNotificationRow) view;
         }
 
-        StatusBarNotification sn = enr.getEntry().getSbn();
+        if (NotificationBundleUi.isEnabled()) {
+            if (!enr.getEntryAdapter().canDragAndDrop()) {
+                return;
+            }
+        }
+
+        StatusBarNotification sn = NotificationBundleUi.isEnabled()
+                ? enr.getEntryAdapter().getSbn()
+                : enr.getEntry().getSbn();
         Notification notification = sn.getNotification();
         final PendingIntent contentIntent = notification.contentIntent != null
                 ? notification.contentIntent
@@ -115,8 +124,7 @@
                  .show();
             return;
         }
-        Bitmap iconBitmap = getBitmapFromDrawable(
-                getPkgIcon(enr.getEntry().getSbn().getPackageName()));
+        Bitmap iconBitmap = getBitmapFromDrawable(getPkgIcon(sn.getPackageName()));
 
         final ImageView snapshot = new ImageView(mContext);
         snapshot.setImageBitmap(iconBitmap);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/HybridConversationNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/HybridConversationNotificationView.java
index 344d0f6..ba80f01 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/HybridConversationNotificationView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/HybridConversationNotificationView.java
@@ -51,6 +51,7 @@
  */
 public class HybridConversationNotificationView extends HybridNotificationView {
 
+    private static final int MAX_SUMMARIZATION_LINES = 2;
     private ImageView mConversationIconView;
     private TextView mConversationSenderName;
     private ViewStub mConversationFacePileStub;
@@ -292,11 +293,14 @@
             @Nullable CharSequence summarization
     ) {
         if (AsyncHybridViewInflation.isUnexpectedlyInLegacyMode()) return;
-        if (summarization != null) {
+        if (!TextUtils.isEmpty(summarization)) {
             mConversationSenderName.setVisibility(GONE);
             titleText = null;
             contentText = summarization;
+            mTextView.setSingleLine(false);
+            mTextView.setMaxLines(MAX_SUMMARIZATION_LINES);
         } else {
+            mTextView.setSingleLine(true);
             if (conversationSenderName == null) {
                 mConversationSenderName.setVisibility(GONE);
             } else {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationBackgroundView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationBackgroundView.java
index 33c36d8c..e1219e8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationBackgroundView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationBackgroundView.java
@@ -53,6 +53,7 @@
 public class NotificationBackgroundView extends View implements Dumpable,
         ExpandableNotificationRow.DismissButtonTargetVisibilityListener {
 
+    private static final int MAX_ALPHA = 0xFF;
     private final boolean mDontModifyCorners;
     private Drawable mBackground;
     private int mClipTopAmount;
@@ -72,8 +73,9 @@
     private int mDrawableAlpha = 255;
     private final ColorStateList mLightColoredStatefulColors;
     private final ColorStateList mDarkColoredStatefulColors;
-    private final int mNormalColor;
+    private int mNormalColor;
     private boolean mBgIsColorized = false;
+    private boolean mForceOpaque = false;
     private final int convexR = 9;
     private final int concaveR = 22;
 
@@ -87,15 +89,13 @@
                 R.color.notification_state_color_light);
         mDarkColoredStatefulColors = getResources().getColorStateList(
                 R.color.notification_state_color_dark);
-        if (notificationRowTransparency()) {
-            mNormalColor = SurfaceEffectColors.surfaceEffect1(getResources());
-        } else  {
-            mNormalColor = mContext.getColor(
-                    com.android.internal.R.color.materialColorSurfaceContainerHigh);
-        }
         mFocusOverlayStroke = getResources().getDimension(R.dimen.notification_focus_stroke_width);
     }
 
+    public void setNormalColor(int color) {
+        mNormalColor = color;
+    }
+
     @Override
     public void onTargetVisibilityChanged(boolean targetVisible) {
         if (NotificationAddXOnHoverToDismiss.isUnexpectedlyInLegacyMode()) {
@@ -156,6 +156,14 @@
         mBgIsColorized = b;
     }
 
+    /** Sets if the background should be opaque. */
+    public void setForceOpaque(boolean forceOpaque) {
+        mForceOpaque = forceOpaque;
+        if (notificationRowTransparency()) {
+            updateBaseLayerColor();
+        }
+    }
+
     private Path calculateDismissButtonCutoutPath(Rect backgroundBounds) {
         // TODO(b/365585705): Adapt to RTL after the UX design is finalized.
 
@@ -317,11 +325,15 @@
         // Instead, we set a color filter that essentially replaces every pixel of the drawable.
         // For non-colorized notifications, this function specifies a new color token.
         // For colorized notifications, this uses a color that matches the tint color at 90% alpha.
+        int color = isColorized()
+                ? ColorUtils.setAlphaComponent(mTintColor, (int) (MAX_ALPHA * 0.9f))
+                : SurfaceEffectColors.surfaceEffect1(getContext());
+        if (mForceOpaque) {
+            color = ColorUtils.setAlphaComponent(color, MAX_ALPHA);
+        }
         getBaseBackgroundLayer().setColorFilter(
                 new PorterDuffColorFilter(
-                        isColorized()
-                                ? ColorUtils.setAlphaComponent(mTintColor, (int) (255 * 0.9f))
-                                : SurfaceEffectColors.surfaceEffect1(getResources()),
+                        color,
                         PorterDuff.Mode.SRC)); // SRC operator discards the drawable's color+alpha
     }
 
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 4b2b168..daa598b 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
@@ -56,6 +56,7 @@
 import com.android.systemui.statusbar.notification.ConversationNotificationProcessor;
 import com.android.systemui.statusbar.notification.InflationException;
 import com.android.systemui.statusbar.notification.NmSummarizationUiFlag;
+import com.android.systemui.statusbar.notification.NotificationUtils;
 import com.android.systemui.statusbar.notification.collection.EntryAdapter;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
 import com.android.systemui.statusbar.notification.promoted.PromotedNotificationContentExtractor;
@@ -69,6 +70,7 @@
 import com.android.systemui.statusbar.notification.row.ui.viewbinder.SingleLineViewBinder;
 import com.android.systemui.statusbar.notification.row.ui.viewmodel.SingleLineViewModel;
 import com.android.systemui.statusbar.notification.row.wrapper.NotificationViewWrapper;
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 import com.android.systemui.statusbar.notification.stack.NotificationChildrenContainer;
 import com.android.systemui.statusbar.phone.CentralSurfaces;
 import com.android.systemui.statusbar.policy.InflatedSmartReplyState;
@@ -141,11 +143,11 @@
             // We don't want to reinflate anything for removed notifications. Otherwise views might
             // be readded to the stack, leading to leaks. This may happen with low-priority groups
             // where the removal of already removed children can lead to a reinflation.
-            mLogger.logNotBindingRowWasRemoved(entry);
+            mLogger.logNotBindingRowWasRemoved(row.getLoggingKey());
             return;
         }
 
-        mLogger.logBinding(entry, contentToBind);
+        mLogger.logBinding(row.getLoggingKey(), contentToBind);
 
         StatusBarNotification sbn = entry.getSbn();
 
@@ -283,7 +285,7 @@
             @NonNull ExpandableNotificationRow row) {
         final boolean abortedTask = entry.abortTask();
         if (abortedTask) {
-            mLogger.logCancelBindAbortedTask(entry);
+            mLogger.logCancelBindAbortedTask(row.getLoggingKey());
         }
         return abortedTask;
     }
@@ -293,7 +295,7 @@
             @NonNull NotificationEntry entry,
             @NonNull ExpandableNotificationRow row,
             @InflationFlag int contentToUnbind) {
-        mLogger.logUnbinding(entry, contentToUnbind);
+        mLogger.logUnbinding(row.getLoggingKey(), contentToUnbind);
         int curFlag = 1;
         while (contentToUnbind != 0) {
             if ((contentToUnbind & curFlag) != 0) {
@@ -410,18 +412,19 @@
                 && result.newExpandedView != null;
         boolean inflateHeadsUp = (reInflateFlags & FLAG_CONTENT_VIEW_HEADS_UP) != 0
                 && result.newHeadsUpView != null;
+        String logKey = NotificationUtils.logKey(entry);
         if (inflateContracted || inflateExpanded || inflateHeadsUp) {
-            logger.logAsyncTaskProgress(entry, "inflating contracted smart reply state");
+            logger.logAsyncTaskProgress(logKey, "inflating contracted smart reply state");
             result.inflatedSmartReplyState = inflater.inflateSmartReplyState(entry);
         }
         if (inflateExpanded) {
-            logger.logAsyncTaskProgress(entry, "inflating expanded smart reply state");
+            logger.logAsyncTaskProgress(logKey, "inflating expanded smart reply state");
             result.expandedInflatedSmartReplies = inflater.inflateSmartReplyViewHolder(
                     context, packageContext, entry, previousSmartReplyState,
                     result.inflatedSmartReplyState);
         }
         if (inflateHeadsUp) {
-            logger.logAsyncTaskProgress(entry, "inflating heads up smart reply state");
+            logger.logAsyncTaskProgress(logKey, "inflating heads up smart reply state");
             result.headsUpInflatedSmartReplies = inflater.inflateSmartReplyViewHolder(
                     context, packageContext, entry, previousSmartReplyState,
                     result.inflatedSmartReplyState);
@@ -438,23 +441,21 @@
             NotificationRowContentBinderLogger logger) {
         return TraceUtils.trace("NotificationContentInflater.createRemoteViews", () -> {
             InflationProgress result = new InflationProgress();
-            final NotificationEntry entryForLogging = row.getEntry();
-
             // create an image inflater
             result.mRowImageInflater = RowImageInflater.newInstance(row.mImageModelIndex);
 
             if ((reInflateFlags & FLAG_CONTENT_VIEW_CONTRACTED) != 0) {
-                logger.logAsyncTaskProgress(entryForLogging, "creating contracted remote view");
+                logger.logAsyncTaskProgress(row.getLoggingKey(), "creating contracted remote view");
                 result.newContentView = createContentView(builder, bindParams.isMinimized);
             }
 
             if ((reInflateFlags & FLAG_CONTENT_VIEW_EXPANDED) != 0) {
-                logger.logAsyncTaskProgress(entryForLogging, "creating expanded remote view");
+                logger.logAsyncTaskProgress(row.getLoggingKey(), "creating expanded remote view");
                 result.newExpandedView = createExpandedView(builder, bindParams.isMinimized);
             }
 
             if ((reInflateFlags & FLAG_CONTENT_VIEW_HEADS_UP) != 0) {
-                logger.logAsyncTaskProgress(entryForLogging, "creating heads up remote view");
+                logger.logAsyncTaskProgress(row.getLoggingKey(), "creating heads up remote view");
                 final boolean isHeadsUpCompact = headsUpStyleProvider.shouldApplyCompactStyle();
                 if (isHeadsUpCompact) {
                     result.newHeadsUpView = builder.createCompactHeadsUpContentView();
@@ -464,11 +465,14 @@
             }
 
             if ((reInflateFlags & FLAG_CONTENT_VIEW_PUBLIC) != 0) {
-                logger.logAsyncTaskProgress(entryForLogging, "creating public remote view");
+                logger.logAsyncTaskProgress(row.getLoggingKey(), "creating public remote view");
                 if (LockscreenOtpRedaction.isEnabled()
                         && bindParams.redactionType == REDACTION_TYPE_SENSITIVE_CONTENT) {
                     result.newPublicView = createSensitiveContentMessageNotification(
-                            row.getEntry().getSbn().getNotification(), builder.getStyle(),
+                            NotificationBundleUi.isEnabled()
+                                    ? row.getEntryAdapter().getSbn().getNotification()
+                                    : row.getEntry().getSbn().getNotification(),
+                            builder.getStyle(),
                             systemUiContext, packageContext).createContentView();
                 } else {
                     result.newPublicView = builder.makePublicContentView(bindParams.isMinimized);
@@ -477,13 +481,13 @@
 
             if (AsyncGroupHeaderViewInflation.isEnabled()) {
                 if ((reInflateFlags & FLAG_GROUP_SUMMARY_HEADER) != 0) {
-                    logger.logAsyncTaskProgress(entryForLogging,
+                    logger.logAsyncTaskProgress(row.getLoggingKey(),
                             "creating group summary remote view");
                     result.mNewGroupHeaderView = builder.makeNotificationGroupHeader();
                 }
 
                 if ((reInflateFlags & FLAG_LOW_PRIORITY_GROUP_SUMMARY_HEADER) != 0) {
-                    logger.logAsyncTaskProgress(entryForLogging,
+                    logger.logAsyncTaskProgress(row.getLoggingKey(),
                             "creating low-priority group summary remote view");
                     result.mNewMinimizedGroupHeaderView =
                             builder.makeLowPriorityContentView(true /* useRegularSubtext */);
@@ -577,6 +581,7 @@
             @Nullable InflationCallback callback,
             NotificationRowContentBinderLogger logger) {
         Trace.beginAsyncSection(APPLY_TRACE_METHOD, System.identityHashCode(row));
+        String logKey = NotificationUtils.logKey(entry);
 
         NotificationContentView privateLayout = row.getPrivateLayout();
         NotificationContentView publicLayout = row.getPublicLayout();
@@ -590,7 +595,7 @@
             ApplyCallback applyCallback = new ApplyCallback() {
                 @Override
                 public void setResultView(View v) {
-                    logger.logAsyncTaskProgress(entry, "contracted view applied");
+                    logger.logAsyncTaskProgress(logKey, "contracted view applied");
                     result.inflatedContentView = v;
                 }
 
@@ -599,7 +604,7 @@
                     return result.newContentView;
                 }
             };
-            logger.logAsyncTaskProgress(entry, "applying contracted view");
+            logger.logAsyncTaskProgress(logKey, "applying contracted view");
             applyRemoteView(inflationExecutor, inflateSynchronously, isMinimized, result,
                     reInflateFlags, flag,
                     remoteViewCache, entry, row, isNewView, remoteViewClickHandler, callback,
@@ -618,7 +623,7 @@
                 ApplyCallback applyCallback = new ApplyCallback() {
                     @Override
                     public void setResultView(View v) {
-                        logger.logAsyncTaskProgress(entry, "expanded view applied");
+                        logger.logAsyncTaskProgress(logKey, "expanded view applied");
                         result.inflatedExpandedView = v;
                     }
 
@@ -627,7 +632,7 @@
                         return result.newExpandedView;
                     }
                 };
-                logger.logAsyncTaskProgress(entry, "applying expanded view");
+                logger.logAsyncTaskProgress(logKey, "applying expanded view");
                 applyRemoteView(inflationExecutor, inflateSynchronously, isMinimized, result,
                         reInflateFlags,
                         flag, remoteViewCache, entry, row, isNewView, remoteViewClickHandler,
@@ -646,7 +651,7 @@
                 ApplyCallback applyCallback = new ApplyCallback() {
                     @Override
                     public void setResultView(View v) {
-                        logger.logAsyncTaskProgress(entry, "heads up view applied");
+                        logger.logAsyncTaskProgress(logKey, "heads up view applied");
                         result.inflatedHeadsUpView = v;
                     }
 
@@ -655,7 +660,7 @@
                         return result.newHeadsUpView;
                     }
                 };
-                logger.logAsyncTaskProgress(entry, "applying heads up view");
+                logger.logAsyncTaskProgress(logKey, "applying heads up view");
                 applyRemoteView(inflationExecutor, inflateSynchronously, isMinimized,
                         result, reInflateFlags,
                         flag, remoteViewCache, entry, row, isNewView, remoteViewClickHandler,
@@ -673,7 +678,7 @@
             ApplyCallback applyCallback = new ApplyCallback() {
                 @Override
                 public void setResultView(View v) {
-                    logger.logAsyncTaskProgress(entry, "public view applied");
+                    logger.logAsyncTaskProgress(logKey, "public view applied");
                     result.inflatedPublicView = v;
                 }
 
@@ -682,7 +687,7 @@
                     return result.newPublicView;
                 }
             };
-            logger.logAsyncTaskProgress(entry, "applying public view");
+            logger.logAsyncTaskProgress(logKey, "applying public view");
             applyRemoteView(inflationExecutor, inflateSynchronously, isMinimized,
                     result, reInflateFlags, flag,
                     remoteViewCache, entry, row, isNewView, remoteViewClickHandler, callback,
@@ -702,7 +707,7 @@
                 ApplyCallback applyCallback = new ApplyCallback() {
                     @Override
                     public void setResultView(View v) {
-                        logger.logAsyncTaskProgress(entry, "group header view applied");
+                        logger.logAsyncTaskProgress(logKey, "group header view applied");
                         result.mInflatedGroupHeaderView = (NotificationHeaderView) v;
                     }
 
@@ -711,7 +716,7 @@
                         return result.mNewGroupHeaderView;
                     }
                 };
-                logger.logAsyncTaskProgress(entry, "applying group header view");
+                logger.logAsyncTaskProgress(logKey, "applying group header view");
                 applyRemoteView(inflationExecutor, inflateSynchronously, isMinimized,
                         result, reInflateFlags,
                         /* inflationId = */ FLAG_GROUP_SUMMARY_HEADER,
@@ -731,7 +736,7 @@
                 ApplyCallback applyCallback = new ApplyCallback() {
                     @Override
                     public void setResultView(View v) {
-                        logger.logAsyncTaskProgress(entry,
+                        logger.logAsyncTaskProgress(logKey,
                                 "low-priority group header view applied");
                         result.mInflatedMinimizedGroupHeaderView = (NotificationHeaderView) v;
                     }
@@ -741,7 +746,7 @@
                         return result.mNewMinimizedGroupHeaderView;
                     }
                 };
-                logger.logAsyncTaskProgress(entry, "applying low priority group header view");
+                logger.logAsyncTaskProgress(logKey, "applying low priority group header view");
                 applyRemoteView(inflationExecutor, inflateSynchronously, isMinimized,
                         result, reInflateFlags,
                         /* inflationId = */ FLAG_LOW_PRIORITY_GROUP_SUMMARY_HEADER,
@@ -760,7 +765,7 @@
         CancellationSignal cancellationSignal = new CancellationSignal();
         cancellationSignal.setOnCancelListener(
                 () -> {
-                    logger.logAsyncTaskProgress(entry, "apply cancelled");
+                    logger.logAsyncTaskProgress(logKey, "apply cancelled");
                     Trace.endAsyncSection(APPLY_TRACE_METHOD, System.identityHashCode(row));
                     runningInflations.values().forEach(CancellationSignal::cancel);
                 });
@@ -807,7 +812,7 @@
                     existingWrapper.onReinflated();
                 }
             } catch (Exception e) {
-                handleInflationError(runningInflations, e, row.getEntry(), callback, logger,
+                handleInflationError(runningInflations, e, row, callback, logger,
                         "applying view synchronously");
                 // Add a running inflation to make sure we don't trigger callbacks.
                 // Safe to do because only happens in tests.
@@ -829,7 +834,7 @@
                 String invalidReason = isValidView(v, entry, row.getResources());
                 if (invalidReason != null) {
                     handleInflationError(runningInflations, new InflationException(invalidReason),
-                            row.getEntry(), callback, logger, "applied invalid view");
+                            row, callback, logger, "applied invalid view");
                     runningInflations.remove(inflationId);
                     return;
                 }
@@ -866,7 +871,7 @@
                     onViewApplied(newView);
                 } catch (Exception anotherException) {
                     runningInflations.remove(inflationId);
-                    handleInflationError(runningInflations, e, row.getEntry(),
+                    handleInflationError(runningInflations, e, row,
                             callback, logger, "applying view");
                 }
             }
@@ -962,13 +967,13 @@
 
     private static void handleInflationError(
             HashMap<Integer, CancellationSignal> runningInflations, Exception e,
-            NotificationEntry notification, @Nullable InflationCallback callback,
+            ExpandableNotificationRow row, @Nullable InflationCallback callback,
             NotificationRowContentBinderLogger logger, String logContext) {
         Assert.isMainThread();
-        logger.logAsyncTaskException(notification, logContext, e);
+        logger.logAsyncTaskException(row.getLoggingKey(), logContext, e);
         runningInflations.values().forEach(CancellationSignal::cancel);
         if (callback != null) {
-            callback.handleInflationException(notification, e);
+            callback.handleInflationException(row.getEntry(), e);
         }
     }
 
@@ -989,7 +994,7 @@
         }
         NotificationContentView privateLayout = row.getPrivateLayout();
         NotificationContentView publicLayout = row.getPublicLayout();
-        logger.logAsyncTaskProgress(entry, "finishing");
+        logger.logAsyncTaskProgress(NotificationUtils.logKey(entry), "finishing");
 
         // Put the new image index on the row
         row.mImageModelIndex = result.mRowImageInflater.getNewImageIndex();
@@ -1284,7 +1289,8 @@
                             return doInBackgroundInternal();
                         } catch (Exception e) {
                             mError = e;
-                            mLogger.logAsyncTaskException(mEntry, "inflating", e);
+                            mLogger.logAsyncTaskException(
+                                    NotificationUtils.logKey(mEntry), "inflating", e);
                             return null;
                         }
                     });
@@ -1311,12 +1317,12 @@
             InflationProgress inflationProgress = createRemoteViews(mReInflateFlags,
                     recoveredBuilder, mBindParams, mContext, packageContext, mRow,
                     mNotifLayoutInflaterFactoryProvider, mHeadsUpStyleProvider, mLogger);
-
-            mLogger.logAsyncTaskProgress(mEntry,
+            String logKey = NotificationUtils.logKey(mEntry);
+            mLogger.logAsyncTaskProgress(logKey,
                     "getting existing smart reply state (on wrong thread!)");
             InflatedSmartReplyState previousSmartReplyState =
                     mRow.getExistingSmartReplyState();
-            mLogger.logAsyncTaskProgress(mEntry, "inflating smart reply views");
+            mLogger.logAsyncTaskProgress(logKey, "inflating smart reply views");
             InflationProgress result = inflateSmartReplyViews(
                     /* result = */ inflationProgress,
                     mReInflateFlags,
@@ -1379,26 +1385,26 @@
             }
 
             if (PromotedNotificationContentModel.featureFlagEnabled()) {
-                mLogger.logAsyncTaskProgress(mEntry, "extracting promoted notification content");
+                mLogger.logAsyncTaskProgress(logKey, "extracting promoted notification content");
                 final ImageModelProvider imageModelProvider =
                         result.mRowImageInflater.useForContentModel();
                 final PromotedNotificationContentModel promotedContent =
                         mPromotedNotificationContentExtractor.extractContent(mEntry,
                                 recoveredBuilder, imageModelProvider);
-                mLogger.logAsyncTaskProgress(mEntry, "extracted promoted notification content: "
+                mLogger.logAsyncTaskProgress(logKey, "extracted promoted notification content: "
                         + promotedContent);
 
                 result.mPromotedContent = promotedContent;
             }
 
-            mLogger.logAsyncTaskProgress(mEntry, "loading RON images");
+            mLogger.logAsyncTaskProgress(logKey, "loading RON images");
             inflationProgress.mRowImageInflater.loadImagesSynchronously(packageContext);
 
-            mLogger.logAsyncTaskProgress(mEntry,
+            mLogger.logAsyncTaskProgress(logKey,
                     "getting row image resolver (on wrong thread!)");
             final NotificationInlineImageResolver imageResolver = mRow.getImageResolver();
             // wait for image resolver to finish preloading
-            mLogger.logAsyncTaskProgress(mEntry, "waiting for preloaded images");
+            mLogger.logAsyncTaskProgress(logKey, "waiting for preloaded images");
             imageResolver.waitForPreloadedImages(IMG_PRELOAD_TIMEOUT_MS);
 
             return result;
@@ -1449,13 +1455,14 @@
 
         @Override
         public void abort() {
-            mLogger.logAsyncTaskProgress(mEntry, "cancelling inflate");
+            String logKey = NotificationUtils.logKey(mEntry);
+            mLogger.logAsyncTaskProgress(logKey, "cancelling inflate");
             cancel(true /* mayInterruptIfRunning */);
             if (mCancellationSignal != null) {
-                mLogger.logAsyncTaskProgress(mEntry, "cancelling apply");
+                mLogger.logAsyncTaskProgress(logKey, "cancelling apply");
                 mCancellationSignal.cancel();
             }
-            mLogger.logAsyncTaskProgress(mEntry, "aborted");
+            mLogger.logAsyncTaskProgress(logKey, "aborted");
         }
 
         @Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java
index 0d29981..1932037 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java
@@ -64,6 +64,7 @@
 import com.android.systemui.statusbar.notification.row.wrapper.NotificationCustomViewWrapper;
 import com.android.systemui.statusbar.notification.row.wrapper.NotificationHeaderViewWrapper;
 import com.android.systemui.statusbar.notification.row.wrapper.NotificationViewWrapper;
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 import com.android.systemui.statusbar.phone.ExpandHeadsUpOnInlineReply;
 import com.android.systemui.statusbar.policy.InflatedSmartReplyState;
 import com.android.systemui.statusbar.policy.InflatedSmartReplyViewHolder;
@@ -594,12 +595,11 @@
         if (mContainingNotification == null) {
             return null;
         }
-        final NotificationEntry entry = mContainingNotification.getEntry();
-        if (entry == null) {
-            return null;
+        if (NotificationBundleUi.isEnabled()) {
+            return mContainingNotification.getEntryAdapter().getSbn();
+        } else {
+            return mContainingNotification.getEntry().getSbn();
         }
-
-        return entry.getSbn();
     }
 
     /**
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationMenuRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationMenuRow.java
index ab382df..e89a76f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationMenuRow.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationMenuRow.java
@@ -16,7 +16,7 @@
 
 package com.android.systemui.statusbar.notification.row;
 
-import static android.app.NotificationChannel.SYSTEM_RESERVED_IDS;
+import static android.app.Flags.notificationsRedesignTemplates;
 import static android.view.HapticFeedbackConstants.CLOCK_TICK;
 
 import static com.android.systemui.SwipeHelper.SWIPED_FAR_ENOUGH_SIZE_FRACTION;
@@ -706,8 +706,11 @@
     static NotificationMenuItem createInfoItem(Context context) {
         Resources res = context.getResources();
         String infoDescription = res.getString(R.string.notification_menu_gear_description);
+        int layoutId = notificationsRedesignTemplates()
+                ? R.layout.notification_2025_info
+                : R.layout.notification_info;
         NotificationInfo infoContent = (NotificationInfo) LayoutInflater.from(context).inflate(
-                R.layout.notification_info, null, false);
+                layoutId, null, false);
         return new NotificationMenuItem(context, infoDescription, infoContent,
                 R.drawable.ic_settings);
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationRowContentBinderImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationRowContentBinderImpl.kt
index b9a3594..3586078 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationRowContentBinderImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationRowContentBinderImpl.kt
@@ -16,6 +16,7 @@
 package com.android.systemui.statusbar.notification.row
 
 import android.annotation.SuppressLint
+import android.app.Flags
 import android.app.Notification
 import android.app.Notification.EXTRA_SUMMARIZED_CONTENT
 import android.app.Notification.MessagingStyle
@@ -49,9 +50,10 @@
 import com.android.systemui.statusbar.notification.ConversationNotificationProcessor
 import com.android.systemui.statusbar.notification.InflationException
 import com.android.systemui.statusbar.notification.NmSummarizationUiFlag
-import com.android.systemui.statusbar.notification.collection.EntryAdapter
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
+import com.android.systemui.statusbar.notification.logKey
 import com.android.systemui.statusbar.notification.promoted.PromotedNotificationContentExtractor
+import com.android.systemui.statusbar.notification.promoted.PromotedNotificationUiForceExpanded
 import com.android.systemui.statusbar.notification.promoted.shared.model.PromotedNotificationContentModel
 import com.android.systemui.statusbar.notification.row.NotificationContentView.VISIBLE_TYPE_CONTRACTED
 import com.android.systemui.statusbar.notification.row.NotificationContentView.VISIBLE_TYPE_EXPANDED
@@ -125,10 +127,10 @@
             // We don't want to reinflate anything for removed notifications. Otherwise views might
             // be readded to the stack, leading to leaks. This may happen with low-priority groups
             // where the removal of already removed children can lead to a reinflation.
-            logger.logNotBindingRowWasRemoved(entry)
+            logger.logNotBindingRowWasRemoved(row.loggingKey)
             return
         }
-        logger.logBinding(entry, contentToBind)
+        logger.logBinding(row.loggingKey, contentToBind)
         val sbn: StatusBarNotification = entry.sbn
 
         // To check if the notification has inline image and preload inline image if necessary.
@@ -245,7 +247,7 @@
     override fun cancelBind(entry: NotificationEntry, row: ExpandableNotificationRow): Boolean {
         val abortedTask: Boolean = entry.abortTask()
         if (abortedTask) {
-            logger.logCancelBindAbortedTask(entry)
+            logger.logCancelBindAbortedTask(row.loggingKey)
         }
         return abortedTask
     }
@@ -256,7 +258,7 @@
         row: ExpandableNotificationRow,
         @InflationFlag contentToUnbind: Int,
     ) {
-        logger.logUnbinding(entry, contentToUnbind)
+        logger.logUnbinding(row.loggingKey, contentToUnbind)
         var curFlag = 1
         var contentLeftToUnbind = contentToUnbind
         while (contentLeftToUnbind != 0) {
@@ -419,7 +421,7 @@
                 try {
                     return@trace Result.success(doInBackgroundInternal())
                 } catch (e: Exception) {
-                    logger.logAsyncTaskException(entry, "inflating", e)
+                    logger.logAsyncTaskException(entry.logKey, "inflating", e)
                     return@trace Result.failure(e)
                 }
             }
@@ -451,11 +453,11 @@
                     logger = logger,
                 )
             logger.logAsyncTaskProgress(
-                entry,
+                row.loggingKey,
                 "getting existing smart reply state (on wrong thread!)",
             )
             val previousSmartReplyState: InflatedSmartReplyState? = row.existingSmartReplyState
-            logger.logAsyncTaskProgress(entry, "inflating smart reply views")
+            logger.logAsyncTaskProgress(entry.logKey, "inflating smart reply views")
             inflateSmartReplyViews(
                 /* result = */ inflationProgress,
                 reInflateFlags,
@@ -467,7 +469,7 @@
                 logger,
             )
             if (AsyncHybridViewInflation.isEnabled) {
-                logger.logAsyncTaskProgress(entry, "inflating single line view")
+                logger.logAsyncTaskProgress(entry.logKey, "inflating single line view")
                 inflationProgress.inflatedSingleLineView =
                     inflationProgress.contentModel.singleLineViewModel?.let {
                         SingleLineViewInflater.inflatePrivateSingleLineView(
@@ -481,7 +483,7 @@
             }
 
             if (LockscreenOtpRedaction.isEnabled) {
-                logger.logAsyncTaskProgress(entry, "inflating public single line view")
+                logger.logAsyncTaskProgress(entry.logKey, "inflating public single line view")
                 inflationProgress.inflatedPublicSingleLineView =
                     inflationProgress.contentModel.publicSingleLineViewModel?.let { viewModel ->
                         SingleLineViewInflater.inflatePublicSingleLineView(
@@ -494,13 +496,13 @@
                     }
             }
 
-            logger.logAsyncTaskProgress(entry, "loading RON images")
+            logger.logAsyncTaskProgress(entry.logKey, "loading RON images")
             inflationProgress.rowImageInflater.loadImagesSynchronously(packageContext)
 
-            logger.logAsyncTaskProgress(entry, "getting row image resolver (on wrong thread!)")
+            logger.logAsyncTaskProgress(entry.logKey, "getting row image resolver (on wrong thread!)")
             val imageResolver = row.imageResolver
             // wait for image resolver to finish preloading
-            logger.logAsyncTaskProgress(entry, "waiting for preloaded images")
+            logger.logAsyncTaskProgress(entry.logKey, "waiting for preloaded images")
             imageResolver.waitForPreloadedImages(IMG_PRELOAD_TIMEOUT_MS)
             return inflationProgress
         }
@@ -547,13 +549,13 @@
         }
 
         override fun abort() {
-            logger.logAsyncTaskProgress(entry, "cancelling inflate")
+            logger.logAsyncTaskProgress(entry.logKey, "cancelling inflate")
             cancel(/* mayInterruptIfRunning= */ true)
             if (cancellationSignal != null) {
-                logger.logAsyncTaskProgress(entry, "cancelling apply")
+                logger.logAsyncTaskProgress(entry.logKey, "cancelling apply")
                 cancellationSignal!!.cancel()
             }
-            logger.logAsyncTaskProgress(entry, "aborted")
+            logger.logAsyncTaskProgress(entry.logKey, "aborted")
         }
 
         override fun handleInflationException(e: Exception) {
@@ -641,11 +643,11 @@
                 (reInflateFlags and FLAG_CONTENT_VIEW_HEADS_UP != 0 &&
                     result.remoteViews.headsUp != null)
             if (inflateContracted || inflateExpanded || inflateHeadsUp) {
-                logger.logAsyncTaskProgress(entry, "inflating contracted smart reply state")
+                logger.logAsyncTaskProgress(entry.logKey, "inflating contracted smart reply state")
                 result.inflatedSmartReplyState = inflater.inflateSmartReplyState(entry)
             }
             if (inflateExpanded) {
-                logger.logAsyncTaskProgress(entry, "inflating expanded smart reply state")
+                logger.logAsyncTaskProgress(entry.logKey, "inflating expanded smart reply state")
                 result.expandedInflatedSmartReplies =
                     inflater.inflateSmartReplyViewHolder(
                         context,
@@ -656,7 +658,7 @@
                     )
             }
             if (inflateHeadsUp) {
-                logger.logAsyncTaskProgress(entry, "inflating heads up smart reply state")
+                logger.logAsyncTaskProgress(entry.logKey, "inflating heads up smart reply state")
                 result.headsUpInflatedSmartReplies =
                     inflater.inflateSmartReplyViewHolder(
                         context,
@@ -687,13 +689,16 @@
 
             val promotedContent =
                 if (PromotedNotificationContentModel.featureFlagEnabled()) {
-                    logger.logAsyncTaskProgress(entry, "extracting promoted notification content")
+                    logger.logAsyncTaskProgress(
+                        entry.logKey,
+                        "extracting promoted notification content"
+                    )
                     val imageModelProvider = rowImageInflater.useForContentModel()
                     promotedNotificationContentExtractor
                         .extractContent(entry, builder, imageModelProvider)
                         .also {
                             logger.logAsyncTaskProgress(
-                                entry,
+                                entry.logKey,
                                 "extracted promoted notification content: $it",
                             )
                         }
@@ -726,7 +731,7 @@
                     AsyncHybridViewInflation.isEnabled &&
                         reInflateFlags and FLAG_CONTENT_VIEW_SINGLE_LINE != 0
                 ) {
-                    logger.logAsyncTaskProgress(entry, "inflating single line view model")
+                    logger.logAsyncTaskProgress(entry.logKey, "inflating single line view model")
                     SingleLineViewInflater.inflateSingleLineViewModel(
                         notification = entry.sbn.notification,
                         messagingStyle = messagingStyle,
@@ -743,7 +748,10 @@
                     LockscreenOtpRedaction.isEnabled &&
                         reInflateFlags and FLAG_CONTENT_VIEW_PUBLIC_SINGLE_LINE != 0
                 ) {
-                    logger.logAsyncTaskProgress(entry, "inflating public single line view model")
+                    logger.logAsyncTaskProgress(
+                        entry.logKey,
+                        "inflating public single line view model"
+                    )
                     if (bindParams.redactionType == REDACTION_TYPE_SENSITIVE_CONTENT) {
                         SingleLineViewInflater.inflateSingleLineViewModel(
                             notification = entry.sbn.notification,
@@ -834,11 +842,10 @@
             logger: NotificationRowContentBinderLogger,
         ): NewRemoteViews {
             return TraceUtils.trace("NotificationContentInflater.createRemoteViews") {
-                val entryForLogging: NotificationEntry = row.entry
                 val contracted =
                     if (reInflateFlags and FLAG_CONTENT_VIEW_CONTRACTED != 0) {
                         logger.logAsyncTaskProgress(
-                            entryForLogging,
+                            row.loggingKey,
                             "creating contracted remote view",
                         )
                         createContentView(builder, bindParams.isMinimized)
@@ -846,7 +853,7 @@
                 val expanded =
                     if (reInflateFlags and FLAG_CONTENT_VIEW_EXPANDED != 0) {
                         logger.logAsyncTaskProgress(
-                            entryForLogging,
+                            row.loggingKey,
                             "creating expanded remote view",
                         )
                         createExpandedView(builder, bindParams.isMinimized)
@@ -854,7 +861,7 @@
                 val headsUp =
                     if (reInflateFlags and FLAG_CONTENT_VIEW_HEADS_UP != 0) {
                         logger.logAsyncTaskProgress(
-                            entryForLogging,
+                            row.loggingKey,
                             "creating heads up remote view",
                         )
                         val isHeadsUpCompact = headsUpStyleProvider.shouldApplyCompactStyle()
@@ -866,7 +873,10 @@
                     } else null
                 val public =
                     if (reInflateFlags and FLAG_CONTENT_VIEW_PUBLIC != 0) {
-                        logger.logAsyncTaskProgress(entryForLogging, "creating public remote view")
+                        logger.logAsyncTaskProgress(
+                            row.loggingKey,
+                            "creating public remote view"
+                        )
                         if (
                             LockscreenOtpRedaction.isEnabled &&
                                 bindParams.redactionType == REDACTION_TYPE_SENSITIVE_CONTENT
@@ -888,7 +898,7 @@
                             reInflateFlags and FLAG_GROUP_SUMMARY_HEADER != 0
                     ) {
                         logger.logAsyncTaskProgress(
-                            entryForLogging,
+                            row.loggingKey,
                             "creating group summary remote view",
                         )
                         builder.makeNotificationGroupHeader()
@@ -899,7 +909,7 @@
                             reInflateFlags and FLAG_LOW_PRIORITY_GROUP_SUMMARY_HEADER != 0
                     ) {
                         logger.logAsyncTaskProgress(
-                            entryForLogging,
+                            row.loggingKey,
                             "creating low-priority group summary remote view",
                         )
                         builder.makeLowPriorityContentView(true /* useRegularSubtext */)
@@ -971,14 +981,14 @@
                 val applyCallback: ApplyCallback =
                     object : ApplyCallback() {
                         override fun setResultView(v: View) {
-                            logger.logAsyncTaskProgress(entry, "contracted view applied")
+                            logger.logAsyncTaskProgress(entry.logKey, "contracted view applied")
                             result.inflatedContentView = v
                         }
 
                         override val remoteView: RemoteViews
                             get() = result.remoteViews.contracted
                     }
-                logger.logAsyncTaskProgress(entry, "applying contracted view")
+                logger.logAsyncTaskProgress(entry.logKey, "applying contracted view")
                 applyRemoteView(
                     inflationExecutor = inflationExecutor,
                     inflateSynchronously = inflateSynchronously,
@@ -1010,14 +1020,14 @@
                 val applyCallback: ApplyCallback =
                     object : ApplyCallback() {
                         override fun setResultView(v: View) {
-                            logger.logAsyncTaskProgress(entry, "expanded view applied")
+                            logger.logAsyncTaskProgress(entry.logKey, "expanded view applied")
                             result.inflatedExpandedView = v
                         }
 
                         override val remoteView: RemoteViews
                             get() = result.remoteViews.expanded
                     }
-                logger.logAsyncTaskProgress(entry, "applying expanded view")
+                logger.logAsyncTaskProgress(entry.logKey, "applying expanded view")
                 applyRemoteView(
                     inflationExecutor = inflationExecutor,
                     inflateSynchronously = inflateSynchronously,
@@ -1049,14 +1059,14 @@
                 val applyCallback: ApplyCallback =
                     object : ApplyCallback() {
                         override fun setResultView(v: View) {
-                            logger.logAsyncTaskProgress(entry, "heads up view applied")
+                            logger.logAsyncTaskProgress(entry.logKey, "heads up view applied")
                             result.inflatedHeadsUpView = v
                         }
 
                         override val remoteView: RemoteViews
                             get() = result.remoteViews.headsUp
                     }
-                logger.logAsyncTaskProgress(entry, "applying heads up view")
+                logger.logAsyncTaskProgress(entry.logKey, "applying heads up view")
                 applyRemoteView(
                     inflationExecutor = inflationExecutor,
                     inflateSynchronously = inflateSynchronously,
@@ -1088,14 +1098,14 @@
                 val applyCallback: ApplyCallback =
                     object : ApplyCallback() {
                         override fun setResultView(v: View) {
-                            logger.logAsyncTaskProgress(entry, "public view applied")
+                            logger.logAsyncTaskProgress(entry.logKey, "public view applied")
                             result.inflatedPublicView = v
                         }
 
                         override val remoteView: RemoteViews
                             get() = result.remoteViews.public!!
                     }
-                logger.logAsyncTaskProgress(entry, "applying public view")
+                logger.logAsyncTaskProgress(entry.logKey, "applying public view")
                 applyRemoteView(
                     inflationExecutor = inflationExecutor,
                     inflateSynchronously = inflateSynchronously,
@@ -1130,14 +1140,17 @@
                     val applyCallback: ApplyCallback =
                         object : ApplyCallback() {
                             override fun setResultView(v: View) {
-                                logger.logAsyncTaskProgress(entry, "group header view applied")
+                                logger.logAsyncTaskProgress(
+                                    entry.logKey,
+                                    "group header view applied"
+                                )
                                 result.inflatedGroupHeaderView = v as NotificationHeaderView?
                             }
 
                             override val remoteView: RemoteViews
                                 get() = result.remoteViews.normalGroupHeader!!
                         }
-                    logger.logAsyncTaskProgress(entry, "applying group header view")
+                    logger.logAsyncTaskProgress(entry.logKey, "applying group header view")
                     applyRemoteView(
                         inflationExecutor = inflationExecutor,
                         inflateSynchronously = inflateSynchronously,
@@ -1173,7 +1186,7 @@
                         object : ApplyCallback() {
                             override fun setResultView(v: View) {
                                 logger.logAsyncTaskProgress(
-                                    entry,
+                                    entry.logKey,
                                     "low-priority group header view applied",
                                 )
                                 result.inflatedMinimizedGroupHeaderView =
@@ -1183,7 +1196,10 @@
                             override val remoteView: RemoteViews
                                 get() = result.remoteViews.minimizedGroupHeader!!
                         }
-                    logger.logAsyncTaskProgress(entry, "applying low priority group header view")
+                    logger.logAsyncTaskProgress(
+                        entry.logKey,
+                        "applying low priority group header view"
+                    )
                     applyRemoteView(
                         inflationExecutor = inflationExecutor,
                         inflateSynchronously = inflateSynchronously,
@@ -1221,7 +1237,7 @@
             )
             val cancellationSignal = CancellationSignal()
             cancellationSignal.setOnCancelListener {
-                logger.logAsyncTaskProgress(entry, "apply cancelled")
+                logger.logAsyncTaskProgress(entry.logKey, "apply cancelled")
                 Trace.endAsyncSection(APPLY_TRACE_METHOD, System.identityHashCode(row))
                 runningInflations.values.forEach(
                     Consumer { obj: CancellationSignal -> obj.cancel() }
@@ -1278,7 +1294,7 @@
                     handleInflationError(
                         runningInflations,
                         e,
-                        row.entry,
+                        row,
                         callback,
                         logger,
                         "applying view synchronously",
@@ -1303,7 +1319,7 @@
                             handleInflationError(
                                 runningInflations,
                                 InflationException(invalidReason),
-                                row.entry,
+                                row,
                                 callback,
                                 logger,
                                 "applied invalid view",
@@ -1362,7 +1378,7 @@
                             handleInflationError(
                                 runningInflations,
                                 e,
-                                row.entry,
+                                row,
                                 callback,
                                 logger,
                                 "applying view",
@@ -1465,15 +1481,15 @@
         private fun handleInflationError(
             runningInflations: HashMap<Int, CancellationSignal>,
             e: Exception,
-            notification: NotificationEntry,
+            notification: ExpandableNotificationRow?,
             callback: InflationCallback?,
             logger: NotificationRowContentBinderLogger,
             logContext: String,
         ) {
             Assert.isMainThread()
-            logger.logAsyncTaskException(notification, logContext, e)
+            logger.logAsyncTaskException(notification?.loggingKey, logContext, e)
             runningInflations.values.forEach(Consumer { obj: CancellationSignal -> obj.cancel() })
-            callback?.handleInflationException(notification, e)
+            callback?.handleInflationException(notification?.entry, e)
         }
 
         /**
@@ -1496,7 +1512,7 @@
             if (runningInflations.isNotEmpty()) {
                 return false
             }
-            logger.logAsyncTaskProgress(entry, "finishing")
+            logger.logAsyncTaskProgress(row.loggingKey, "finishing")
 
             // Put the new image index on the row
             row.mImageModelIndex = result.rowImageInflater.getNewImageIndex()
@@ -1506,6 +1522,10 @@
                 entry.promotedNotificationContentModel = result.promotedContent
             }
 
+            if (PromotedNotificationUiForceExpanded.isEnabled) {
+                row.setPromotedOngoing(entry.isOngoingPromoted())
+            }
+
             result.inflatedSmartReplyState?.let { row.privateLayout.setInflatedSmartReplyState(it) }
 
             setContentViewsFromRemoteViews(
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationRowContentBinderLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationRowContentBinderLogger.kt
index a32e1d7..e94b2dc 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationRowContentBinderLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationRowContentBinderLogger.kt
@@ -35,66 +35,66 @@
 class NotificationRowContentBinderLogger
 @Inject
 constructor(@NotifInflationLog private val buffer: LogBuffer) {
-    fun logNotBindingRowWasRemoved(entry: NotificationEntry) {
+    fun logNotBindingRowWasRemoved(entry: String) {
         buffer.log(
             TAG,
             LogLevel.INFO,
-            { str1 = entry.logKey },
+            { str1 = entry },
             { "not inflating $str1: row was removed" }
         )
     }
 
-    fun logBinding(entry: NotificationEntry, @InflationFlag flag: Int) {
+    fun logBinding(entry: String, @InflationFlag flag: Int) {
         buffer.log(
             TAG,
             LogLevel.DEBUG,
             {
-                str1 = entry.logKey
+                str1 = entry
                 int1 = flag
             },
             { "binding views ${flagToString(int1)} for $str1" }
         )
     }
 
-    fun logCancelBindAbortedTask(entry: NotificationEntry) {
+    fun logCancelBindAbortedTask(entry: String) {
         buffer.log(
             TAG,
             LogLevel.INFO,
-            { str1 = entry.logKey },
+            { str1 = entry },
             { "aborted task to cancel binding $str1" }
         )
     }
 
-    fun logUnbinding(entry: NotificationEntry, @InflationFlag flag: Int) {
+    fun logUnbinding(entry: String, @InflationFlag flag: Int) {
         buffer.log(
             TAG,
             LogLevel.DEBUG,
             {
-                str1 = entry.logKey
+                str1 = entry
                 int1 = flag
             },
             { "unbinding views ${flagToString(int1)} for $str1" }
         )
     }
 
-    fun logAsyncTaskProgress(entry: NotificationEntry, progress: String) {
+    fun logAsyncTaskProgress(entry: String?, progress: String) {
         buffer.log(
             TAG,
             LogLevel.DEBUG,
             {
-                str1 = entry.logKey
+                str1 = entry
                 str2 = progress
             },
             { "async task for $str1: $str2" }
         )
     }
 
-    fun logAsyncTaskException(entry: NotificationEntry, logContext: String, exception: Throwable) {
+    fun logAsyncTaskException(entry: String?, logContext: String, exception: Throwable) {
         buffer.log(
             TAG,
             LogLevel.DEBUG,
             {
-                str1 = entry.logKey
+                str1 = entry
                 str2 = logContext
                 str3 = exception.stackTraceToString()
             },
@@ -103,7 +103,7 @@
     }
 
     fun logInflateSingleLine(
-        entry: NotificationEntry,
+        entry: String?,
         @InflationFlag inflationFlags: Int,
         isConversation: Boolean
     ) {
@@ -111,7 +111,7 @@
             TAG,
             LogLevel.DEBUG,
             {
-                str1 = entry.logKey
+                str1 = entry
                 int1 = inflationFlags
                 bool1 = isConversation
             },
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/SingleLineViewInflater.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/SingleLineViewInflater.kt
index ea73b4b..e0c1692 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/SingleLineViewInflater.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/SingleLineViewInflater.kt
@@ -417,8 +417,8 @@
     ): HybridNotificationView? {
         if (AsyncHybridViewInflation.isUnexpectedlyInLegacyMode()) return null
 
-        logger.logInflateSingleLine(entry, reinflateFlags, isConversation)
-        logger.logAsyncTaskProgress(entry, "inflating single-line content view")
+        logger.logInflateSingleLine(entry.logKey, reinflateFlags, isConversation)
+        logger.logAsyncTaskProgress(entry.logKey, "inflating single-line content view")
 
         var view: HybridNotificationView? = null
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/icon/NotificationRowIconViewInflaterFactory.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/icon/NotificationRowIconViewInflaterFactory.kt
index bb4aa86..4082a5b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/icon/NotificationRowIconViewInflaterFactory.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/icon/NotificationRowIconViewInflaterFactory.kt
@@ -26,6 +26,7 @@
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
 import com.android.systemui.statusbar.notification.row.NotifRemoteViewsFactory
 import com.android.systemui.statusbar.notification.row.NotificationRowContentBinder
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi
 import javax.inject.Inject
 
 /**
@@ -60,7 +61,18 @@
         row: ExpandableNotificationRow,
         context: Context,
     ): NotificationIconProvider {
-        val sbn = row.entry.sbn
+        val sbn = if (NotificationBundleUi.isEnabled) row.entryAdapter?.sbn else  row.entry.sbn
+        if (sbn == null) {
+            return object : NotificationIconProvider {
+                override fun shouldShowAppIcon(): Boolean {
+                    return false
+                }
+
+                override fun getAppIcon(): Drawable? {
+                    return null
+                }
+            }
+        }
         return object : NotificationIconProvider {
             override fun shouldShowAppIcon(): Boolean {
                 val shouldShowAppIcon = iconStyleProvider.shouldShowAppIcon(sbn, context)
@@ -68,7 +80,7 @@
                 return shouldShowAppIcon
             }
 
-            override fun getAppIcon(): Drawable {
+            override fun getAppIcon(): Drawable? {
                 val withWorkProfileBadge =
                     iconStyleProvider.shouldShowWorkProfileBadge(sbn, context)
                 return appIconProvider.getOrFetchAppIcon(
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ui/viewbinder/ActivatableNotificationViewBinder.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ui/viewbinder/ActivatableNotificationViewBinder.kt
index f0b5c36..8984f2c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ui/viewbinder/ActivatableNotificationViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ui/viewbinder/ActivatableNotificationViewBinder.kt
@@ -50,6 +50,15 @@
                 view.registerListenersWhileAttached(touchHandler)
             }
         }
+        view.repeatWhenAttached {
+            repeatOnLifecycle(Lifecycle.State.STARTED) {
+                launch {
+                    viewModel.isBlurSupported.collect { supported ->
+                        view.setIsBlurSupported(supported)
+                    }
+                }
+            }
+        }
     }
 
     private suspend fun ActivatableNotificationView.registerListenersWhileAttached(
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ui/viewmodel/ActivatableNotificationViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ui/viewmodel/ActivatableNotificationViewModel.kt
index f46d424..9a86ffb 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ui/viewmodel/ActivatableNotificationViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ui/viewmodel/ActivatableNotificationViewModel.kt
@@ -17,6 +17,7 @@
 package com.android.systemui.statusbar.notification.row.ui.viewmodel
 
 import com.android.systemui.accessibility.domain.interactor.AccessibilityInteractor
+import com.android.systemui.window.domain.interactor.WindowRootViewBlurInteractor
 import dagger.Module
 import dagger.Provides
 import kotlinx.coroutines.flow.Flow
@@ -26,25 +27,34 @@
 interface ActivatableNotificationViewModel : ExpandableOutlineViewModel {
     /** Does the view react to touches? */
     val isTouchable: Flow<Boolean>
+    val isBlurSupported: Flow<Boolean>
 
     companion object {
         operator fun invoke(
             a11yInteractor: AccessibilityInteractor,
-        ): ActivatableNotificationViewModel = ActivatableNotificationViewModelImpl(a11yInteractor)
+            windowRootViewBlurInteractor: WindowRootViewBlurInteractor
+        ): ActivatableNotificationViewModel =
+            ActivatableNotificationViewModelImpl(a11yInteractor, windowRootViewBlurInteractor)
     }
 }
 
 private class ActivatableNotificationViewModelImpl(
     a11yInteractor: AccessibilityInteractor,
+    windowRootViewBlurInteractor: WindowRootViewBlurInteractor,
 ) : ActivatableNotificationViewModel {
     override val isTouchable: Flow<Boolean> =
         // If a11y touch exploration is enabled, then the activatable view should ignore touches
         a11yInteractor.isTouchExplorationEnabled.map { !it }
+    override val isBlurSupported: Flow<Boolean> =
+        windowRootViewBlurInteractor.isBlurCurrentlySupported
 }
 
 @Module
 object ActivatableNotificationViewModelModule {
     @Provides
-    fun provideViewModel(interactor: AccessibilityInteractor) =
-        ActivatableNotificationViewModel(interactor)
+    fun provideViewModel(
+        a11yInteractor: AccessibilityInteractor,
+        windowRootViewBlurInteractor: WindowRootViewBlurInteractor
+    ) =
+        ActivatableNotificationViewModel(a11yInteractor, windowRootViewBlurInteractor)
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationBigPictureTemplateViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationBigPictureTemplateViewWrapper.java
index 990adf7..f492b25 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationBigPictureTemplateViewWrapper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationBigPictureTemplateViewWrapper.java
@@ -30,6 +30,7 @@
 import com.android.systemui.statusbar.notification.ImageTransformState;
 import com.android.systemui.statusbar.notification.row.BigPictureIconManager;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 
 /**
  * Wraps a notification containing a big picture template
@@ -47,7 +48,9 @@
     public void onContentUpdated(ExpandableNotificationRow row) {
         super.onContentUpdated(row);
         resolveViews();
-        updateImageTag(row.getEntry().getSbn());
+        updateImageTag(NotificationBundleUi.isEnabled()
+                ? row.getEntryAdapter().getSbn()
+                : row.getEntry().getSbn());
     }
 
     private void resolveViews() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationBigTextTemplateViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationBigTextTemplateViewWrapper.java
index d58c183..dec674c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationBigTextTemplateViewWrapper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationBigTextTemplateViewWrapper.java
@@ -23,6 +23,7 @@
 import com.android.internal.widget.ImageFloatingTextView;
 import com.android.systemui.statusbar.TransformableView;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 
 /**
  * Wraps a notification containing a big text template
@@ -44,7 +45,9 @@
     public void onContentUpdated(ExpandableNotificationRow row) {
         // Reinspect the notification. Before the super call, because the super call also updates
         // the transformation types and we need to have our values set by then.
-        resolveViews(row.getEntry().getSbn());
+        resolveViews(NotificationBundleUi.isEnabled()
+                ? row.getEntryAdapter().getSbn()
+                : row.getEntry().getSbn());
         super.onContentUpdated(row);
     }
 
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 e9eecdd8..585051a 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
@@ -52,6 +52,7 @@
 import com.android.systemui.statusbar.notification.TransformState;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
 import com.android.systemui.statusbar.notification.shared.NotificationAddXOnHoverToDismiss;
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 
 import java.util.Stack;
 
@@ -222,7 +223,9 @@
     @Override
     public void onContentUpdated(ExpandableNotificationRow row) {
         super.onContentUpdated(row);
-        mIsLowPriority = row.getEntry().isAmbient();
+        mIsLowPriority = NotificationBundleUi.isEnabled()
+                ? row.getEntryAdapter().isAmbient()
+                : row.getEntry().isAmbient();
         mTransformLowPriorityTitle = !row.isChildInGroup() && !row.isSummaryWithChildren();
         ArraySet<View> previousViews = mTransformationHelper.getAllTransformingViews();
 
@@ -231,7 +234,9 @@
         updateTransformedTypes();
         addRemainingTransformTypes();
         updateCropToPaddingForImageViews();
-        Notification n = row.getEntry().getSbn().getNotification();
+        Notification n = NotificationBundleUi.isEnabled()
+                ? row.getEntryAdapter().getSbn().getNotification()
+                : row.getEntry().getSbn().getNotification();
         mIcon.setTag(ImageTransformState.ICON_TAG, n.getSmallIcon());
 
         // We need to reset all views that are no longer transforming in case a view was previously
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 b9aa571..4146a94 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
@@ -54,6 +54,7 @@
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
 import com.android.systemui.statusbar.notification.row.HybridNotificationView;
 import com.android.systemui.util.DimensionKt;
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 
 import java.util.function.Consumer;
 
@@ -310,7 +311,9 @@
     public void onContentUpdated(ExpandableNotificationRow row) {
         // Reinspect the notification. Before the super call, because the super call also updates
         // the transformation types and we need to have our values set by then.
-        resolveTemplateViews(row.getEntry().getSbn());
+        resolveTemplateViews(NotificationBundleUi.isEnabled()
+                ? row.getEntryAdapter().getSbn()
+                : row.getEntry().getSbn());
         super.onContentUpdated(row);
         // With the modern templates, a large icon visually overlaps the header, so we can't
         // hide the header, we must show it.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationViewWrapper.java
index 752a8ab..64babb2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationViewWrapper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationViewWrapper.java
@@ -44,6 +44,7 @@
 import com.android.systemui.statusbar.notification.NotificationFadeAware;
 import com.android.systemui.statusbar.notification.TransformState;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 
 /**
  * Wraps the actual notification content view; used to implement behaviors which are different for
@@ -79,7 +80,10 @@
                 return new NotificationProgressTemplateViewWrapper(ctx, v, row);
             }
 
-            if (row.getEntry().getSbn().getNotification().isStyle(
+            if (NotificationBundleUi.isEnabled()
+                    ? row.getEntryAdapter().getSbn().getNotification().isStyle(
+                    Notification.DecoratedCustomViewStyle.class)
+                    : row.getEntry().getSbn().getNotification().isStyle(
                     Notification.DecoratedCustomViewStyle.class)) {
                 return new NotificationDecoratedCustomViewWrapper(ctx, v, row);
             }
@@ -135,7 +139,10 @@
         }
 
         // Apps targeting Q should fix their dark mode bugs.
-        if (mRow.getEntry().targetSdk >= Build.VERSION_CODES.Q) {
+        int targetSdk = NotificationBundleUi.isEnabled()
+                ? mRow.getEntryAdapter().getTargetSdk()
+                : mRow.getEntry().targetSdk;
+        if (targetSdk >= Build.VERSION_CODES.Q) {
             return false;
         }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java
index 64ca815..1e24952 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java
@@ -35,8 +35,10 @@
 import com.android.systemui.statusbar.NotificationShelf;
 import com.android.systemui.statusbar.StatusBarState;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
+import com.android.systemui.statusbar.notification.data.repository.HeadsUpRepository;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
 import com.android.systemui.statusbar.notification.row.ExpandableView;
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 import com.android.systemui.statusbar.notification.stack.StackScrollAlgorithm.BypassController;
 import com.android.systemui.statusbar.notification.stack.StackScrollAlgorithm.SectionProvider;
 import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
@@ -60,6 +62,7 @@
     private final BypassController mBypassController;
     private final LargeScreenShadeInterpolator mLargeScreenShadeInterpolator;
     private final AvalancheController mAvalancheController;
+    private final HeadsUpRepository mHeadsUpRepository;
 
     /**
      *  Used to read bouncer states.
@@ -304,6 +307,7 @@
             @NonNull BypassController bypassController,
             @Nullable StatusBarKeyguardViewManager statusBarKeyguardViewManager,
             @NonNull LargeScreenShadeInterpolator largeScreenShadeInterpolator,
+            @NonNull HeadsUpRepository headsUpRepository,
             AvalancheController avalancheController
     ) {
         mSectionProvider = sectionProvider;
@@ -311,6 +315,7 @@
         mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
         mLargeScreenShadeInterpolator = largeScreenShadeInterpolator;
         mAvalancheController = avalancheController;
+        mHeadsUpRepository = headsUpRepository;
         reload(context);
         dumpManager.registerDumpable(this);
     }
@@ -690,7 +695,10 @@
     }
 
     public boolean isPulsing(NotificationEntry entry) {
-        return mPulsing && entry.isHeadsUpEntry();
+        boolean isHeadsUp = NotificationBundleUi.isEnabled()
+                ? mHeadsUpRepository.isHeadsUpEntry(entry.getKey())
+                : entry.isHeadsUpEntry();
+        return mPulsing && isHeadsUp;
     }
 
     public void setPulsingRow(ExpandableNotificationRow row) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AnimationProperties.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AnimationProperties.java
index 3d60092..4d01cbd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AnimationProperties.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AnimationProperties.java
@@ -23,7 +23,7 @@
 import android.view.View;
 import android.view.animation.Interpolator;
 
-import androidx.dynamicanimation.animation.DynamicAnimation;
+import com.android.internal.dynamicanimation.animation.DynamicAnimation;
 
 import java.util.function.Consumer;
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/MagneticNotificationRowManager.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/MagneticNotificationRowManager.kt
index 02336e4..aa69517 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/MagneticNotificationRowManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/MagneticNotificationRowManager.kt
@@ -87,6 +87,9 @@
      */
     fun onMagneticInteractionEnd(row: ExpandableNotificationRow, velocity: Float? = null)
 
+    /* Reset any roundness that magnetic targets may have */
+    fun resetRoundness()
+
     /**
      * Reset any magnetic and roundable targets set, as well as any internal state.
      *
@@ -124,6 +127,8 @@
                         velocity: Float?,
                     ) {}
 
+                    override fun resetRoundness() {}
+
                     override fun reset() {}
                 }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/MagneticNotificationRowManagerImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/MagneticNotificationRowManagerImpl.kt
index de4af37..9bd5a5b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/MagneticNotificationRowManagerImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/MagneticNotificationRowManagerImpl.kt
@@ -27,6 +27,7 @@
 import javax.inject.Inject
 import kotlin.math.abs
 import kotlin.math.pow
+import org.jetbrains.annotations.TestOnly
 
 @SysUISingleton
 class MagneticNotificationRowManagerImpl
@@ -41,15 +42,16 @@
     var currentState = State.IDLE
         private set
 
-    // Magnetic and roundable targets
+    // Magnetic targets
     var currentMagneticListeners = listOf<MagneticRowListener?>()
         private set
 
-    var currentRoundableTargets: RoundableTargets? = null
-        private set
-
     private var magneticDetachThreshold = Float.POSITIVE_INFINITY
 
+    // Has the roundable target been set for the magnetic view that is being swiped.
+    val isSwipedViewRoundableSet: Boolean
+        @TestOnly get() = notificationRoundnessManager.isSwipedViewSet
+
     // Animation spring forces
     private val detachForce =
         SpringForce().setStiffness(DETACH_STIFFNESS).setDampingRatio(DETACH_DAMPING_RATIO)
@@ -83,12 +85,14 @@
         sectionsManager: NotificationSectionsManager,
     ) {
         // Update roundable targets
-        currentRoundableTargets =
+        notificationRoundnessManager.clear()
+        val currentRoundableTargets =
             notificationTargetsHelper.findRoundableTargets(
                 expandableNotificationRow,
                 stackScrollLayout,
                 sectionsManager,
             )
+        notificationRoundnessManager.setRoundableTargets(currentRoundableTargets)
 
         // Update magnetic targets
         val newListeners =
@@ -127,6 +131,7 @@
                 currentState = State.PULLING
             }
             State.PULLING -> {
+                updateRoundness(translation)
                 if (canTargetBeDismissed) {
                     pullDismissibleRow(translation)
                 } else {
@@ -141,6 +146,14 @@
         return true
     }
 
+    private fun updateRoundness(translation: Float) {
+        val normalizedTranslation = abs(swipedRowMultiplier * translation) / magneticDetachThreshold
+        notificationRoundnessManager.setRoundnessForAffectedViews(
+            /* roundness */ normalizedTranslation.coerceIn(0f, MAX_PRE_DETACH_ROUNDNESS),
+            /* animate */ false,
+        )
+    }
+
     private fun pullDismissibleRow(translation: Float) {
         val targetTranslation = swipedRowMultiplier * translation
         val crossedThreshold = abs(targetTranslation) >= magneticDetachThreshold
@@ -203,9 +216,10 @@
     private fun detach(listener: MagneticRowListener, toPosition: Float) {
         listener.cancelMagneticAnimations()
         listener.triggerMagneticForce(toPosition, detachForce)
-        currentRoundableTargets?.let {
-            notificationRoundnessManager.setViewsAffectedBySwipe(it.before, it.swiped, it.after)
-        }
+        notificationRoundnessManager.setRoundnessForAffectedViews(
+            /* roundness */ 1f,
+            /* animate */ true,
+        )
         msdlPlayer.playToken(MSDLToken.SWIPE_THRESHOLD_INDICATOR)
     }
 
@@ -240,6 +254,8 @@
         }
     }
 
+    override fun resetRoundness() = notificationRoundnessManager.clear()
+
     override fun reset() {
         currentMagneticListeners.forEach {
             it?.cancelMagneticAnimations()
@@ -247,7 +263,7 @@
         }
         currentState = State.IDLE
         currentMagneticListeners = listOf()
-        currentRoundableTargets = null
+        notificationRoundnessManager.clear()
     }
 
     private fun List<MagneticRowListener?>.swipedListener(): MagneticRowListener? =
@@ -256,6 +272,11 @@
     private fun ExpandableNotificationRow.isSwipedTarget(): Boolean =
         magneticRowListener == currentMagneticListeners.swipedListener()
 
+    private fun NotificationRoundnessManager.clear() = setViewsAffectedBySwipe(null, null, null)
+
+    private fun NotificationRoundnessManager.setRoundableTargets(targets: RoundableTargets) =
+        setViewsAffectedBySwipe(targets.before, targets.swiped, targets.after)
+
     enum class State {
         IDLE,
         TARGETS_SET,
@@ -270,7 +291,7 @@
          * currently being swiped. From the center outwards, the multipliers apply to the neighbors
          * of the swiped view.
          */
-        private val MAGNETIC_TRANSLATION_MULTIPLIERS = listOf(0.18f, 0.28f, 0.5f, 0.28f, 0.18f)
+        private val MAGNETIC_TRANSLATION_MULTIPLIERS = listOf(0.04f, 0.12f, 0.5f, 0.12f, 0.04f)
 
         const val MAGNETIC_REDUCTION = 0.65f
 
@@ -278,7 +299,10 @@
         private const val DETACH_STIFFNESS = 800f
         private const val DETACH_DAMPING_RATIO = 0.95f
         private const val SNAP_BACK_STIFFNESS = 550f
-        private const val SNAP_BACK_DAMPING_RATIO = 0.52f
+        private const val SNAP_BACK_DAMPING_RATIO = 0.6f
+
+        // Maximum value of corner roundness that gets applied during the pre-detach dragging
+        private const val MAX_PRE_DETACH_ROUNDNESS = 0.8f
 
         private val VIBRATION_ATTRIBUTES_PIPELINING =
             VibrationAttributes.Builder()
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java
index 1d18535..e830d18 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java
@@ -60,6 +60,7 @@
 import com.android.systemui.statusbar.notification.row.shared.AsyncHybridViewInflation;
 import com.android.systemui.statusbar.notification.row.wrapper.NotificationHeaderViewWrapper;
 import com.android.systemui.statusbar.notification.row.wrapper.NotificationViewWrapper;
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -421,7 +422,12 @@
         Trace.beginSection("NotifChildCont#recreateHeader");
         mHeaderClickListener = listener;
         mIsConversation = isConversation;
-        StatusBarNotification notification = mContainingNotification.getEntry().getSbn();
+        StatusBarNotification notification = NotificationBundleUi.isEnabled()
+                ? mContainingNotification.getEntryAdapter().getSbn()
+                : mContainingNotification.getEntry().getSbn();
+        if (notification == null) {
+            return;
+        }
         final Notification.Builder builder = Notification.Builder.recoverBuilder(getContext(),
                 notification.getNotification());
         Trace.beginSection("recreateHeader#makeNotificationGroupHeader");
@@ -565,7 +571,12 @@
     void recreateLowPriorityHeader(Notification.Builder builder) {
         AsyncGroupHeaderViewInflation.assertInLegacyMode();
         RemoteViews header;
-        StatusBarNotification notification = mContainingNotification.getEntry().getSbn();
+        StatusBarNotification notification = NotificationBundleUi.isEnabled()
+                ? mContainingNotification.getEntryAdapter().getSbn()
+                : mContainingNotification.getEntry().getSbn();
+        if (notification == null) {
+            return;
+        }
         if (mIsMinimized) {
             if (builder == null) {
                 builder = Notification.Builder.recoverBuilder(getContext(),
@@ -1458,7 +1469,7 @@
                 if (AsyncHybridViewInflation.isEnabled()) {
                     minExpandHeight += mMinSingleLineHeight;
                 } else {
-                    Log.e(TAG, "getMinHeight: child " + child.getEntry().getKey()
+                    Log.e(TAG, "getMinHeight: child " + child.getKey()
                             + " single line view is null", new Exception());
                 }
             }
@@ -1688,8 +1699,8 @@
     public void addTransientView(View view, int index) {
         if (mLogger != null && view instanceof ExpandableNotificationRow) {
             mLogger.addTransientRow(
-                    ((ExpandableNotificationRow) view).getEntry(),
-                    getContainingNotification().getEntry(),
+                    ((ExpandableNotificationRow) view).getLoggingKey(),
+                    getContainingNotification().getLoggingKey(),
                     index
             );
         }
@@ -1700,8 +1711,8 @@
     public void removeTransientView(View view) {
         if (mLogger != null && view instanceof ExpandableNotificationRow) {
             mLogger.removeTransientRow(
-                    ((ExpandableNotificationRow) view).getEntry(),
-                    getContainingNotification().getEntry()
+                    ((ExpandableNotificationRow) view).getLoggingKey(),
+                    getContainingNotification().getLoggingKey()
             );
         }
         super.removeTransientView(view);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainerLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainerLogger.kt
index 4986b63..d8da412 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainerLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainerLogger.kt
@@ -27,16 +27,16 @@
 @Inject
 constructor(@NotificationRenderLog private val notificationRenderBuffer: LogBuffer) {
     fun addTransientRow(
-        childEntry: NotificationEntry,
-        containerEntry: NotificationEntry,
+        childEntry: String,
+        containerEntry: String,
         index: Int
     ) {
         notificationRenderBuffer.log(
             TAG,
             LogLevel.INFO,
             {
-                str1 = childEntry.logKey
-                str2 = containerEntry.logKey
+                str1 = childEntry
+                str2 = containerEntry
                 int1 = index
             },
             { "addTransientRow: childKey: $str1 -- containerKey: $str2 -- index: $int1" }
@@ -44,15 +44,15 @@
     }
 
     fun removeTransientRow(
-        childEntry: NotificationEntry,
-        containerEntry: NotificationEntry,
+        childEntry: String,
+        containerEntry: String,
     ) {
         notificationRenderBuffer.log(
             TAG,
             LogLevel.INFO,
             {
-                str1 = childEntry.logKey
-                str2 = containerEntry.logKey
+                str1 = childEntry
+                str2 = containerEntry
             },
             { "removeTransientRow: childKey: $str1 -- containerKey: $str2" }
         )
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationListContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationListContainer.java
index f85545e..47fc2fb 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationListContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationListContainer.java
@@ -113,10 +113,9 @@
     /**
      * Get the view parent for a notification entry. For example, NotificationStackScrollLayout.
      *
-     * @param entry entry to get the view parent for
      * @return the view parent for entry
      */
-    ViewGroup getViewParentForNotification(NotificationEntry entry);
+    ViewGroup getViewParentForNotification();
 
     /**
      * Resets the currently exposed menu view.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationRoundnessManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationRoundnessManager.java
index fa1843e..a53e837 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationRoundnessManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationRoundnessManager.java
@@ -71,10 +71,8 @@
             Roundable viewBefore,
             ExpandableView viewSwiped,
             Roundable viewAfter) {
-        // This method requires you to change the roundness of the current View targets and reset
-        // the roundness of the old View targets (if any) to 0f.
-        // To avoid conflicts, it generates a set of old Views and removes the current Views
-        // from this set.
+        // This method caches a new set of current View targets and reset the roundness of the old
+        // View targets (if any) to 0f.
         HashSet<Roundable> oldViews = new HashSet<>();
         if (mViewBeforeSwipedView != null) oldViews.add(mViewBeforeSwipedView);
         if (mSwipedView != null) oldViews.add(mSwipedView);
@@ -83,19 +81,16 @@
         mViewBeforeSwipedView = viewBefore;
         if (viewBefore != null) {
             oldViews.remove(viewBefore);
-            viewBefore.requestRoundness(/* top = */ 0f, /* bottom = */ 1f, DISMISS_ANIMATION);
         }
 
         mSwipedView = viewSwiped;
         if (viewSwiped != null) {
             oldViews.remove(viewSwiped);
-            viewSwiped.requestRoundness(/* top = */ 1f, /* bottom = */ 1f, DISMISS_ANIMATION);
         }
 
         mViewAfterSwipedView = viewAfter;
         if (viewAfter != null) {
             oldViews.remove(viewAfter);
-            viewAfter.requestRoundness(/* top = */ 1f, /* bottom = */ 0f, DISMISS_ANIMATION);
         }
 
         // After setting the current Views, reset the views that are still present in the set.
@@ -104,6 +99,34 @@
         }
     }
 
+    void setRoundnessForAffectedViews(float roundness) {
+        if (mViewBeforeSwipedView != null) {
+            mViewBeforeSwipedView.requestBottomRoundness(roundness, DISMISS_ANIMATION);
+        }
+
+        if (mSwipedView != null) {
+            mSwipedView.requestRoundness(roundness, roundness, DISMISS_ANIMATION);
+        }
+
+        if (mViewAfterSwipedView != null) {
+            mViewAfterSwipedView.requestTopRoundness(roundness, DISMISS_ANIMATION);
+        }
+    }
+
+    void setRoundnessForAffectedViews(float roundness, boolean animate) {
+        if (mViewBeforeSwipedView != null) {
+            mViewBeforeSwipedView.requestBottomRoundness(roundness, DISMISS_ANIMATION, animate);
+        }
+
+        if (mSwipedView != null) {
+            mSwipedView.requestRoundness(roundness, roundness, DISMISS_ANIMATION, animate);
+        }
+
+        if (mViewAfterSwipedView != null) {
+            mViewAfterSwipedView.requestTopRoundness(roundness, DISMISS_ANIMATION, animate);
+        }
+    }
+
     void setClearAllInProgress(boolean isClearingAll) {
         mIsClearAllInProgress = isClearingAll;
     }
@@ -138,4 +161,8 @@
     public void setShouldRoundPulsingViews(boolean shouldRoundPulsingViews) {
         mRoundForPulsingViews = shouldRoundPulsingViews;
     }
+
+    public boolean isSwipedViewSet() {
+        return mSwipedView != null;
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManager.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManager.kt
index 043d64e..96f0e6f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManager.kt
@@ -35,6 +35,7 @@
 import com.android.systemui.statusbar.notification.dagger.SocialHeader
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
 import com.android.systemui.statusbar.notification.row.ExpandableView
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi
 import com.android.systemui.statusbar.notification.stack.PriorityBucket
 import com.android.systemui.statusbar.notification.stack.StackScrollAlgorithm.SectionProvider
 import com.android.systemui.statusbar.policy.ConfigurationController
@@ -164,7 +165,9 @@
             view === socialHeaderView -> BUCKET_SOCIAL
             view === recsHeaderView -> BUCKET_RECS
             view === promoHeaderView -> BUCKET_PROMO
-            view is ExpandableNotificationRow -> view.entry.bucket
+            view is ExpandableNotificationRow ->
+                if (NotificationBundleUi.isEnabled) view.entryAdapter?.sectionBucket
+                else view.entry.bucket
             else -> null
         }
 
@@ -278,13 +281,13 @@
             val fs =
                 when (val first = s.firstVisibleChild) {
                     null -> "(null)"
-                    is ExpandableNotificationRow -> first.entry.key
+                    is ExpandableNotificationRow -> first.loggingKey
                     else -> Integer.toHexString(System.identityHashCode(first))
                 }
             val ls =
                 when (val last = s.lastVisibleChild) {
                     null -> "(null)"
-                    is ExpandableNotificationRow -> last.entry.key
+                    is ExpandableNotificationRow -> last.loggingKey
                     else -> Integer.toHexString(System.identityHashCode(last))
                 }
             Log.d(TAG, "updateSections: f=$fs s=$i")
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
index 3ff18ef..4390f1b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
@@ -117,8 +117,10 @@
 import com.android.systemui.statusbar.notification.emptyshade.shared.ModesEmptyShadeFix;
 import com.android.systemui.statusbar.notification.emptyshade.ui.view.EmptyShadeView;
 import com.android.systemui.statusbar.notification.footer.ui.view.FooterView;
+import com.android.systemui.statusbar.notification.headsup.HeadsUpAnimator;
 import com.android.systemui.statusbar.notification.headsup.HeadsUpTouchHelper;
 import com.android.systemui.statusbar.notification.headsup.HeadsUpUtil;
+import com.android.systemui.statusbar.notification.headsup.NotificationsHunSharedAnimationValues;
 import com.android.systemui.statusbar.notification.logging.NotificationLogger;
 import com.android.systemui.statusbar.notification.row.ActivatableNotificationView;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
@@ -233,6 +235,8 @@
     private String mLastInitViewDumpString;
     private long mLastInitViewElapsedRealtime;
 
+    @Nullable
+    private final HeadsUpAnimator mHeadsUpAnimator;
     /**
      * The algorithm which calculates the properties for our children
      */
@@ -668,8 +672,13 @@
         mExpandHelper.setEventSource(this);
         mExpandHelper.setScrollAdapter(mScrollAdapter);
 
-        mStackScrollAlgorithm = createStackScrollAlgorithm(context);
-        mStateAnimator = new StackStateAnimator(context, this);
+        if (NotificationsHunSharedAnimationValues.isEnabled()) {
+            mHeadsUpAnimator = new HeadsUpAnimator(context);
+        } else {
+            mHeadsUpAnimator = null;
+        }
+        mStackScrollAlgorithm =  new StackScrollAlgorithm(context, this, mHeadsUpAnimator);
+        mStateAnimator = new StackStateAnimator(context, this, mHeadsUpAnimator);
         setOutlineProvider(mOutlineProvider);
 
         // We could set this whenever we 'requestChildUpdate' much like the viewTreeObserver, but
@@ -789,17 +798,17 @@
     private void logHunSkippedForUnexpectedState(ExpandableNotificationRow enr,
                                                  boolean expected, boolean actual) {
         if (mLogger == null) return;
-        mLogger.hunSkippedForUnexpectedState(enr.getEntry(), expected, actual);
+        mLogger.hunSkippedForUnexpectedState(enr.getLoggingKey(), expected, actual);
     }
 
     private void logHunAnimationSkipped(ExpandableNotificationRow enr, String reason) {
         if (mLogger == null) return;
-        mLogger.hunAnimationSkipped(enr.getEntry(), reason);
+        mLogger.hunAnimationSkipped(enr.getLoggingKey(), reason);
     }
 
     private void logHunAnimationEventAdded(ExpandableNotificationRow enr, int type) {
         if (mLogger == null) return;
-        mLogger.hunAnimationEventAdded(enr.getEntry(), type);
+        mLogger.hunAnimationEventAdded(enr.getLoggingKey(), type);
     }
 
     private void onDrawDebug(Canvas canvas) {
@@ -1024,12 +1033,18 @@
                         || !(view instanceof ExpandableNotificationRow row)) {
                     continue;
                 }
+                int bucket = NotificationBundleUi.isEnabled()
+                        ? row.getEntryAdapter().getSectionBucket()
+                        : row.getEntry().getBucket();
+                boolean isAmbient = NotificationBundleUi.isEnabled()
+                        ? row.getEntryAdapter().isAmbient()
+                        : row.getEntry().isAmbient();
                 currentIndex++;
                 boolean beforeSpeedBump;
                 if (mHighPriorityBeforeSpeedBump) {
-                    beforeSpeedBump = row.getEntry().getBucket() < BUCKET_SILENT;
+                    beforeSpeedBump = bucket < BUCKET_SILENT;
                 } else {
-                    beforeSpeedBump = !row.getEntry().isAmbient();
+                    beforeSpeedBump = !isAmbient;
                 }
                 if (beforeSpeedBump) {
                     speedBumpIndex = currentIndex;
@@ -1810,16 +1825,22 @@
 
     private ExpandableNotificationRow getTopHeadsUpRow() {
         ExpandableNotificationRow row = mTopHeadsUpRow;
-        if (row.isChildInGroup()) {
-            final NotificationEntry groupSummary =
-                    mGroupMembershipManager.getGroupSummary(row.getEntry());
-            if (groupSummary != null) {
-                row = groupSummary.getRow();
+        if (NotificationBundleUi.isEnabled()) {
+            if (mGroupMembershipManager.isChildInGroup(row.getEntryAdapter())
+                    && row.isChildInGroup()) {
+                row = row.getNotificationParent();
+            }
+        } else {
+            if (row.isChildInGroup()) {
+                final NotificationEntry groupSummary =
+                        mGroupMembershipManager.getGroupSummary(row.getEntry());
+                if (groupSummary != null) {
+                    row = groupSummary.getRow();
+                }
             }
         }
         return row;
     }
-
     /**
      * @return the position from where the appear transition ends when expanding.
      * Measured in absolute height.
@@ -1966,10 +1987,19 @@
                     && touchY >= top && touchY <= bottom && touchX >= left && touchX <= right) {
                 if (slidingChild instanceof ExpandableNotificationRow row) {
                     NotificationEntry entry = row.getEntry();
+                    boolean isEntrySummaryForTopHun;
+                    if (NotificationBundleUi.isEnabled()) {
+                        isEntrySummaryForTopHun = Objects.equals(
+                                ((ExpandableNotificationRow) slidingChild).getNotificationParent(),
+                                mTopHeadsUpRow);
+                    } else {
+                        isEntrySummaryForTopHun = mTopHeadsUpRow != null &&
+                                mGroupMembershipManager.getGroupSummary(mTopHeadsUpRow.getEntry())
+                                == entry;
+                    }
                     if (!mIsExpanded && row.isHeadsUp() && row.isPinned()
                             && mTopHeadsUpRow != row
-                            && mGroupMembershipManager.getGroupSummary(mTopHeadsUpRow.getEntry())
-                            != entry) {
+                            && !isEntrySummaryForTopHun) {
                         continue;
                     }
                     return row.getViewAtPosition(touchY - childTop);
@@ -2119,7 +2149,7 @@
         }
     }
 
-    public ViewGroup getViewParentForNotification(NotificationEntry entry) {
+    public ViewGroup getViewParentForNotification() {
         return this;
     }
 
@@ -2902,17 +2932,17 @@
         if (child instanceof ExpandableNotificationRow) {
             if (container instanceof NotificationChildrenContainer) {
                 mLogger.addTransientChildNotificationToChildContainer(
-                        ((ExpandableNotificationRow) child).getEntry(),
+                        ((ExpandableNotificationRow) child).getLoggingKey(),
                         ((NotificationChildrenContainer) container)
-                                .getContainingNotification().getEntry()
+                                .getContainingNotification().getLoggingKey()
                 );
             } else if (container instanceof NotificationStackScrollLayout) {
                 mLogger.addTransientChildNotificationToNssl(
-                        ((ExpandableNotificationRow) child).getEntry()
+                        ((ExpandableNotificationRow) child).getLoggingKey()
                 );
             } else {
                 mLogger.addTransientChildNotificationToViewGroup(
-                        ((ExpandableNotificationRow) child).getEntry(),
+                        ((ExpandableNotificationRow) child).getLoggingKey(),
                         container
                 );
             }
@@ -2922,7 +2952,7 @@
     @Override
     public void addTransientView(View view, int index) {
         if (mLogger != null && view instanceof ExpandableNotificationRow) {
-            mLogger.addTransientRow(((ExpandableNotificationRow) view).getEntry(), index);
+            mLogger.addTransientRow(((ExpandableNotificationRow) view).getLoggingKey(), index);
         }
         super.addTransientView(view, index);
     }
@@ -2930,7 +2960,7 @@
     @Override
     public void removeTransientView(View view) {
         if (mLogger != null && view instanceof ExpandableNotificationRow) {
-            mLogger.removeTransientRow(((ExpandableNotificationRow) view).getEntry());
+            mLogger.removeTransientRow(((ExpandableNotificationRow) view).getLoggingKey());
         }
         super.removeTransientView(view);
     }
@@ -2981,7 +3011,7 @@
         String key = "";
         if (mDebugRemoveAnimation) {
             if (child instanceof ExpandableNotificationRow) {
-                key = ((ExpandableNotificationRow) child).getEntry().getKey();
+                key = ((ExpandableNotificationRow) child).getKey();
             }
             Log.d(TAG, "generateRemoveAnimation " + key);
         }
@@ -3403,7 +3433,7 @@
                         + " isHeadsUp=" + isHeadsUp
                         + " type=" + type
                         + " onBottom=" + onBottom
-                        + " row=" + row.getEntry().getKey());
+                        + " row=" + row.getKey());
             }
             logHunAnimationEventAdded(row, type);
         }
@@ -3478,7 +3508,7 @@
             if (mDebugRemoveAnimation) {
                 String key = "";
                 if (child instanceof ExpandableNotificationRow) {
-                    key = ((ExpandableNotificationRow) child).getEntry().getKey();
+                    key = ((ExpandableNotificationRow) child).getKey();
                 }
                 Log.d(TAG, "created Remove Event - SwipedOut: " + childWasSwipedOut + " " + key);
             }
@@ -3567,10 +3597,6 @@
         mGoToFullShadeNeedsAnimation = false;
     }
 
-    protected StackScrollAlgorithm createStackScrollAlgorithm(Context context) {
-        return new StackScrollAlgorithm(context, this);
-    }
-
     /**
      * @return Whether a y coordinate is inside the content.
      */
@@ -4366,7 +4392,7 @@
         if (mLogger == null) {
             return;
         }
-        mLogger.transientNotificationRowTraversalCleaned(transientView.getEntry(), reason);
+        mLogger.transientNotificationRowTraversalCleaned(transientView.getLoggingKey(), reason);
     }
 
     void onPanelTrackingStarted() {
@@ -5060,7 +5086,7 @@
                     + " addAnimation=" + addAnimation
                     + (row.getEntry() == null ? " entry NULL "
                             : " isSeenInShade=" + row.getEntry().isSeenInShade()
-                                    + " row=" + row.getEntry().getKey())
+                                    + " row=" + row.getKey())
                     + " mIsExpanded=" + mIsExpanded
                     + " isHeadsUp=" + isHeadsUp);
         }
@@ -5096,9 +5122,16 @@
     public void setHeadsUpBoundaries(int height, int bottomBarHeight) {
         SceneContainerFlag.assertInLegacyMode();
         mAmbientState.setMaxHeadsUpTranslation(height - bottomBarHeight);
-        mStackScrollAlgorithm.setHeadsUpAppearHeightBottom(height);
-        mStateAnimator.setHeadsUpAppearHeightBottom(height);
-        mStateAnimator.setStackTopMargin(mAmbientState.getStackTopMargin());
+
+        if (NotificationsHunSharedAnimationValues.isEnabled()) {
+            mHeadsUpAnimator.setHeadsUpAppearHeightBottom(height);
+            mHeadsUpAnimator.setStackTopMargin(mAmbientState.getStackTopMargin());
+        } else {
+            mStackScrollAlgorithm.setHeadsUpAppearHeightBottom(height);
+            mStateAnimator.setHeadsUpAppearHeightBottom(height);
+            mStateAnimator.setStackTopMargin(mAmbientState.getStackTopMargin());
+        }
+
         requestChildrenUpdate();
     }
 
@@ -5825,7 +5858,8 @@
                             targets.getBefore(),
                             targets.getSwiped(),
                             targets.getAfter());
-
+            mController.getNotificationRoundnessManager()
+                    .setRoundnessForAffectedViews(/* roundness */ 1f);
         }
 
         updateFirstAndLastBackgroundViews();
@@ -5836,8 +5870,10 @@
 
     void onSwipeEnd() {
         updateFirstAndLastBackgroundViews();
-        mController.getNotificationRoundnessManager()
-                .setViewsAffectedBySwipe(null, null, null);
+        if (!magneticNotificationSwipes()) {
+            mController.getNotificationRoundnessManager()
+                    .setViewsAffectedBySwipe(null, null, null);
+        }
         // Round bottom corners for notification right before shelf.
         mShelf.updateAppearance();
     }
@@ -6405,13 +6441,16 @@
     static boolean matchesSelection(
             ExpandableNotificationRow row,
             @SelectedRows int selection) {
+        int bucket = NotificationBundleUi.isEnabled()
+                ? row.getEntryAdapter().getSectionBucket()
+                : row.getEntry().getBucket();
         switch (selection) {
             case ROWS_ALL:
                 return true;
             case ROWS_HIGH_PRIORITY:
-                return row.getEntry().getBucket() < BUCKET_SILENT;
+                return bucket < BUCKET_SILENT;
             case ROWS_GENTLE:
-                return row.getEntry().getBucket() == BUCKET_SILENT;
+                return bucket == BUCKET_SILENT;
             default:
                 throw new IllegalArgumentException("Unknown selection: " + selection);
         }
@@ -6763,7 +6802,7 @@
         NotificationChildrenContainer childrenContainer = row.getChildrenContainer();
         if (childrenContainer == null) {
             Log.wtf(TAG, "Tried to update group header alignment for something that's "
-                    + "not a group; key = " + row.getEntry().getKey());
+                    + "not a group; key = " + row.getKey());
             return;
         }
         NotificationHeaderView header = childrenContainer.getGroupHeader();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java
index 888c8cc..124e6f5 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java
@@ -122,6 +122,7 @@
 import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
 import com.android.systemui.statusbar.notification.row.NotificationSnooze;
 import com.android.systemui.statusbar.notification.shared.GroupHunAnimationFix;
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 import com.android.systemui.statusbar.notification.stack.ui.viewbinder.NotificationListViewBinder;
 import com.android.systemui.statusbar.phone.HeadsUpAppearanceController;
 import com.android.systemui.statusbar.phone.KeyguardBypassController;
@@ -545,6 +546,7 @@
 
                 public void handleChildViewDismissed(View view) {
                     // The View needs to clean up the Swipe states, e.g. roundness.
+                    mMagneticNotificationRowManager.resetRoundness();
                     mView.onSwipeEnd();
                     if (mView.getClearAllInProgress()) {
                         return;
@@ -552,7 +554,7 @@
                     if (view instanceof ExpandableNotificationRow row) {
                         if (row.isHeadsUp()) {
                             mHeadsUpManager.addSwipedOutNotification(
-                                    row.getEntry().getSbn().getKey());
+                                    row.getKey());
                         }
                         row.performDismiss(false /* fromAccessibility */);
                     }
@@ -597,7 +599,7 @@
                                 && (parent.areGutsExposed()
                                 || mSwipeHelper.getExposedMenuView() == parent
                                 || (parent.getAttachedChildren().size() == 1
-                                && mDismissibilityProvider.isDismissable(parent.getEntry())))) {
+                                && mDismissibilityProvider.isDismissable(parent.getKey())))) {
                             // In this case the group is expanded and showing the menu for the
                             // group, further interaction should apply to the group, not any
                             // child notifications so we use the parent of the child. We also do the
@@ -629,7 +631,7 @@
                 @Override
                 public void onChildSnapBackOvershoots() {
                     if (Flags.magneticNotificationSwipes()) {
-                        mNotificationRoundnessManager.setViewsAffectedBySwipe(null, null, null);
+                        mMagneticNotificationRowManager.resetRoundness();
                     }
                 }
 
@@ -638,10 +640,12 @@
                     mView.onSwipeEnd();
                     if (animView instanceof ExpandableNotificationRow row) {
                         if (row.isPinned() && !canChildBeDismissed(row)
-                                && row.getEntry().getSbn().getNotification().fullScreenIntent
-                                == null) {
+                                && NotificationBundleUi.isEnabled()
+                                ? !row.getEntryAdapter().isFullScreenCapable()
+                                : (row.getEntry().getSbn().getNotification().fullScreenIntent
+                                        == null)) {
                             mHeadsUpManager.removeNotification(
-                                    row.getEntry().getSbn().getKey(),
+                                    row.getKey(),
                                     /* removeImmediately= */ true,
                                     /* reason= */ "onChildSnappedBack"
                             );
@@ -1907,8 +1911,8 @@
         }
 
         @Override
-        public ViewGroup getViewParentForNotification(NotificationEntry entry) {
-            return mView.getViewParentForNotification(entry);
+        public ViewGroup getViewParentForNotification() {
+            return mView.getViewParentForNotification();
         }
 
         @Override
@@ -1954,12 +1958,11 @@
         @Override
         public void bindRow(ExpandableNotificationRow row) {
             row.setHeadsUpAnimatingAwayListener(animatingAway -> {
-                NotificationEntry entry = row.getEntry();
-                mHeadsUpAppearanceController.updateHeader(entry);
-                mHeadsUpAppearanceController.updateHeadsUpAndPulsingRoundness(entry);
+                mHeadsUpAppearanceController.updateHeader(row);
+                mHeadsUpAppearanceController.updateHeadsUpAndPulsingRoundness(row);
                 if (GroupHunAnimationFix.isEnabled() && !animatingAway) {
                     // invalidate list to make sure the row is sorted to the correct section
-                    mHeadsUpManager.onEntryAnimatingAwayEnded(entry);
+                    mHeadsUpManager.onEntryAnimatingAwayEnded(row.getEntry());
                 }
             });
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLogger.kt
index 30658710..871b81d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLogger.kt
@@ -23,15 +23,15 @@
     @NotificationRenderLog private val notificationRenderBuffer: LogBuffer,
     @ShadeLog private val shadeLogBuffer: LogBuffer,
 ) {
-    fun hunAnimationSkipped(entry: NotificationEntry, reason: String) {
+    fun hunAnimationSkipped(entry: String, reason: String) {
         buffer.log(TAG, INFO, {
-            str1 = entry.logKey
+            str1 = entry
             str2 = reason
         }, {
             "heads up animation skipped: key: $str1 reason: $str2"
         })
     }
-    fun hunAnimationEventAdded(entry: NotificationEntry, type: Int) {
+    fun hunAnimationEventAdded(entry: String, type: Int) {
         val reason: String
         reason = if (type == ANIMATION_TYPE_HEADS_UP_DISAPPEAR) {
             "HEADS_UP_DISAPPEAR"
@@ -47,16 +47,16 @@
             type.toString()
         }
         buffer.log(TAG, INFO, {
-            str1 = entry.logKey
+            str1 = entry
             str2 = reason
         }, {
             "heads up animation added: $str1 with type $str2"
         })
     }
 
-    fun hunSkippedForUnexpectedState(entry: NotificationEntry, expected: Boolean, actual: Boolean) {
+    fun hunSkippedForUnexpectedState(entry: String, expected: Boolean, actual: Boolean) {
         buffer.log(TAG, INFO, {
-            str1 = entry.logKey
+            str1 = entry
             bool1 = expected
             bool2 = actual
         }, {
@@ -84,9 +84,9 @@
         })
     }
 
-    fun transientNotificationRowTraversalCleaned(entry: NotificationEntry, reason: String) {
+    fun transientNotificationRowTraversalCleaned(entry: String, reason: String) {
         notificationRenderBuffer.log(TAG, INFO, {
-            str1 = entry.logKey
+            str1 = entry
             str2 = reason
         }, {
             "transientNotificationRowTraversalCleaned: key: $str1 reason: $str2"
@@ -94,12 +94,12 @@
     }
 
     fun addTransientChildNotificationToChildContainer(
-            childEntry: NotificationEntry,
-            containerEntry: NotificationEntry,
+            childEntry: String,
+            containerEntry: String,
     ) {
         notificationRenderBuffer.log(TAG, INFO, {
-            str1 = childEntry.logKey
-            str2 = containerEntry.logKey
+            str1 = childEntry
+            str2 = containerEntry
         }, {
             "addTransientChildToContainer from onViewRemovedInternal: childKey: $str1 " +
                     "-- containerKey: $str2"
@@ -107,21 +107,21 @@
     }
 
     fun addTransientChildNotificationToNssl(
-            childEntry: NotificationEntry,
+            childEntry: String,
     ) {
         notificationRenderBuffer.log(TAG, INFO, {
-            str1 = childEntry.logKey
+            str1 = childEntry
         }, {
             "addTransientRowToNssl from onViewRemovedInternal: childKey: $str1"
         })
     }
 
     fun addTransientChildNotificationToViewGroup(
-            childEntry: NotificationEntry,
+            childEntry: String,
             container: ViewGroup
     ) {
         notificationRenderBuffer.log(TAG, ERROR, {
-            str1 = childEntry.logKey
+            str1 = childEntry
             str2 = container.toString()
         }, {
             "addTransientRowTo unhandled ViewGroup from onViewRemovedInternal: childKey: $str1 " +
@@ -130,14 +130,14 @@
     }
 
     fun addTransientRow(
-            childEntry: NotificationEntry,
+            childEntry: String,
             index: Int
     ) {
         notificationRenderBuffer.log(
                 TAG,
                 INFO,
                 {
-                    str1 = childEntry.logKey
+                    str1 = childEntry
                     int1 = index
                 },
                 { "addTransientRow to NSSL: childKey: $str1 -- index: $int1" }
@@ -145,13 +145,13 @@
     }
 
     fun removeTransientRow(
-            childEntry: NotificationEntry,
+            childEntry: String,
     ) {
         notificationRenderBuffer.log(
                 TAG,
                 INFO,
                 {
-                    str1 = childEntry.logKey
+                    str1 = childEntry
                 },
                 { "removeTransientRow from NSSL: childKey: $str1" }
         )
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculator.kt
index 08bc8f5..4e91680 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculator.kt
@@ -32,6 +32,7 @@
 import com.android.systemui.statusbar.notification.promoted.PromotedNotificationUiForceExpanded
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
 import com.android.systemui.statusbar.notification.row.ExpandableView
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi
 import com.android.systemui.statusbar.notification.shared.NotificationMinimalism
 import com.android.systemui.statusbar.policy.SplitShadeStateController
 import com.android.systemui.util.Compile
@@ -407,8 +408,14 @@
                 }
 
             if (counter != null) {
-                val entry = (currentNotification as? ExpandableNotificationRow)?.entry
-                counter.incrementForBucket(entry?.bucket)
+                if (NotificationBundleUi.isEnabled) {
+                    val entry = (currentNotification as? ExpandableNotificationRow)?.entry
+                    counter.incrementForBucket(entry?.bucket)
+                } else {
+                    val entryAdapter =
+                        (currentNotification as? ExpandableNotificationRow)?.entryAdapter
+                    counter.incrementForBucket(entryAdapter?.sectionBucket)
+                }
             }
 
             log {
@@ -461,12 +468,15 @@
         val height = view.heightWithoutLockscreenConstraints.toFloat()
         val gapAndDividerHeight =
             calculateGapAndDividerHeight(stack, previousView, current = view, visibleIndex)
+        val canPeek = view is ExpandableNotificationRow &&
+                if (NotificationBundleUi.isEnabled) view.entryAdapter?.canPeek() == true
+                else view.entry.isStickyAndNotDemoted
 
         var size =
             if (onLockscreen) {
                 if (
                     view is ExpandableNotificationRow &&
-                        (view.entry.isStickyAndNotDemoted ||
+                        (canPeek ||
                             (PromotedNotificationUiForceExpanded.isEnabled &&
                                 view.isPromotedOngoing))
                 ) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java
index 08692be..4effb76 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java
@@ -36,9 +36,12 @@
 import com.android.systemui.statusbar.notification.SourceType;
 import com.android.systemui.statusbar.notification.emptyshade.ui.view.EmptyShadeView;
 import com.android.systemui.statusbar.notification.footer.ui.view.FooterView;
+import com.android.systemui.statusbar.notification.headsup.HeadsUpAnimator;
+import com.android.systemui.statusbar.notification.headsup.NotificationsHunSharedAnimationValues;
 import com.android.systemui.statusbar.notification.row.ActivatableNotificationView;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
 import com.android.systemui.statusbar.notification.row.ExpandableView;
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 import com.android.systemui.statusbar.notification.shared.NotificationHeadsUpCycling;
 
 import java.util.ArrayList;
@@ -56,6 +59,9 @@
     private static final String TAG = "StackScrollAlgorithm";
     private static final SourceType STACK_SCROLL_ALGO = SourceType.from("StackScrollAlgorithm");
     private final ViewGroup mHostView;
+    @Nullable
+    private final HeadsUpAnimator mHeadsUpAnimator;
+
     private float mPaddingBetweenElements;
     private float mGapHeight;
     private float mGapHeightOnLockscreen;
@@ -78,8 +84,12 @@
     private int mHeadsUpAppearHeightBottom;
     private int mHeadsUpCyclingPadding;
 
-    public StackScrollAlgorithm(Context context, ViewGroup hostView) {
+    public StackScrollAlgorithm(
+            Context context,
+            ViewGroup hostView,
+            @Nullable HeadsUpAnimator headsUpAnimator) {
         mHostView = hostView;
+        mHeadsUpAnimator = headsUpAnimator;
         initView(context);
     }
 
@@ -111,6 +121,9 @@
         mQuickQsOffsetHeight = SystemBarUtils.getQuickQsOffsetHeight(context);
         mSmallCornerRadius = res.getDimension(R.dimen.notification_corner_radius_small);
         mLargeCornerRadius = res.getDimension(R.dimen.notification_corner_radius);
+        if (NotificationsHunSharedAnimationValues.isEnabled()) {
+            mHeadsUpAnimator.updateResources(context);
+        }
     }
 
     /**
@@ -250,6 +263,7 @@
     }
 
     public void setHeadsUpAppearHeightBottom(int headsUpAppearHeightBottom) {
+        NotificationsHunSharedAnimationValues.assertInLegacyMode();
         mHeadsUpAppearHeightBottom = headsUpAppearHeightBottom;
     }
 
@@ -275,11 +289,7 @@
     public static void debugLogView(View view, String s) {
         String viewString = "";
         if (view instanceof ExpandableNotificationRow row) {
-            if (row.getEntry() == null) {
-                viewString = "ExpandableNotificationRow has null NotificationEntry";
-            } else {
-                viewString = row.getEntry().getSbn().getId() + "";
-            }
+            viewString = row.getKey();
         } else if (view == null) {
             viewString = "View is null";
         } else if (view instanceof SectionHeaderView) {
@@ -413,10 +423,8 @@
      */
     public boolean isCyclingOut(ExpandableNotificationRow row, AmbientState ambientState) {
         if (!NotificationHeadsUpCycling.isEnabled()) return false;
-        if (row.getEntry() == null) return false;
-        if (row.getEntry().getKey() == null) return false;
         String cyclingOutKey = ambientState.getAvalanchePreviousHunKey();
-        return row.getEntry().getKey().equals(cyclingOutKey);
+        return row.getKey().equals(cyclingOutKey);
     }
 
     /**
@@ -424,10 +432,8 @@
      */
     public boolean isCyclingIn(ExpandableNotificationRow row, AmbientState ambientState) {
         if (!NotificationHeadsUpCycling.isEnabled()) return false;
-        if (row.getEntry() == null) return false;
-        if (row.getEntry().getKey() == null) return false;
         String cyclingInKey = ambientState.getAvalancheShowingHunKey();
-        return row.getEntry().getKey().equals(cyclingInKey);
+        return row.getKey().equals(cyclingInKey);
     }
 
     /** Updates the dimmed and hiding sensitive states of the children. */
@@ -919,7 +925,9 @@
                 if (SceneContainerFlag.isEnabled()) {
                     if (shouldHunBeVisibleWhenScrolled(row.isHeadsUp(),
                             childState.headsUpIsVisible, row.showingPulsing(),
-                            ambientState.isOnKeyguard(), row.getEntry().isStickyAndNotDemoted())) {
+                            ambientState.isOnKeyguard(), NotificationBundleUi.isEnabled()
+                                    ? row.getEntryAdapter().canPeek()
+                                    : row.getEntry().isStickyAndNotDemoted())) {
                         // the height of this child before clamping it to the top
                         float unmodifiedChildHeight = childState.height;
                         clampHunToTop(
@@ -971,7 +979,9 @@
                 } else {
                     if (shouldHunBeVisibleWhenScrolled(row.mustStayOnScreen(),
                             childState.headsUpIsVisible, row.showingPulsing(),
-                            ambientState.isOnKeyguard(), row.getEntry().isStickyAndNotDemoted())) {
+                            ambientState.isOnKeyguard(), NotificationBundleUi.isEnabled()
+                                    ? row.getEntryAdapter().canPeek()
+                                    : row.getEntry().isStickyAndNotDemoted())) {
                         // Ensure that the heads up is always visible even when scrolled off.
                         // NSSL y starts at top of screen in non-split-shade, but below the qs
                         // offset
@@ -1045,14 +1055,22 @@
                     childState.setYTranslation(inSpaceTranslation + extraTranslation);
                     cyclingInHunHeight = -1;
                 } else if (!ambientState.isDozing()) {
-                    if (shouldHunAppearFromBottom(ambientState, childState)) {
-                        // move to the bottom of the screen
-                        childState.setYTranslation(
-                                mHeadsUpAppearHeightBottom + mHeadsUpAppearStartAboveScreen);
+                    boolean shouldHunAppearFromBottom =
+                            shouldHunAppearFromBottom(ambientState, childState);
+                    if (NotificationsHunSharedAnimationValues.isEnabled()) {
+                        int yTranslation =
+                                mHeadsUpAnimator.getHeadsUpYTranslation(shouldHunAppearFromBottom);
+                        childState.setYTranslation(yTranslation);
                     } else {
-                        // move to the top of the screen
-                        childState.setYTranslation(-ambientState.getStackTopMargin()
-                                - mHeadsUpAppearStartAboveScreen);
+                        if (shouldHunAppearFromBottom) {
+                            // move to the bottom of the screen
+                            childState.setYTranslation(
+                                    mHeadsUpAppearHeightBottom + mHeadsUpAppearStartAboveScreen);
+                        } else {
+                            // move to the top of the screen
+                            childState.setYTranslation(-ambientState.getStackTopMargin()
+                                    - mHeadsUpAppearStartAboveScreen);
+                        }
                     }
                 } else {
                     // Make sure row yTranslation is at maximum the HUN yTranslation,
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 2b05223..19abfa8 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
@@ -27,18 +27,20 @@
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
 import android.animation.ValueAnimator;
+import android.annotation.Nullable;
 import android.content.Context;
 import android.util.Property;
 import android.view.View;
 
-import androidx.dynamicanimation.animation.DynamicAnimation;
-
 import com.android.app.animation.Interpolators;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.dynamicanimation.animation.DynamicAnimation;
 import com.android.systemui.res.R;
 import com.android.systemui.shared.clocks.AnimatableClockView;
 import com.android.systemui.statusbar.NotificationShelf;
 import com.android.systemui.statusbar.notification.PhysicsPropertyAnimator;
+import com.android.systemui.statusbar.notification.headsup.HeadsUpAnimator;
+import com.android.systemui.statusbar.notification.headsup.NotificationsHunSharedAnimationValues;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
 import com.android.systemui.statusbar.notification.row.ExpandableView;
 import com.android.systemui.statusbar.notification.row.StackScrollerDecorView;
@@ -83,6 +85,9 @@
     private final ExpandableViewState mTmpState = new ExpandableViewState();
     private final AnimationProperties mAnimationProperties;
     public NotificationStackScrollLayout mHostLayout;
+    @Nullable
+    private final HeadsUpAnimator mHeadsUpAnimator;
+
     private ArrayList<NotificationStackScrollLayout.AnimationEvent> mNewEvents =
             new ArrayList<>();
     private ArrayList<View> mNewAddChildren = new ArrayList<>();
@@ -104,8 +109,12 @@
     private NotificationShelf mShelf;
     private StackStateLogger mLogger;
 
-    public StackStateAnimator(Context context, NotificationStackScrollLayout hostLayout) {
+    public StackStateAnimator(
+            Context context,
+            NotificationStackScrollLayout hostLayout,
+            @Nullable HeadsUpAnimator headsUpAnimator) {
         mHostLayout = hostLayout;
+        mHeadsUpAnimator = headsUpAnimator;
         initView(context);
         mAnimationProperties = new AnimationProperties() {
 
@@ -422,7 +431,7 @@
             if (changingView instanceof ExpandableNotificationRow && mLogger != null) {
                 loggable = true;
                 isHeadsUp = ((ExpandableNotificationRow) changingView).isHeadsUp();
-                key = ((ExpandableNotificationRow) changingView).getEntry().getKey();
+                key = ((ExpandableNotificationRow) changingView).getKey();
             }
             if (event.animationType ==
                     NotificationStackScrollLayout.AnimationEvent.ANIMATION_TYPE_ADD) {
@@ -543,7 +552,6 @@
                 mHeadsUpAppearChildren.add(changingView);
 
                 mTmpState.copyFrom(changingView.getViewState());
-                // translate the HUN in from the top, or the bottom of the screen
                 mTmpState.setYTranslation(getHeadsUpYTranslationStart(event.headsUpFromBottom));
                 // set the height and the initial position
                 mTmpState.applyToView(changingView);
@@ -728,6 +736,10 @@
     }
 
     private float getHeadsUpYTranslationStart(boolean headsUpFromBottom) {
+        if (NotificationsHunSharedAnimationValues.isEnabled()) {
+            return mHeadsUpAnimator.getHeadsUpYTranslation(headsUpFromBottom);
+        }
+
         if (headsUpFromBottom) {
             // start from the bottom of the screen
             return mHeadsUpAppearHeightBottom + mHeadsUpAppearStartAboveScreen;
@@ -814,10 +826,12 @@
     }
 
     public void setHeadsUpAppearHeightBottom(int headsUpAppearHeightBottom) {
+        NotificationsHunSharedAnimationValues.assertInLegacyMode();
         mHeadsUpAppearHeightBottom = headsUpAppearHeightBottom;
     }
 
     public void setStackTopMargin(int stackTopMargin) {
+        NotificationsHunSharedAnimationValues.assertInLegacyMode();
         mStackTopMargin = stackTopMargin;
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ViewState.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ViewState.java
index 2ef6f36..29dbeb2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ViewState.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ViewState.java
@@ -30,10 +30,9 @@
 import android.view.View;
 import android.view.animation.Interpolator;
 
-import androidx.dynamicanimation.animation.DynamicAnimation;
-import androidx.dynamicanimation.animation.SpringAnimation;
-
 import com.android.app.animation.Interpolators;
+import com.android.internal.dynamicanimation.animation.DynamicAnimation;
+import com.android.internal.dynamicanimation.animation.SpringAnimation;
 import com.android.systemui.Dumpable;
 import com.android.systemui.res.R;
 import com.android.systemui.statusbar.notification.AnimatableProperty;
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 877aa76..33cc62c 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
@@ -50,7 +50,6 @@
 import com.android.systemui.keyguard.ui.viewmodel.AodToLockscreenTransitionViewModel
 import com.android.systemui.keyguard.ui.viewmodel.AodToOccludedTransitionViewModel
 import com.android.systemui.keyguard.ui.viewmodel.AodToPrimaryBouncerTransitionViewModel
-import com.android.systemui.keyguard.ui.viewmodel.DozingToDreamingTransitionViewModel
 import com.android.systemui.keyguard.ui.viewmodel.DozingToGlanceableHubTransitionViewModel
 import com.android.systemui.keyguard.ui.viewmodel.DozingToLockscreenTransitionViewModel
 import com.android.systemui.keyguard.ui.viewmodel.DozingToOccludedTransitionViewModel
@@ -144,7 +143,6 @@
     private val aodToOccludedTransitionViewModel: AodToOccludedTransitionViewModel,
     private val aodToGlanceableHubTransitionViewModel: AodToGlanceableHubTransitionViewModel,
     private val aodToPrimaryBouncerTransitionViewModel: AodToPrimaryBouncerTransitionViewModel,
-    private val dozingToDreamingTransitionViewModel: DozingToDreamingTransitionViewModel,
     dozingToGlanceableHubTransitionViewModel: DozingToGlanceableHubTransitionViewModel,
     private val dozingToLockscreenTransitionViewModel: DozingToLockscreenTransitionViewModel,
     private val dozingToOccludedTransitionViewModel: DozingToOccludedTransitionViewModel,
@@ -603,7 +601,6 @@
             aodToOccludedTransitionViewModel.lockscreenAlpha(viewState),
             aodToGlanceableHubTransitionViewModel.lockscreenAlpha(viewState),
             aodToPrimaryBouncerTransitionViewModel.notificationAlpha,
-            dozingToDreamingTransitionViewModel.notificationAlpha,
             dozingToLockscreenTransitionViewModel.lockscreenAlpha,
             dozingToOccludedTransitionViewModel.lockscreenAlpha(viewState),
             dozingToPrimaryBouncerTransitionViewModel.notificationAlpha,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
index a9b3753..face1c7 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
@@ -163,7 +163,7 @@
 import com.android.systemui.scrim.ScrimView;
 import com.android.systemui.settings.UserTracker;
 import com.android.systemui.settings.brightness.BrightnessSliderController;
-import com.android.systemui.settings.brightness.domain.interactor.BrightnessMirrorShowingInteractor;
+import com.android.systemui.settings.brightness.data.repository.BrightnessMirrorShowingRepository;
 import com.android.systemui.shade.CameraLauncher;
 import com.android.systemui.shade.GlanceableHubContainerController;
 import com.android.systemui.shade.NotificationShadeWindowView;
@@ -589,7 +589,7 @@
 
     private final ColorExtractor.OnColorsChangedListener mOnColorsChangedListener =
             (extractor, which) -> updateTheme();
-    private final BrightnessMirrorShowingInteractor mBrightnessMirrorShowingInteractor;
+    private final BrightnessMirrorShowingRepository mBrightnessMirrorShowingRepository;
 
     // Only use before the scene container. Null if scene container is enabled.
     @Nullable private final GlanceableHubContainerController mGlanceableHubContainerController;
@@ -709,7 +709,7 @@
             AlternateBouncerInteractor alternateBouncerInteractor,
             UserTracker userTracker,
             ActivityStarter activityStarter,
-            BrightnessMirrorShowingInteractor brightnessMirrorShowingInteractor,
+            BrightnessMirrorShowingRepository brightnessMirrorShowingRepository,
             GlanceableHubContainerController glanceableHubContainerController,
             EmergencyGestureIntentFactory emergencyGestureIntentFactory,
             ViewCaptureAwareWindowManager viewCaptureAwareWindowManager,
@@ -805,7 +805,7 @@
         mAlternateBouncerInteractor = alternateBouncerInteractor;
         mUserTracker = userTracker;
         mActivityStarter = activityStarter;
-        mBrightnessMirrorShowingInteractor = brightnessMirrorShowingInteractor;
+        mBrightnessMirrorShowingRepository = brightnessMirrorShowingRepository;
         if (!SceneContainerFlag.isEnabled()) {
             mGlanceableHubContainerController = glanceableHubContainerController;
         } else {
@@ -1110,7 +1110,7 @@
                 mIdleOnCommunalConsumer);
         if (SceneContainerFlag.isEnabled() || QSComposeFragment.isEnabled()) {
             mJavaAdapter.alwaysCollectFlow(
-                    mBrightnessMirrorShowingInteractor.isShowing(),
+                    mBrightnessMirrorShowingRepository.isShowing(),
                     this::setBrightnessMirrorShowing
             );
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java
index 548ab83..7f4ac37 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java
@@ -215,13 +215,13 @@
     @Override
     public void onHeadsUpPinned(NotificationEntry entry) {
         updatePinnedStatus();
-        updateHeader(entry);
-        updateHeadsUpAndPulsingRoundness(entry);
+        updateHeader(entry.getRow());
+        updateHeadsUpAndPulsingRoundness(entry.getRow());
     }
 
     @Override
     public void onHeadsUpStateChanged(@NonNull NotificationEntry entry, boolean isHeadsUp) {
-        updateHeadsUpAndPulsingRoundness(entry);
+        updateHeadsUpAndPulsingRoundness(entry.getRow());
         mPhoneStatusBarTransitions.onHeadsUpStateChanged(isHeadsUp);
     }
 
@@ -416,8 +416,8 @@
     @Override
     public void onHeadsUpUnPinned(NotificationEntry entry) {
         updatePinnedStatus();
-        updateHeader(entry);
-        updateHeadsUpAndPulsingRoundness(entry);
+        updateHeader(entry.getRow());
+        updateHeadsUpAndPulsingRoundness(entry.getRow());
     }
 
     public void setAppearFraction(float expandedHeight, float appearFraction) {
@@ -448,9 +448,8 @@
         ExpandableNotificationRow previousTracked = mTrackedChild;
         mTrackedChild = trackedChild;
         if (previousTracked != null) {
-            NotificationEntry entry = previousTracked.getEntry();
-            updateHeader(entry);
-            updateHeadsUpAndPulsingRoundness(entry);
+            updateHeader(previousTracked);
+            updateHeadsUpAndPulsingRoundness(previousTracked);
         }
     }
 
@@ -460,13 +459,12 @@
 
     private void updateHeadsUpHeaders() {
         mHeadsUpManager.getAllEntries().forEach(entry -> {
-            updateHeader(entry);
-            updateHeadsUpAndPulsingRoundness(entry);
+            updateHeader(entry.getRow());
+            updateHeadsUpAndPulsingRoundness(entry.getRow());
         });
     }
 
-    public void updateHeader(NotificationEntry entry) {
-        ExpandableNotificationRow row = entry.getRow();
+    public void updateHeader(ExpandableNotificationRow row) {
         float headerVisibleAmount = 1.0f;
         // To fix the invisible HUN group header issue
         if (!AsyncGroupHeaderViewInflation.isEnabled()) {
@@ -480,10 +478,9 @@
 
     /**
      * Update the HeadsUp and the Pulsing roundness based on current state
-     * @param entry target notification
+     * @param row target notification row
      */
-    public void updateHeadsUpAndPulsingRoundness(NotificationEntry entry) {
-        ExpandableNotificationRow row = entry.getRow();
+    public void updateHeadsUpAndPulsingRoundness(ExpandableNotificationRow row) {
         boolean isTrackedChild = row == mTrackedChild;
         if (row.isPinned() || row.isHeadsUpAnimatingAway() || isTrackedChild) {
             float roundness = MathUtils.saturate(1f - mAppearFraction);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LSShadeTransitionLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LSShadeTransitionLogger.kt
index 686efb7..edaf400 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LSShadeTransitionLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LSShadeTransitionLogger.kt
@@ -34,9 +34,8 @@
     private val displayMetrics: DisplayMetrics
 ) {
     fun logUnSuccessfulDragDown(startingChild: View?) {
-        val entry = (startingChild as? ExpandableNotificationRow)?.entry
         buffer.log(TAG, LogLevel.INFO, {
-            str1 = entry?.key ?: "no entry"
+            str1 = (startingChild as? ExpandableNotificationRow)?.loggingKey ?: "no entry"
         }, {
             "Tried to drag down but can't drag down on $str1"
         })
@@ -49,27 +48,24 @@
     }
 
     fun logDragDownStarted(startingChild: ExpandableView?) {
-        val entry = (startingChild as? ExpandableNotificationRow)?.entry
         buffer.log(TAG, LogLevel.INFO, {
-            str1 = entry?.key ?: "no entry"
+            str1 = (startingChild as? ExpandableNotificationRow)?.loggingKey ?: "no entry"
         }, {
             "The drag down has started on $str1"
         })
     }
 
     fun logDraggedDownLockDownShade(startingChild: View?) {
-        val entry = (startingChild as? ExpandableNotificationRow)?.entry
         buffer.log(TAG, LogLevel.INFO, {
-            str1 = entry?.key ?: "no entry"
+            str1 = (startingChild as? ExpandableNotificationRow)?.loggingKey ?: "no entry"
         }, {
             "Dragged down in locked down shade on $str1"
         })
     }
 
     fun logDraggedDown(startingChild: View?, dragLengthY: Int) {
-        val entry = (startingChild as? ExpandableNotificationRow)?.entry
         buffer.log(TAG, LogLevel.INFO, {
-            str1 = entry?.key ?: "no entry"
+            str1 = (startingChild as? ExpandableNotificationRow)?.loggingKey ?: "no entry"
         }, {
             "Drag down succeeded on $str1"
         })
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
index 66f0d4a..74a42ef 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
@@ -533,7 +533,10 @@
     private void handleBlurSupportedChanged(boolean isBlurSupported) {
         this.mIsBlurSupported = isBlurSupported;
         if (Flags.bouncerUiRevamp()) {
-            updateDefaultScrimAlphas();
+            // TODO: animate blur fallback when the bouncer is pulled up.
+            for (ScrimState state : ScrimState.values()) {
+                state.setDefaultScrimAlpha(getDefaultScrimAlpha(true));
+            }
             if (isBlurSupported) {
                 ScrimState.BOUNCER_SCRIMMED.setNotifBlurRadius(mBlurConfig.getMaxBlurRadiusPx());
             } else {
@@ -541,7 +544,17 @@
             }
         }
         if (Flags.notificationShadeBlur()) {
+            float inFrontAlpha = mInFrontAlpha;
+            float behindAlpha = mBehindAlpha;
+            float notifAlpha = mNotificationsAlpha;
+
             mState.prepare(mState);
+            applyState();
+            startScrimAnimation(mScrimBehind, behindAlpha);
+            startScrimAnimation(mNotificationsScrim, notifAlpha);
+            startScrimAnimation(mScrimInFront, inFrontAlpha);
+            dispatchBackScrimState(mScrimBehind.getViewAlpha());
+        } else if (Flags.bouncerUiRevamp()) {
             applyAndDispatchState();
         }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java
index ba41fd4..df1680a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java
@@ -670,7 +670,7 @@
     }
 
     private void removeHunAfterClick(ExpandableNotificationRow row) {
-        String key = row.getEntry().getSbn().getKey();
+        String key = row.getKey();
         if (mHeadsUpManager != null && mHeadsUpManager.isHeadsUpEntry(key)) {
             // Release the HUN notification to the shade.
             if (mPresenter.isPresenterFullyCollapsed()) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java
index 4d1d64e..74b1c3b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java
@@ -58,6 +58,7 @@
 import com.android.systemui.statusbar.SysuiStatusBarStateController;
 import com.android.systemui.statusbar.notification.AboveShelfObserver;
 import com.android.systemui.statusbar.notification.DynamicPrivacyController;
+import com.android.systemui.statusbar.notification.collection.EntryAdapter;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
 import com.android.systemui.statusbar.notification.collection.render.NotifShadeEventSource;
 import com.android.systemui.statusbar.notification.domain.interactor.NotificationAlertsInteractor;
@@ -262,6 +263,23 @@
         }
     }
 
+    @Override
+    public void onExpandClicked(ExpandableNotificationRow row, EntryAdapter clickedEntry,
+            boolean nowExpanded) {
+        mHeadsUpManager.setExpanded(clickedEntry.getKey(), row, nowExpanded);
+        mPowerInteractor.wakeUpIfDozing("NOTIFICATION_CLICK", PowerManager.WAKE_REASON_GESTURE);
+        if (nowExpanded) {
+            if (mStatusBarStateController.getState() == StatusBarState.KEYGUARD) {
+                mShadeTransitionController.goToLockedShade(row, /* needsQSAnimation = */ true);
+            } else if (clickedEntry.isSensitive().getValue() && isInLockedDownShade()) {
+                mStatusBarStateController.setLeaveOpenOnKeyguardHide(true);
+                // launch the bouncer if the device is locked
+                mActivityStarter.dismissKeyguardThenExecute(() -> false /* dismissAction */
+                        , null /* cancelRunnable */, false /* afterKeyguardGone */);
+            }
+        }
+    }
+
     /** @return true if the Shade is shown over the Lockscreen, and the device is locked */
     private boolean isInLockedDownShade() {
         if (SceneContainerFlag.isEnabled()) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarPhoneModule.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarPhoneModule.kt
index 037dda9..323b7d8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarPhoneModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarPhoneModule.kt
@@ -15,10 +15,8 @@
  */
 package com.android.systemui.statusbar.phone.dagger
 
-import android.view.Display
 import com.android.systemui.CoreStartable
 import com.android.systemui.dagger.SysUISingleton
-import com.android.systemui.dagger.qualifiers.Background
 import com.android.systemui.dagger.qualifiers.Default
 import com.android.systemui.statusbar.CommandQueue
 import com.android.systemui.statusbar.core.CommandQueueInitializer
@@ -29,7 +27,6 @@
 import com.android.systemui.statusbar.core.StatusBarInitializer
 import com.android.systemui.statusbar.core.StatusBarInitializerImpl
 import com.android.systemui.statusbar.core.StatusBarInitializerStore
-import com.android.systemui.statusbar.core.StatusBarOrchestrator
 import com.android.systemui.statusbar.core.StatusBarRootModernization
 import com.android.systemui.statusbar.data.repository.DarkIconDispatcherStore
 import com.android.systemui.statusbar.data.repository.PrivacyDotViewControllerStoreModule
@@ -50,7 +47,6 @@
 import dagger.Provides
 import dagger.multibindings.ClassKey
 import dagger.multibindings.IntoMap
-import kotlinx.coroutines.CoroutineScope
 
 /** Similar in purpose to [StatusBarModule], but scoped only to phones */
 @Module(
@@ -122,29 +118,6 @@
 
         @Provides
         @SysUISingleton
-        @Default // Dagger does not support providing @AssistedInject types without a qualifier
-        fun orchestrator(
-            @Background backgroundApplicationScope: CoroutineScope,
-            statusBarWindowStateRepositoryStore: StatusBarWindowStateRepositoryStore,
-            statusBarModeRepositoryStore: StatusBarModeRepositoryStore,
-            initializerStore: StatusBarInitializerStore,
-            statusBarWindowControllerStore: StatusBarWindowControllerStore,
-            autoHideControllerStore: AutoHideControllerStore,
-            statusBarOrchestratorFactory: StatusBarOrchestrator.Factory,
-        ): StatusBarOrchestrator {
-            return statusBarOrchestratorFactory.create(
-                Display.DEFAULT_DISPLAY,
-                backgroundApplicationScope,
-                statusBarWindowStateRepositoryStore.defaultDisplay,
-                statusBarModeRepositoryStore.defaultDisplay,
-                initializerStore.defaultDisplay,
-                statusBarWindowControllerStore.defaultDisplay,
-                autoHideControllerStore.defaultDisplay,
-            )
-        }
-
-        @Provides
-        @SysUISingleton
         @IntoMap
         @ClassKey(MultiDisplayStatusBarStarter::class)
         fun multiDisplayStarter(
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallController.kt
index 949cb0a..b662892 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallController.kt
@@ -72,7 +72,7 @@
     private val swipeStatusBarAwayGestureHandler: SwipeStatusBarAwayGestureHandler,
     private val statusBarModeRepository: StatusBarModeRepositoryStore,
     @OngoingCallLog private val logger: LogBuffer,
-) : CallbackController<OngoingCallListener>, Dumpable, CoreStartable {
+) : CallbackController<OngoingCallListener>, CoreStartable {
     private var isFullscreen: Boolean = false
     /** Non-null if there's an active call notification. */
     private var callNotificationInfo: CallNotificationInfo? = null
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 ac301b0..3b40cde 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
@@ -19,8 +19,6 @@
 import com.android.systemui.Flags.statusBarStaticInoutIndicators
 import com.android.systemui.common.shared.model.ContentDescription
 import com.android.systemui.common.shared.model.Icon
-import com.android.systemui.flags.FeatureFlagsClassic
-import com.android.systemui.flags.Flags.NEW_NETWORK_SLICE_UI
 import com.android.systemui.log.table.logDiffsForTable
 import com.android.systemui.res.R
 import com.android.systemui.statusbar.core.NewStatusBarIcons
@@ -79,7 +77,6 @@
     iconInteractor: MobileIconInteractor,
     airplaneModeInteractor: AirplaneModeInteractor,
     constants: ConnectivityConstants,
-    flags: FeatureFlagsClassic,
     scope: CoroutineScope,
 ) : MobileIconViewModelCommon {
     private val cellProvider by lazy {
@@ -88,7 +85,6 @@
             iconInteractor,
             airplaneModeInteractor,
             constants,
-            flags,
             scope,
         )
     }
@@ -179,7 +175,6 @@
     iconInteractor: MobileIconInteractor,
     airplaneModeInteractor: AirplaneModeInteractor,
     constants: ConnectivityConstants,
-    flags: FeatureFlagsClassic,
     scope: CoroutineScope,
 ) : MobileIconViewModelCommon {
     override val isVisible: StateFlow<Boolean> =
@@ -286,16 +281,13 @@
             .stateIn(scope, SharingStarted.WhileSubscribed(), null)
 
     override val networkTypeBackground =
-        if (!flags.isEnabled(NEW_NETWORK_SLICE_UI)) {
-                flowOf(null)
-            } else {
-                iconInteractor.showSliceAttribution.map {
-                    when {
-                        it && NewStatusBarIcons.isEnabled ->
-                            Icon.Resource(R.drawable.mobile_network_type_background_updated, null)
-                        it -> Icon.Resource(R.drawable.mobile_network_type_background, null)
-                        else -> null
-                    }
+        iconInteractor.showSliceAttribution
+            .map {
+                when {
+                    it && NewStatusBarIcons.isEnabled ->
+                        Icon.Resource(R.drawable.mobile_network_type_background_updated, null)
+                    it -> Icon.Resource(R.drawable.mobile_network_type_background, null)
+                    else -> null
                 }
             }
             .stateIn(scope, SharingStarted.WhileSubscribed(), null)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModel.kt
index 288e49e..494d95e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModel.kt
@@ -21,7 +21,6 @@
 import com.android.systemui.coroutines.newTracingContext
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.dagger.qualifiers.Background
-import com.android.systemui.flags.FeatureFlagsClassic
 import com.android.systemui.statusbar.phone.StatusBarLocation
 import com.android.systemui.statusbar.pipeline.airplane.domain.interactor.AirplaneModeInteractor
 import com.android.systemui.statusbar.pipeline.mobile.domain.interactor.MobileIconsInteractor
@@ -57,7 +56,6 @@
     private val interactor: MobileIconsInteractor,
     private val airplaneModeInteractor: AirplaneModeInteractor,
     private val constants: ConnectivityConstants,
-    private val flags: FeatureFlagsClassic,
     @Background private val scope: CoroutineScope,
 ) {
     @VisibleForTesting
@@ -131,7 +129,6 @@
                 interactor.getMobileConnectionInteractorForSubId(subId),
                 airplaneModeInteractor,
                 constants,
-                flags,
                 vmScope,
             )
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/satellite/domain/interactor/DeviceBasedSatelliteInteractor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/satellite/domain/interactor/DeviceBasedSatelliteInteractor.kt
index 569e02c..4041f3f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/satellite/domain/interactor/DeviceBasedSatelliteInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/satellite/domain/interactor/DeviceBasedSatelliteInteractor.kt
@@ -16,7 +16,6 @@
 
 package com.android.systemui.statusbar.pipeline.satellite.domain.interactor
 
-import com.android.internal.telephony.flags.Flags
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.dagger.qualifiers.Background
 import com.android.systemui.log.LogBuffer
@@ -57,35 +56,19 @@
 
     /** Must be observed by any UI showing Satellite iconography */
     val isSatelliteAllowed =
-        if (Flags.oemEnabledSatelliteFlag()) {
-                repo.isSatelliteAllowedForCurrentLocation
-            } else {
-                flowOf(false)
-            }
-            .distinctUntilChanged()
+        repo.isSatelliteAllowedForCurrentLocation
             .logDiffsForTable(tableLog, columnName = COL_ALLOWED, initialValue = false)
             .stateIn(scope, SharingStarted.WhileSubscribed(), false)
 
     /** See [SatelliteConnectionState] for relevant states */
     val connectionState =
-        if (Flags.oemEnabledSatelliteFlag()) {
-                repo.connectionState
-            } else {
-
-                flowOf(SatelliteConnectionState.Off)
-            }
-            .distinctUntilChanged()
+        repo.connectionState
             .logDiffsForTable(tableLog, initialValue = SatelliteConnectionState.Off)
             .stateIn(scope, SharingStarted.WhileSubscribed(), SatelliteConnectionState.Off)
 
     /** 0-4 description of the connection strength */
     val signalStrength =
-        if (Flags.oemEnabledSatelliteFlag()) {
-                repo.signalStrength
-            } else {
-                flowOf(0)
-            }
-            .distinctUntilChanged()
+        repo.signalStrength
             .logDiffsForTable(tableLog, columnName = COL_LEVEL, initialValue = 0)
             .stateIn(scope, SharingStarted.WhileSubscribed(), 0)
 
@@ -114,28 +97,24 @@
 
     /** When all connections are considered OOS, satellite connectivity is potentially valid */
     val areAllConnectionsOutOfService =
-        if (Flags.oemEnabledSatelliteFlag()) {
-                combine(allConnectionsOos, iconsInteractor.isDeviceInEmergencyCallsOnlyMode) {
-                    connectionsOos,
-                    deviceEmergencyOnly ->
-                    logBuffer.log(
-                        TAG,
-                        LogLevel.INFO,
-                        {
-                            bool1 = connectionsOos
-                            bool2 = deviceEmergencyOnly
-                        },
-                        {
-                            "Updating OOS status. allConnectionsOOs=$bool1 " +
-                                "deviceEmergencyOnly=$bool2"
-                        },
-                    )
-                    // If no connections exist, or all are OOS, then we look to the device-based
-                    // service state to detect if any calls are possible
-                    connectionsOos && !deviceEmergencyOnly
-                }
-            } else {
-                flowOf(false)
+        combine(allConnectionsOos, iconsInteractor.isDeviceInEmergencyCallsOnlyMode) {
+                connectionsOos,
+                deviceEmergencyOnly ->
+                logBuffer.log(
+                    TAG,
+                    LogLevel.INFO,
+                    {
+                        bool1 = connectionsOos
+                        bool2 = deviceEmergencyOnly
+                    },
+                    {
+                        "Updating OOS status. allConnectionsOOs=$bool1 " +
+                            "deviceEmergencyOnly=$bool2"
+                    },
+                )
+                // If no connections exist, or all are OOS, then we look to the device-based
+                // service state to detect if any calls are possible
+                connectionsOos && !deviceEmergencyOnly
             }
             .distinctUntilChanged()
             .logDiffsForTable(tableLog, columnName = COL_FULL_OOS, initialValue = true)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/satellite/ui/DeviceBasedSatelliteBindableIcon.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/satellite/ui/DeviceBasedSatelliteBindableIcon.kt
index f5d0f6b..d51d8da 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/satellite/ui/DeviceBasedSatelliteBindableIcon.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/satellite/ui/DeviceBasedSatelliteBindableIcon.kt
@@ -17,7 +17,6 @@
 package com.android.systemui.statusbar.pipeline.satellite.ui
 
 import android.content.Context
-import com.android.internal.telephony.flags.Flags.oemEnabledSatelliteFlag
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.statusbar.pipeline.icons.shared.model.BindableIcon
 import com.android.systemui.statusbar.pipeline.icons.shared.model.ModernStatusBarViewCreator
@@ -29,10 +28,7 @@
 @SysUISingleton
 class DeviceBasedSatelliteBindableIcon
 @Inject
-constructor(
-    context: Context,
-    viewModel: DeviceBasedSatelliteViewModel,
-) : BindableIcon {
+constructor(context: Context, viewModel: DeviceBasedSatelliteViewModel) : BindableIcon {
     override val slot: String =
         context.getString(com.android.internal.R.string.status_bar_oem_satellite)
 
@@ -42,5 +38,5 @@
         }
     }
 
-    override val shouldBindIcon: Boolean = oemEnabledSatelliteFlag()
+    override val shouldBindIcon: Boolean = true
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java
index dd742ff..9a81992 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java
@@ -108,10 +108,6 @@
     private boolean mShowSeconds;
     private Handler mSecondsHandler;
 
-    // Fields to cache the width so the clock remains at an approximately constant width
-    private int mCharsAtCurrentWidth = -1;
-    private int mCachedWidth = -1;
-
     /**
      * Color to be set on this {@link TextView}, when wallpaperTextColor is <b>not</b> utilized.
      */
@@ -326,32 +322,6 @@
         setContentDescription(mContentDescriptionFormat.format(mCalendar.getTime()));
     }
 
-    /**
-     * In order to avoid the clock growing and shrinking due to proportional fonts, we want to
-     * cache the drawn width at a given number of characters (removing the cache when it changes),
-     * and only use the biggest value. This means that the clock width with grow to the maximum
-     * size over time, but reset whenever the number of characters changes (or the configuration
-     * changes)
-     */
-    @Override
-    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
-
-        int chars = getText().length();
-        if (chars != mCharsAtCurrentWidth) {
-            mCharsAtCurrentWidth = chars;
-            mCachedWidth = getMeasuredWidth();
-            return;
-        }
-
-        int measuredWidth = getMeasuredWidth();
-        if (mCachedWidth > measuredWidth) {
-            setMeasuredDimension(mCachedWidth, getMeasuredHeight());
-        } else {
-            mCachedWidth = measuredWidth;
-        }
-    }
-
     @Override
     public void onTuningChanged(String key, String newValue) {
         if (CLOCK_SECONDS.equals(key)) {
@@ -402,9 +372,6 @@
     }
 
     private void reloadDimens() {
-        // reset mCachedWidth so the new width would be updated properly when next onMeasure
-        mCachedWidth = -1;
-
         FontSizeUtils.updateFontSize(this, R.dimen.status_bar_clock_size);
         setPaddingRelative(
                 mContext.getResources().getDimensionPixelSize(
diff --git a/packages/SystemUI/src/com/android/systemui/temporarydisplay/TemporaryViewDisplayController.kt b/packages/SystemUI/src/com/android/systemui/temporarydisplay/TemporaryViewDisplayController.kt
index 3c53d2d..6355767 100644
--- a/packages/SystemUI/src/com/android/systemui/temporarydisplay/TemporaryViewDisplayController.kt
+++ b/packages/SystemUI/src/com/android/systemui/temporarydisplay/TemporaryViewDisplayController.kt
@@ -34,7 +34,6 @@
 import androidx.annotation.VisibleForTesting
 import com.android.app.viewcapture.ViewCaptureAwareWindowManager
 import com.android.systemui.CoreStartable
-import com.android.systemui.Dumpable
 import com.android.systemui.dagger.qualifiers.Main
 import com.android.systemui.dump.DumpManager
 import com.android.systemui.statusbar.policy.ConfigurationController
@@ -81,7 +80,7 @@
     private val wakeLockBuilder: WakeLock.Builder,
     private val systemClock: SystemClock,
     internal val tempViewUiEventLogger: TemporaryViewUiEventLogger,
-) : CoreStartable, Dumpable {
+) : CoreStartable {
     /**
      * Window layout params that will be used as a starting point for the [windowLayoutParams] of
      * all subclasses.
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dialog/VolumeDialog.kt b/packages/SystemUI/src/com/android/systemui/volume/dialog/VolumeDialog.kt
index 86defff..bb8fe46 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/dialog/VolumeDialog.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/dialog/VolumeDialog.kt
@@ -17,7 +17,6 @@
 package com.android.systemui.volume.dialog
 
 import android.content.Context
-import android.graphics.PixelFormat
 import android.os.Bundle
 import android.view.MotionEvent
 import android.view.View
@@ -51,10 +50,8 @@
                     WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED
             )
             addPrivateFlags(WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY)
-
             setType(WindowManager.LayoutParams.TYPE_VOLUME_OVERLAY)
             setWindowAnimations(-1)
-            setFormat(PixelFormat.TRANSLUCENT)
 
             attributes =
                 attributes.apply {
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dialog/domain/interactor/VolumeDialogStateInteractor.kt b/packages/SystemUI/src/com/android/systemui/volume/dialog/domain/interactor/VolumeDialogStateInteractor.kt
index b3c92f8..fee49de 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/dialog/domain/interactor/VolumeDialogStateInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/dialog/domain/interactor/VolumeDialogStateInteractor.kt
@@ -95,6 +95,10 @@
         volumeDialogStateRepository.updateState { it.copy(isShowingCsdWarning = model) }
     }
 
+    fun setHovering(isHovering: Boolean) {
+        volumeDialogStateRepository.updateState { it.copy(isHovering = isHovering) }
+    }
+
     /** Returns a copy of [model] filled with the values from [VolumeDialogController.State]. */
     private fun VolumeDialogController.State.copyIntoModel(
         model: VolumeDialogStateModel
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dialog/domain/interactor/VolumeDialogVisibilityInteractor.kt b/packages/SystemUI/src/com/android/systemui/volume/dialog/domain/interactor/VolumeDialogVisibilityInteractor.kt
index afe3d7b..bd23e8c 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/dialog/domain/interactor/VolumeDialogVisibilityInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/dialog/domain/interactor/VolumeDialogVisibilityInteractor.kt
@@ -18,6 +18,8 @@
 
 import android.annotation.SuppressLint
 import android.provider.Settings
+import android.view.accessibility.AccessibilityManager
+import com.android.systemui.accessibility.data.repository.AccessibilityRepository
 import com.android.systemui.plugins.VolumeDialogController
 import com.android.systemui.shared.settings.data.repository.SecureSettingsRepository
 import com.android.systemui.volume.Events
@@ -25,11 +27,13 @@
 import com.android.systemui.volume.dialog.dagger.scope.VolumeDialogPluginScope
 import com.android.systemui.volume.dialog.data.VolumeDialogVisibilityRepository
 import com.android.systemui.volume.dialog.domain.model.VolumeDialogEventModel
+import com.android.systemui.volume.dialog.shared.model.VolumeDialogSafetyWarningModel
 import com.android.systemui.volume.dialog.shared.model.VolumeDialogVisibilityModel
 import com.android.systemui.volume.dialog.shared.model.VolumeDialogVisibilityModel.Dismissed
 import com.android.systemui.volume.dialog.shared.model.VolumeDialogVisibilityModel.Visible
 import com.android.systemui.volume.dialog.utils.VolumeTracer
 import javax.inject.Inject
+import kotlin.time.Duration
 import kotlin.time.Duration.Companion.milliseconds
 import kotlin.time.Duration.Companion.seconds
 import kotlin.time.DurationUnit
@@ -38,7 +42,7 @@
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.MutableSharedFlow
 import kotlinx.coroutines.flow.SharingStarted
-import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.flow.first
 import kotlinx.coroutines.flow.launchIn
 import kotlinx.coroutines.flow.mapLatest
 import kotlinx.coroutines.flow.mapNotNull
@@ -58,12 +62,15 @@
 constructor(
     @VolumeDialogPlugin coroutineScope: CoroutineScope,
     callbacksInteractor: VolumeDialogCallbacksInteractor,
+    private val stateInteractor: VolumeDialogStateInteractor,
     private val tracer: VolumeTracer,
     private val repository: VolumeDialogVisibilityRepository,
+    private val accessibilityRepository: AccessibilityRepository,
     private val controller: VolumeDialogController,
     private val secureSettingsRepository: SecureSettingsRepository,
 ) {
 
+    /** @see computeTimeout */
     private val defaultTimeout = 3.seconds
 
     @SuppressLint("SharedFlowCreation")
@@ -71,20 +78,12 @@
     val dialogVisibility: Flow<VolumeDialogVisibilityModel> =
         repository.dialogVisibility
             .onEach { controller.notifyVisible(it is Visible) }
-            .stateIn(coroutineScope, SharingStarted.Eagerly, null)
-            .filterNotNull()
+            .stateIn(coroutineScope, SharingStarted.Eagerly, VolumeDialogVisibilityModel.Invisible)
 
     init {
         merge(
                 mutableDismissDialogEvents.mapLatest {
-                    delay(
-                        secureSettingsRepository
-                            .getInt(
-                                Settings.Secure.VOLUME_DIALOG_DISMISS_TIMEOUT,
-                                defaultTimeout.toInt(DurationUnit.MILLISECONDS),
-                            )
-                            .milliseconds
-                    )
+                    delay(computeTimeout())
                     VolumeDialogEventModel.DismissRequested(Events.DISMISS_REASON_TIMEOUT)
                 },
                 callbacksInteractor.event,
@@ -104,13 +103,7 @@
      * [dialogVisibility].
      */
     fun dismissDialog(reason: Int) {
-        updateVisibility { visibilityModel ->
-            if (visibilityModel is Dismissed) {
-                visibilityModel
-            } else {
-                Dismissed(reason)
-            }
-        }
+        updateVisibility { Dismissed(reason) }
     }
 
     /** Resets current dialog timeout. */
@@ -121,7 +114,47 @@
     private fun updateVisibility(
         update: (VolumeDialogVisibilityModel) -> VolumeDialogVisibilityModel
     ) {
-        repository.updateVisibility { update(it).also(tracer::traceVisibilityStart) }
+        repository.updateVisibility { currentVisibility ->
+            val newVisibility = update(currentVisibility)
+            // Don't update if the visibility is of the same type
+            if (currentVisibility::class == newVisibility::class) {
+                currentVisibility
+            } else {
+                tracer.traceVisibilityStart(newVisibility)
+                newVisibility
+            }
+        }
+    }
+
+    private suspend fun computeTimeout(): Duration {
+        val defaultDialogTimeoutMillis =
+            secureSettingsRepository
+                .getInt(
+                    Settings.Secure.VOLUME_DIALOG_DISMISS_TIMEOUT,
+                    defaultTimeout.toInt(DurationUnit.MILLISECONDS),
+                )
+                .milliseconds
+        val currentDialogState = stateInteractor.volumeDialogState.first()
+        return when {
+            currentDialogState.isHovering ->
+                accessibilityRepository.getRecommendedTimeout(
+                    defaultDialogTimeoutMillis,
+                    AccessibilityManager.FLAG_CONTENT_CONTROLS,
+                )
+
+            currentDialogState.isShowingSafetyWarning is VolumeDialogSafetyWarningModel.Visible ->
+                accessibilityRepository.getRecommendedTimeout(
+                    defaultDialogTimeoutMillis,
+                    AccessibilityManager.FLAG_CONTENT_TEXT or
+                        AccessibilityManager.FLAG_CONTENT_CONTROLS,
+                )
+
+            else ->
+                accessibilityRepository.getRecommendedTimeout(
+                    defaultDialogTimeoutMillis,
+                    AccessibilityManager.FLAG_CONTENT_CONTROLS,
+                )
+        }
     }
 
     private fun VolumeDialogEventModel.toVisibilityModel(): VolumeDialogVisibilityModel? {
@@ -129,6 +162,7 @@
             is VolumeDialogEventModel.DismissRequested -> Dismissed(reason)
             is VolumeDialogEventModel.ShowRequested ->
                 Visible(reason, keyguardLocked, lockTaskModeState)
+
             else -> null
         }
     }
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 14eede6..3677d3b 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
@@ -17,6 +17,7 @@
 package com.android.systemui.volume.dialog.ringer.ui.binder
 
 import android.animation.ArgbEvaluator
+import android.content.res.Configuration
 import android.graphics.drawable.GradientDrawable
 import android.view.LayoutInflater
 import android.view.View
@@ -127,6 +128,16 @@
                 when (ringerState) {
                     is RingerViewModelState.Available -> {
                         val uiModel = ringerState.uiModel
+                        val orientation =
+                            if (
+                                view.context.resources.getBoolean(
+                                    R.bool.volume_dialog_ringer_drawer_should_open_to_the_side
+                                )
+                            ) {
+                                ringerState.orientation
+                            } else {
+                                Configuration.ORIENTATION_PORTRAIT
+                            }
 
                         // Set up view background and visibility
                         drawerContainer.visibility = View.VISIBLE
@@ -144,7 +155,7 @@
                                 drawerContainer.closeDrawer(
                                     ringerBackgroundView,
                                     uiModel.currentButtonIndex,
-                                    ringerState.orientation,
+                                    orientation,
                                 )
                             }
                             is RingerDrawerState.Closed -> {
@@ -186,7 +197,7 @@
                                         drawerContainer.closeDrawer(
                                             ringerBackgroundView,
                                             uiModel.currentButtonIndex,
-                                            ringerState.orientation,
+                                            orientation,
                                         )
                                     }
                                 }
@@ -206,11 +217,7 @@
                                 } else {
                                     ringerDrawerTransitionListener.setProgressChangeEnabled(true)
                                 }
-                                updateOpenState(
-                                    drawerContainer,
-                                    ringerState.orientation,
-                                    ringerBackgroundView,
-                                )
+                                updateOpenState(drawerContainer, orientation, ringerBackgroundView)
                                 drawerContainer
                                     .getTransition(R.id.close_to_open_transition)
                                     .setInterpolatorInfo(
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dialog/shared/model/VolumeDialogStateModel.kt b/packages/SystemUI/src/com/android/systemui/volume/dialog/shared/model/VolumeDialogStateModel.kt
index 89456fe..e5c3e5c 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/dialog/shared/model/VolumeDialogStateModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/dialog/shared/model/VolumeDialogStateModel.kt
@@ -24,6 +24,7 @@
     val isShowingSafetyWarning: VolumeDialogSafetyWarningModel =
         VolumeDialogSafetyWarningModel.Invisible,
     val isShowingCsdWarning: VolumeDialogCsdWarningModel = VolumeDialogCsdWarningModel.Invisible,
+    val isHovering: Boolean = false,
     val streamModels: Map<Int, VolumeDialogStreamModel> = mapOf(),
     val ringerModeInternal: Int = 0,
     val ringerModeExternal: Int = 0,
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 a0e3fbd..43d1ef4 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
@@ -29,18 +29,13 @@
 import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.size
 import androidx.compose.material3.ExperimentalMaterial3Api
-import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
 import androidx.compose.material3.Icon
 import androidx.compose.material3.MaterialTheme
 import androidx.compose.material3.SliderDefaults
-import androidx.compose.material3.SliderState
-import androidx.compose.material3.VerticalSlider
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.LaunchedEffect
 import androidx.compose.runtime.getValue
-import androidx.compose.runtime.mutableFloatStateOf
 import androidx.compose.runtime.remember
-import androidx.compose.runtime.setValue
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.input.pointer.pointerInput
@@ -49,16 +44,17 @@
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.compose.theme.PlatformTheme
 import com.android.compose.ui.graphics.painter.DrawablePainter
+import com.android.systemui.haptics.slider.SliderHapticFeedbackFilter
 import com.android.systemui.haptics.slider.compose.ui.SliderHapticsViewModel
-import com.android.systemui.lifecycle.rememberViewModel
 import com.android.systemui.res.R
 import com.android.systemui.volume.dialog.sliders.dagger.VolumeDialogSliderScope
 import com.android.systemui.volume.dialog.sliders.ui.compose.VolumeDialogSliderTrack
 import com.android.systemui.volume.dialog.sliders.ui.viewmodel.VolumeDialogOverscrollViewModel
 import com.android.systemui.volume.dialog.sliders.ui.viewmodel.VolumeDialogSliderViewModel
-import com.android.systemui.volume.haptics.ui.VolumeHapticsConfigsProvider
+import com.android.systemui.volume.ui.slider.AccessibilityParams
+import com.android.systemui.volume.ui.slider.Haptics
+import com.android.systemui.volume.ui.slider.Slider
 import javax.inject.Inject
-import kotlin.math.round
 import kotlinx.coroutines.coroutineScope
 import kotlinx.coroutines.currentCoroutineContext
 import kotlinx.coroutines.isActive
@@ -90,7 +86,7 @@
     }
 }
 
-@OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterial3ExpressiveApi::class)
+@OptIn(ExperimentalMaterial3Api::class)
 @Composable
 private fun VolumeDialogSlider(
     viewModel: VolumeDialogSliderViewModel,
@@ -108,59 +104,8 @@
         )
     val collectedSliderStateModel by viewModel.state.collectAsStateWithLifecycle(null)
     val sliderStateModel = collectedSliderStateModel ?: return
-
-    val steps = with(sliderStateModel.valueRange) { endInclusive - start - 1 }.toInt()
-
     val interactionSource = remember { MutableInteractionSource() }
-    val hapticsViewModel: SliderHapticsViewModel? =
-        hapticsViewModelFactory?.let {
-            rememberViewModel(traceName = "SliderHapticsViewModel") {
-                it.create(
-                    interactionSource,
-                    sliderStateModel.valueRange,
-                    Orientation.Vertical,
-                    VolumeHapticsConfigsProvider.sliderHapticFeedbackConfig(
-                        sliderStateModel.valueRange
-                    ),
-                    VolumeHapticsConfigsProvider.seekableSliderTrackerConfig,
-                )
-            }
-        }
 
-    val sliderState =
-        remember(steps, sliderStateModel.valueRange) {
-            SliderState(
-                    value = sliderStateModel.value,
-                    valueRange = sliderStateModel.valueRange,
-                    steps = steps,
-                )
-                .also { sliderState ->
-                    sliderState.onValueChangeFinished = {
-                        viewModel.onSliderChangeFinished(sliderState.value)
-                        hapticsViewModel?.onValueChangeEnded()
-                    }
-                    sliderState.onValueChange = { newValue ->
-                        sliderState.value = newValue
-                        hapticsViewModel?.addVelocityDataPoint(newValue)
-                        overscrollViewModel.setSlider(
-                            value = sliderState.value,
-                            min = sliderState.valueRange.start,
-                            max = sliderState.valueRange.endInclusive,
-                        )
-                        viewModel.setStreamVolume(newValue, true)
-                    }
-                }
-        }
-
-    var lastDiscreteStep by remember { mutableFloatStateOf(round(sliderStateModel.value)) }
-    LaunchedEffect(sliderStateModel.value) {
-        val value = sliderStateModel.value
-        sliderState.value = value
-        if (value != lastDiscreteStep) {
-            lastDiscreteStep = value
-            hapticsViewModel?.onValueChange(value)
-        }
-    }
     LaunchedEffect(interactionSource) {
         interactionSource.interactions.collect {
             when (it) {
@@ -171,24 +116,33 @@
         }
     }
 
-    VerticalSlider(
-        state = sliderState,
-        enabled = !sliderStateModel.isDisabled,
-        reverseDirection = true,
+    Slider(
+        value = sliderStateModel.value,
+        valueRange = sliderStateModel.valueRange,
+        onValueChanged = { value ->
+            overscrollViewModel.setSlider(
+                value = value,
+                min = sliderStateModel.valueRange.start,
+                max = sliderStateModel.valueRange.endInclusive,
+            )
+            viewModel.setStreamVolume(value, true)
+        },
+        onValueChangeFinished = { viewModel.onSliderChangeFinished(it) },
+        isEnabled = !sliderStateModel.isDisabled,
+        isReverseDirection = true,
+        isVertical = true,
         colors = colors,
         interactionSource = interactionSource,
-        modifier =
-            modifier.pointerInput(Unit) {
-                coroutineScope {
-                    val currentContext = currentCoroutineContext()
-                    awaitPointerEventScope {
-                        while (currentContext.isActive) {
-                            viewModel.onTouchEvent(awaitPointerEvent())
-                        }
-                    }
-                }
-            },
-        track = {
+        haptics =
+            hapticsViewModelFactory?.let {
+                Haptics.Enabled(
+                    hapticsViewModelFactory = it,
+                    hapticFilter = SliderHapticFeedbackFilter(),
+                    orientation = Orientation.Vertical,
+                )
+            } ?: Haptics.Disabled,
+        stepDistance = 1f,
+        track = { sliderState ->
             VolumeDialogSliderTrack(
                 sliderState,
                 colors = colors,
@@ -201,6 +155,18 @@
                 },
             )
         },
+        accessibilityParams = AccessibilityParams(label = sliderStateModel.label),
+        modifier =
+            modifier.pointerInput(Unit) {
+                coroutineScope {
+                    val currentContext = currentCoroutineContext()
+                    awaitPointerEventScope {
+                        while (currentContext.isActive) {
+                            viewModel.onTouchEvent(awaitPointerEvent())
+                        }
+                    }
+                }
+            },
     )
 }
 
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dialog/sliders/ui/viewmodel/VolumeDialogSliderStateModel.kt b/packages/SystemUI/src/com/android/systemui/volume/dialog/sliders/ui/viewmodel/VolumeDialogSliderStateModel.kt
index b01046b..88a061f 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/dialog/sliders/ui/viewmodel/VolumeDialogSliderStateModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/dialog/sliders/ui/viewmodel/VolumeDialogSliderStateModel.kt
@@ -16,17 +16,21 @@
 
 package com.android.systemui.volume.dialog.sliders.ui.viewmodel
 
+import android.content.Context
 import android.graphics.drawable.Drawable
 import com.android.systemui.volume.dialog.shared.model.VolumeDialogStreamModel
+import com.android.systemui.volume.dialog.shared.model.streamLabel
 
 data class VolumeDialogSliderStateModel(
     val value: Float,
     val isDisabled: Boolean,
     val valueRange: ClosedFloatingPointRange<Float>,
     val icon: Drawable,
+    val label: String,
 )
 
 fun VolumeDialogStreamModel.toStateModel(
+    context: Context,
     isDisabled: Boolean,
     icon: Drawable,
 ): VolumeDialogSliderStateModel {
@@ -35,5 +39,6 @@
         isDisabled = isDisabled,
         valueRange = levelMin.toFloat()..levelMax.toFloat(),
         icon = icon,
+        label = streamLabel(context),
     )
 }
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 19b2880..1f11f2d 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
@@ -16,6 +16,7 @@
 
 package com.android.systemui.volume.dialog.sliders.ui.viewmodel
 
+import android.content.Context
 import androidx.compose.ui.geometry.Offset
 import androidx.compose.ui.input.pointer.PointerEvent
 import androidx.compose.ui.input.pointer.PointerEventType
@@ -63,6 +64,7 @@
 class VolumeDialogSliderViewModel
 @Inject
 constructor(
+    private val context: Context,
     private val sliderType: VolumeDialogSliderType,
     private val interactor: VolumeDialogSliderInteractor,
     private val visibilityInteractor: VolumeDialogVisibilityInteractor,
@@ -114,7 +116,7 @@
                     }
                 },
             ) { isDisabledByZenMode, model, icon ->
-                model.toStateModel(icon = icon, isDisabled = isDisabledByZenMode)
+                model.toStateModel(context = context, icon = icon, isDisabled = isDisabledByZenMode)
             }
             .stateIn(coroutineScope, SharingStarted.Eagerly, null)
             .filterNotNull()
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dialog/ui/binder/VolumeDialogViewBinder.kt b/packages/SystemUI/src/com/android/systemui/volume/dialog/ui/binder/VolumeDialogViewBinder.kt
index 0c10aaa..5de8fe5 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/dialog/ui/binder/VolumeDialogViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/dialog/ui/binder/VolumeDialogViewBinder.kt
@@ -18,10 +18,12 @@
 
 import android.app.Dialog
 import android.content.Context
+import android.view.MotionEvent
 import android.view.View
 import android.view.ViewGroup
 import android.view.ViewTreeObserver
 import android.view.WindowInsets
+import android.view.accessibility.AccessibilityEvent
 import androidx.compose.ui.util.lerp
 import androidx.core.view.updatePadding
 import androidx.dynamicanimation.animation.DynamicAnimation
@@ -47,6 +49,7 @@
 import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.filter
 import kotlinx.coroutines.flow.mapLatest
 import kotlinx.coroutines.flow.onEach
 import kotlinx.coroutines.flow.scan
@@ -81,9 +84,18 @@
         // Root view of the Volume Dialog.
         val root: ViewGroup = dialog.requireViewById(R.id.volume_dialog)
 
+        root.accessibilityDelegate = Accessibility(viewModel)
+        root.setOnHoverListener { _, event ->
+            viewModel.onHover(
+                event.actionMasked == MotionEvent.ACTION_HOVER_ENTER ||
+                    event.actionMasked == MotionEvent.ACTION_HOVER_MOVE
+            )
+            true
+        }
         animateVisibility(root, dialog, viewModel.dialogVisibilityModel)
 
         viewModel.dialogTitle
+            .filter { it.isNotEmpty() }
             .onEach { dialog.window?.setTitle(it) }
             .launchInTraced("VDVB#dialogTitle", this)
         viewModel.isHalfOpened
@@ -148,8 +160,9 @@
                         junkListener?.let(animation::removeUpdateListener)
                         junkListener =
                             jankListenerFactory.show(view).also(animation::addUpdateListener)
-                        animation.animateToFinalPosition(FRACTION_SHOW)
+                        animation.suspendAnimate(FRACTION_SHOW)
                     }
+
                     is VolumeDialogVisibilityModel.Dismissed -> {
                         tracer.traceVisibilityEnd(it)
                         junkListener?.let(animation::removeUpdateListener)
@@ -158,6 +171,7 @@
                         animation.suspendAnimate(FRACTION_HIDE)
                         dialog.dismiss()
                     }
+
                     is VolumeDialogVisibilityModel.Invisible -> {
                         // do nothing
                     }
@@ -200,4 +214,29 @@
         }
         animate().setDuration(150).translationY(offsetPx).suspendAnimate()
     }
+
+    private class Accessibility(private val viewModel: VolumeDialogViewModel) :
+        View.AccessibilityDelegate() {
+
+        override fun dispatchPopulateAccessibilityEvent(
+            host: View,
+            event: AccessibilityEvent,
+        ): Boolean {
+            // Activities populate their title here. Follow that example.
+            val title = viewModel.dialogTitle.value
+            if (title.isNotEmpty()) {
+                event.text.add(title)
+            }
+            return true
+        }
+
+        override fun onRequestSendAccessibilityEvent(
+            host: ViewGroup,
+            child: View,
+            event: AccessibilityEvent,
+        ): Boolean {
+            viewModel.resetDialogTimeout()
+            return super.onRequestSendAccessibilityEvent(host, child, event)
+        }
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dialog/ui/viewmodel/VolumeDialogViewModel.kt b/packages/SystemUI/src/com/android/systemui/volume/dialog/ui/viewmodel/VolumeDialogViewModel.kt
index 8bfbc36..2d8674b 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/dialog/ui/viewmodel/VolumeDialogViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/dialog/ui/viewmodel/VolumeDialogViewModel.kt
@@ -27,6 +27,7 @@
 import com.android.systemui.statusbar.policy.DevicePostureController
 import com.android.systemui.statusbar.policy.devicePosture
 import com.android.systemui.statusbar.policy.onConfigChanged
+import com.android.systemui.volume.dialog.dagger.scope.VolumeDialog
 import com.android.systemui.volume.dialog.dagger.scope.VolumeDialogScope
 import com.android.systemui.volume.dialog.domain.interactor.VolumeDialogStateInteractor
 import com.android.systemui.volume.dialog.domain.interactor.VolumeDialogVisibilityInteractor
@@ -36,11 +37,14 @@
 import com.android.systemui.volume.dialog.sliders.domain.interactor.VolumeDialogSlidersInteractor
 import com.android.systemui.volume.dialog.sliders.domain.model.VolumeDialogSliderType
 import javax.inject.Inject
+import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.StateFlow
 import kotlinx.coroutines.flow.combine
-import kotlinx.coroutines.flow.filterNotNull
 import kotlinx.coroutines.flow.map
 import kotlinx.coroutines.flow.onStart
+import kotlinx.coroutines.flow.stateIn
 import kotlinx.coroutines.suspendCancellableCoroutine
 
 /** Provides a state for the Volume Dialog. */
@@ -49,9 +53,10 @@
 @Inject
 constructor(
     private val context: Context,
-    dialogVisibilityInteractor: VolumeDialogVisibilityInteractor,
+    @VolumeDialog coroutineScope: CoroutineScope,
+    private val dialogVisibilityInteractor: VolumeDialogVisibilityInteractor,
     volumeDialogSlidersInteractor: VolumeDialogSlidersInteractor,
-    volumeDialogStateInteractor: VolumeDialogStateInteractor,
+    private val volumeDialogStateInteractor: VolumeDialogStateInteractor,
     devicePostureController: DevicePostureController,
     configurationController: ConfigurationController,
 ) {
@@ -67,16 +72,16 @@
         }
     val dialogVisibilityModel: Flow<VolumeDialogVisibilityModel> =
         dialogVisibilityInteractor.dialogVisibility
-    val dialogTitle: Flow<String> =
+    val dialogTitle: StateFlow<String> =
         combine(
                 volumeDialogStateInteractor.volumeDialogState,
                 volumeDialogSlidersInteractor.sliders.map { it.slider },
             ) { state: VolumeDialogStateModel, sliderType: VolumeDialogSliderType ->
                 state.streamModels[sliderType.audioStream]?.let { model ->
                     context.getString(R.string.volume_dialog_title, model.streamLabel(context))
-                }
+                } ?: ""
             }
-            .filterNotNull()
+            .stateIn(coroutineScope, SharingStarted.Eagerly, "")
 
     private val touchableBoundsViews: MutableCollection<View> = mutableSetOf()
 
@@ -101,4 +106,13 @@
         touchableBoundsViews.addAll(views)
         it.invokeOnCancellation { touchableBoundsViews.removeAll(views.toSet()) }
     }
+
+    fun onHover(isHovering: Boolean) {
+        volumeDialogStateInteractor.setHovering(isHovering)
+        resetDialogTimeout()
+    }
+
+    fun resetDialogTimeout() {
+        dialogVisibilityInteractor.resetDismissTimeout()
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/volume/panel/component/volume/slider/ui/viewmodel/AudioSharingStreamSliderViewModel.kt b/packages/SystemUI/src/com/android/systemui/volume/panel/component/volume/slider/ui/viewmodel/AudioSharingStreamSliderViewModel.kt
index 3efb2b4..3d98eba 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/panel/component/volume/slider/ui/viewmodel/AudioSharingStreamSliderViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/panel/component/volume/slider/ui/viewmodel/AudioSharingStreamSliderViewModel.kt
@@ -116,8 +116,8 @@
         override val isEnabled: Boolean
             get() = true
 
-        override val a11yStep: Int
-            get() = 1
+        override val a11yStep: Float
+            get() = 1f
 
         override val disabledMessage: String?
             get() = null
diff --git a/packages/SystemUI/src/com/android/systemui/volume/panel/component/volume/slider/ui/viewmodel/AudioStreamSliderViewModel.kt b/packages/SystemUI/src/com/android/systemui/volume/panel/component/volume/slider/ui/viewmodel/AudioStreamSliderViewModel.kt
index f9d776b..9d32285 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/panel/component/volume/slider/ui/viewmodel/AudioStreamSliderViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/panel/component/volume/slider/ui/viewmodel/AudioStreamSliderViewModel.kt
@@ -165,7 +165,7 @@
             label = label,
             disabledMessage = disabledMessage,
             isEnabled = isEnabled,
-            a11yStep = volumeRange.step,
+            a11yStep = volumeRange.step.toFloat(),
             a11yClickDescription =
                 if (isAffectedByMute) {
                     context.getString(
@@ -307,7 +307,7 @@
         override val label: String,
         override val disabledMessage: String?,
         override val isEnabled: Boolean,
-        override val a11yStep: Int,
+        override val a11yStep: Float,
         override val a11yClickDescription: String?,
         override val a11yStateDescription: String?,
         override val isMutable: Boolean,
diff --git a/packages/SystemUI/src/com/android/systemui/volume/panel/component/volume/slider/ui/viewmodel/CastVolumeSliderViewModel.kt b/packages/SystemUI/src/com/android/systemui/volume/panel/component/volume/slider/ui/viewmodel/CastVolumeSliderViewModel.kt
index d74a433..a6c8091 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/panel/component/volume/slider/ui/viewmodel/CastVolumeSliderViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/panel/component/volume/slider/ui/viewmodel/CastVolumeSliderViewModel.kt
@@ -86,7 +86,7 @@
             icon = Icon.Resource(R.drawable.ic_cast, null),
             label = context.getString(R.string.media_device_cast),
             isEnabled = true,
-            a11yStep = 1,
+            a11yStep = 1f,
         )
     }
 
@@ -96,7 +96,7 @@
         override val icon: Icon,
         override val label: String,
         override val isEnabled: Boolean,
-        override val a11yStep: Int,
+        override val a11yStep: Float,
     ) : SliderState {
         override val hapticFilter: SliderHapticFeedbackFilter
             get() = SliderHapticFeedbackFilter()
diff --git a/packages/SystemUI/src/com/android/systemui/volume/panel/component/volume/slider/ui/viewmodel/SliderState.kt b/packages/SystemUI/src/com/android/systemui/volume/panel/component/volume/slider/ui/viewmodel/SliderState.kt
index f135371..4bc237b 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/panel/component/volume/slider/ui/viewmodel/SliderState.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/panel/component/volume/slider/ui/viewmodel/SliderState.kt
@@ -36,7 +36,7 @@
      * A11y slider controls works by adjusting one step up or down. The default slider step isn't
      * enough to trigger rounding to the correct value.
      */
-    val a11yStep: Int
+    val a11yStep: Float
     val a11yClickDescription: String?
     val a11yStateDescription: String?
     val disabledMessage: String?
@@ -49,7 +49,7 @@
         override val icon: Icon? = null
         override val label: String = ""
         override val disabledMessage: String? = null
-        override val a11yStep: Int = 0
+        override val a11yStep: Float = 0f
         override val a11yClickDescription: String? = null
         override val a11yStateDescription: String? = null
         override val isEnabled: Boolean = true
diff --git a/packages/SystemUI/src/com/android/systemui/volume/ui/slider/Slider.kt b/packages/SystemUI/src/com/android/systemui/volume/ui/slider/Slider.kt
new file mode 100644
index 0000000..720d550
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/volume/ui/slider/Slider.kt
@@ -0,0 +1,265 @@
+/*
+ * 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.
+ */
+
+@file:OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterial3ExpressiveApi::class)
+
+package com.android.systemui.volume.ui.slider
+
+import androidx.compose.animation.core.Animatable
+import androidx.compose.animation.core.Spring
+import androidx.compose.animation.core.SpringSpec
+import androidx.compose.foundation.gestures.Orientation
+import androidx.compose.foundation.interaction.MutableInteractionSource
+import androidx.compose.material3.ExperimentalMaterial3Api
+import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
+import androidx.compose.material3.Slider
+import androidx.compose.material3.SliderColors
+import androidx.compose.material3.SliderDefaults
+import androidx.compose.material3.SliderState
+import androidx.compose.material3.VerticalSlider
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.LaunchedEffect
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableFloatStateOf
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.rememberCoroutineScope
+import androidx.compose.runtime.setValue
+import androidx.compose.runtime.snapshotFlow
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.semantics.ProgressBarRangeInfo
+import androidx.compose.ui.semantics.SemanticsPropertyReceiver
+import androidx.compose.ui.semantics.clearAndSetSemantics
+import androidx.compose.ui.semantics.contentDescription
+import androidx.compose.ui.semantics.disabled
+import androidx.compose.ui.semantics.progressBarRangeInfo
+import androidx.compose.ui.semantics.setProgress
+import androidx.compose.ui.semantics.stateDescription
+import com.android.systemui.haptics.slider.SliderHapticFeedbackFilter
+import com.android.systemui.haptics.slider.compose.ui.SliderHapticsViewModel
+import com.android.systemui.lifecycle.rememberViewModel
+import com.android.systemui.res.R
+import com.android.systemui.volume.haptics.ui.VolumeHapticsConfigsProvider
+import kotlin.math.round
+import kotlinx.coroutines.Job
+import kotlinx.coroutines.flow.distinctUntilChanged
+import kotlinx.coroutines.flow.filter
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.launch
+
+private val defaultSpring =
+    SpringSpec<Float>(dampingRatio = Spring.DampingRatioNoBouncy, stiffness = Spring.StiffnessHigh)
+private val defaultTrack: @Composable (SliderState) -> Unit =
+    @Composable { SliderDefaults.Track(it) }
+
+@Composable
+fun Slider(
+    value: Float,
+    valueRange: ClosedFloatingPointRange<Float>,
+    onValueChanged: (Float) -> Unit,
+    onValueChangeFinished: ((Float) -> Unit)?,
+    stepDistance: Float,
+    isEnabled: Boolean,
+    accessibilityParams: AccessibilityParams,
+    modifier: Modifier = Modifier,
+    colors: SliderColors = SliderDefaults.colors(),
+    interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
+    haptics: Haptics = Haptics.Disabled,
+    isVertical: Boolean = false,
+    isReverseDirection: Boolean = false,
+    track: (@Composable (SliderState) -> Unit)? = null,
+) {
+    require(stepDistance > 0) { "stepDistance must be positive" }
+    val coroutineScope = rememberCoroutineScope()
+    val snappedValue = snapValue(value, valueRange, stepDistance)
+    val hapticsViewModel = haptics.createViewModel(snappedValue, valueRange, interactionSource)
+
+    val animatable = remember { Animatable(snappedValue) }
+    var animationJob: Job? by remember { mutableStateOf(null) }
+    val sliderState =
+        remember(valueRange) { SliderState(value = snappedValue, valueRange = valueRange) }
+    val valueChange: (Float) -> Unit = { newValue ->
+        hapticsViewModel?.onValueChange(newValue)
+        val snappedNewValue = snapValue(newValue, valueRange, stepDistance)
+        if (animatable.targetValue != snappedNewValue) {
+            onValueChanged(snappedNewValue)
+            animationJob?.cancel()
+            animationJob =
+                coroutineScope.launch {
+                    animatable.animateTo(
+                        targetValue = snappedNewValue,
+                        animationSpec = defaultSpring,
+                    )
+                }
+        }
+    }
+    val semantics =
+        accessibilityParams.createSemantics(
+            animatable.targetValue,
+            valueRange,
+            valueChange,
+            isEnabled,
+            stepDistance,
+        )
+
+    LaunchedEffect(snappedValue) {
+        if (!animatable.isRunning && animatable.targetValue != snappedValue) {
+            animationJob?.cancel()
+            animationJob =
+                coroutineScope.launch {
+                    animatable.animateTo(targetValue = snappedValue, animationSpec = defaultSpring)
+                }
+        }
+    }
+
+    sliderState.onValueChangeFinished = {
+        hapticsViewModel?.onValueChangeEnded()
+        onValueChangeFinished?.invoke(animatable.targetValue)
+    }
+    sliderState.onValueChange = valueChange
+    sliderState.value = animatable.value
+
+    if (isVertical) {
+        VerticalSlider(
+            state = sliderState,
+            enabled = isEnabled,
+            reverseDirection = isReverseDirection,
+            interactionSource = interactionSource,
+            colors = colors,
+            track = track ?: defaultTrack,
+            modifier = modifier.clearAndSetSemantics(semantics),
+        )
+    } else {
+        Slider(
+            state = sliderState,
+            enabled = isEnabled,
+            interactionSource = interactionSource,
+            colors = colors,
+            track = track ?: defaultTrack,
+            modifier = modifier.clearAndSetSemantics(semantics),
+        )
+    }
+}
+
+private fun snapValue(
+    value: Float,
+    valueRange: ClosedFloatingPointRange<Float>,
+    stepDistance: Float,
+): Float {
+    if (stepDistance == 0f) {
+        return value
+    }
+    val coercedValue = value.coerceIn(valueRange)
+    return Math.round(coercedValue / stepDistance) * stepDistance
+}
+
+@Composable
+private fun AccessibilityParams.createSemantics(
+    value: Float,
+    valueRange: ClosedFloatingPointRange<Float>,
+    onValueChanged: (Float) -> Unit,
+    isEnabled: Boolean,
+    stepDistance: Float,
+): SemanticsPropertyReceiver.() -> Unit {
+    val semanticsContentDescription =
+        disabledMessage
+            ?.takeIf { !isEnabled }
+            ?.let { message ->
+                stringResource(R.string.volume_slider_disabled_message_template, label, message)
+            } ?: label
+    return {
+        contentDescription = semanticsContentDescription
+        if (isEnabled) {
+            currentStateDescription?.let { stateDescription = it }
+            progressBarRangeInfo = ProgressBarRangeInfo(value, valueRange)
+        } else {
+            disabled()
+        }
+        setProgress { targetValue ->
+            val targetDirection =
+                when {
+                    targetValue > value -> 1
+                    targetValue < value -> -1
+                    else -> 0
+                }
+
+            val newValue =
+                (value + targetDirection * stepDistance).coerceIn(
+                    valueRange.start,
+                    valueRange.endInclusive,
+                )
+            onValueChanged(newValue)
+            true
+        }
+    }
+}
+
+@Composable
+private fun Haptics.createViewModel(
+    value: Float,
+    valueRange: ClosedFloatingPointRange<Float>,
+    interactionSource: MutableInteractionSource,
+): SliderHapticsViewModel? {
+    return when (this) {
+        is Haptics.Disabled -> null
+        is Haptics.Enabled -> {
+            hapticsViewModelFactory.let {
+                rememberViewModel(traceName = "SliderHapticsViewModel") {
+                        it.create(
+                            interactionSource,
+                            valueRange,
+                            orientation,
+                            VolumeHapticsConfigsProvider.sliderHapticFeedbackConfig(
+                                valueRange,
+                                hapticFilter,
+                            ),
+                            VolumeHapticsConfigsProvider.seekableSliderTrackerConfig,
+                        )
+                    }
+                    .also { hapticsViewModel ->
+                        var lastDiscreteStep by remember { mutableFloatStateOf(value) }
+                        LaunchedEffect(value) {
+                            snapshotFlow { value }
+                                .map { round(it) }
+                                .filter { it != lastDiscreteStep }
+                                .distinctUntilChanged()
+                                .collect { discreteStep ->
+                                    lastDiscreteStep = discreteStep
+                                    hapticsViewModel.onValueChange(discreteStep)
+                                }
+                        }
+                    }
+            }
+        }
+    }
+}
+
+data class AccessibilityParams(
+    val label: String,
+    val currentStateDescription: String? = null,
+    val disabledMessage: String? = null,
+)
+
+sealed interface Haptics {
+    data object Disabled : Haptics
+
+    data class Enabled(
+        val hapticsViewModelFactory: SliderHapticsViewModel.Factory,
+        val hapticFilter: SliderHapticFeedbackFilter,
+        val orientation: Orientation,
+    ) : Haptics
+}
diff --git a/packages/SystemUI/src/com/android/systemui/wallpapers/ui/viewmodel/WallpaperFocalAreaViewModel.kt b/packages/SystemUI/src/com/android/systemui/wallpapers/ui/viewmodel/WallpaperFocalAreaViewModel.kt
index 4cd49d0..1e78b12 100644
--- a/packages/SystemUI/src/com/android/systemui/wallpapers/ui/viewmodel/WallpaperFocalAreaViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/wallpapers/ui/viewmodel/WallpaperFocalAreaViewModel.kt
@@ -26,6 +26,7 @@
 import javax.inject.Inject
 import kotlinx.coroutines.flow.combine
 import kotlinx.coroutines.flow.filter
+import kotlinx.coroutines.flow.filterNotNull
 import kotlinx.coroutines.flow.map
 
 class WallpaperFocalAreaViewModel
@@ -39,25 +40,31 @@
     val wallpaperFocalAreaBounds =
         combine(
                 wallpaperFocalAreaInteractor.wallpaperFocalAreaBounds,
+                keyguardTransitionInteractor.startedKeyguardTransitionStep,
+                // Emit transition state when FINISHED instead of STARTED to avoid race with
+                // wakingup command, causing layout change command not be received.
                 keyguardTransitionInteractor
                     .transition(
                         edge = Edge.create(to = Scenes.Lockscreen),
                         edgeWithoutSceneContainer = Edge.create(to = KeyguardState.LOCKSCREEN),
                     )
-                    .filter { transitionStep ->
-                        // Should not filter by TransitionState.STARTED, it may race with
-                        // wakingup command, causing layout change command not be received.
-                        transitionStep.transitionState == TransitionState.FINISHED
-                    },
-                ::Pair,
+                    .filter { it.transitionState == TransitionState.FINISHED },
+                ::Triple,
             )
-            .map { (bounds, _) -> bounds }
+            .map { (bounds, startedStep, _) ->
+                // Avoid sending wrong bounds when transitioning from LOCKSCREEN to GONE
+                if (
+                    startedStep.to == KeyguardState.LOCKSCREEN &&
+                        startedStep.from != KeyguardState.LOCKSCREEN
+                ) {
+                    bounds
+                } else {
+                    null
+                }
+            }
+            .filterNotNull()
 
     fun setFocalAreaBounds(bounds: RectF) {
         wallpaperFocalAreaInteractor.setFocalAreaBounds(bounds)
     }
-
-    fun setTapPosition(x: Float, y: Float) {
-        wallpaperFocalAreaInteractor.setTapPosition(x, y)
-    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/wmshell/BubblesManager.java b/packages/SystemUI/src/com/android/systemui/wmshell/BubblesManager.java
index b23efce..8a447f7 100644
--- a/packages/SystemUI/src/com/android/systemui/wmshell/BubblesManager.java
+++ b/packages/SystemUI/src/com/android/systemui/wmshell/BubblesManager.java
@@ -70,6 +70,7 @@
 import com.android.systemui.statusbar.notification.collection.notifcollection.CommonNotifCollection;
 import com.android.systemui.statusbar.notification.collection.notifcollection.DismissedByUserStats;
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener;
+import com.android.systemui.statusbar.notification.collection.notifcollection.UpdateSource;
 import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider;
 import com.android.systemui.statusbar.notification.interruption.VisualInterruptionDecisionProvider;
 import com.android.systemui.statusbar.phone.StatusBarWindowCallback;
@@ -444,8 +445,8 @@
             }
 
             @Override
-            public void onEntryUpdated(NotificationEntry entry, boolean fromSystem) {
-                BubblesManager.this.onEntryUpdated(entry, fromSystem);
+            public void onEntryUpdated(NotificationEntry entry, UpdateSource source) {
+                BubblesManager.this.onEntryUpdated(entry, source != UpdateSource.SystemUi);
             }
 
             @Override
diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelTest.kt
index b6c6347..0e68fce 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelTest.kt
@@ -28,6 +28,7 @@
 import android.graphics.Rect
 import android.graphics.drawable.BitmapDrawable
 import android.hardware.biometrics.BiometricFingerprintConstants
+import android.hardware.biometrics.BiometricPrompt
 import android.hardware.biometrics.PromptContentItemBulletedText
 import android.hardware.biometrics.PromptContentView
 import android.hardware.biometrics.PromptContentViewWithMoreOptionsButton
@@ -42,6 +43,7 @@
 import android.view.HapticFeedbackConstants
 import android.view.MotionEvent
 import android.view.Surface
+import android.view.accessibility.accessibilityManager
 import androidx.test.filters.SmallTest
 import com.android.app.activityTaskManager
 import com.android.keyguard.AuthInteractionProperties
@@ -200,6 +202,8 @@
         overrideResource(R.dimen.biometric_dialog_face_icon_size, mockFaceIconSize)
 
         kosmos.applicationContext = context
+        whenever(kosmos.accessibilityManager.getRecommendedTimeoutMillis(anyInt(), anyInt()))
+            .thenReturn(BiometricPrompt.HIDE_DIALOG_DELAY)
 
         if (testCase.fingerprint?.isAnyUdfpsType == true) {
             kosmos.authController = authController
diff --git a/packages/SystemUI/tests/src/com/android/systemui/bluetooth/qsdialog/BluetoothDetailsContentViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/bluetooth/qsdialog/BluetoothDetailsContentViewModelTest.kt
index f04fc86..dbbdcf7 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/bluetooth/qsdialog/BluetoothDetailsContentViewModelTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/bluetooth/qsdialog/BluetoothDetailsContentViewModelTest.kt
@@ -28,9 +28,11 @@
 import com.android.settingslib.bluetooth.CachedBluetoothDevice
 import com.android.settingslib.bluetooth.LocalBluetoothManager
 import com.android.settingslib.flags.Flags
+import com.android.systemui.Flags.FLAG_QS_TILE_DETAILED_VIEW
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.animation.DialogTransitionAnimator
 import com.android.systemui.animation.Expandable
+import com.android.systemui.flags.EnableSceneContainer
 import com.android.systemui.kosmos.testDispatcher
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.plugins.ActivityStarter
@@ -194,9 +196,9 @@
     }
 
     @Test
-    fun testShowDetailsContent_noAnimation() {
+    fun testShowDialog_noAnimation() {
         testScope.runTest {
-            bluetoothDetailsContentViewModel.showDetailsContent(null, null)
+            bluetoothDetailsContentViewModel.showDialog(null)
             runCurrent()
 
             verify(mDialogTransitionAnimator, never()).show(any(), any(), any())
@@ -204,9 +206,9 @@
     }
 
     @Test
-    fun testShowDetailsContent_animated() {
+    fun testShowDialog_animated() {
         testScope.runTest {
-            bluetoothDetailsContentViewModel.showDetailsContent(expandable, null)
+            bluetoothDetailsContentViewModel.showDialog(expandable)
             runCurrent()
 
             verify(mDialogTransitionAnimator).show(any(), any(), anyBoolean())
@@ -214,9 +216,11 @@
     }
 
     @Test
-    fun testShowDetailsContent_animated_inDetailsView() {
+    @EnableSceneContainer
+    @EnableFlags(FLAG_QS_TILE_DETAILED_VIEW)
+    fun testBindDetailsView() {
         testScope.runTest {
-            bluetoothDetailsContentViewModel.showDetailsContent(expandable, mockView)
+            bluetoothDetailsContentViewModel.bindDetailsView(mockView)
             runCurrent()
 
             verify(bluetoothDetailsContentManager).bind(mockView)
@@ -225,10 +229,10 @@
     }
 
     @Test
-    fun testShowDetailsContent_animated_callInBackgroundThread() {
+    fun testShowDialog_animated_callInBackgroundThread() {
         testScope.runTest {
             backgroundExecutor.execute {
-                bluetoothDetailsContentViewModel.showDetailsContent(expandable, null)
+                bluetoothDetailsContentViewModel.showDialog(expandable)
                 runCurrent()
 
                 verify(mDialogTransitionAnimator).show(any(), any(), anyBoolean())
@@ -237,10 +241,12 @@
     }
 
     @Test
-    fun testShowDetailsContent_animated_callInBackgroundThread_inDetailsView() {
+    @EnableSceneContainer
+    @EnableFlags(FLAG_QS_TILE_DETAILED_VIEW)
+    fun testBindDetailsView_callInBackgroundThread() {
         testScope.runTest {
             backgroundExecutor.execute {
-                bluetoothDetailsContentViewModel.showDetailsContent(expandable, mockView)
+                bluetoothDetailsContentViewModel.bindDetailsView(mockView)
                 runCurrent()
 
                 verify(bluetoothDetailsContentManager).bind(mockView)
@@ -250,9 +256,21 @@
     }
 
     @Test
-    fun testShowDetailsContent_fetchDeviceItem() {
+    fun testShowDialog_fetchDeviceItem() {
         testScope.runTest {
-            bluetoothDetailsContentViewModel.showDetailsContent(null, null)
+            bluetoothDetailsContentViewModel.showDialog(null)
+            runCurrent()
+
+            verify(deviceItemInteractor).deviceItemUpdate
+        }
+    }
+
+    @Test
+    @EnableSceneContainer
+    @EnableFlags(FLAG_QS_TILE_DETAILED_VIEW)
+    fun testBindDetailsView_fetchDeviceItem() {
+        testScope.runTest {
+            bluetoothDetailsContentViewModel.bindDetailsView(mockView)
             runCurrent()
 
             verify(deviceItemInteractor).deviceItemUpdate
@@ -263,7 +281,24 @@
     fun testStartSettingsActivity_activityLaunched_dialogDismissed() {
         testScope.runTest {
             whenever(deviceItem.cachedBluetoothDevice).thenReturn(cachedBluetoothDevice)
-            bluetoothDetailsContentViewModel.showDetailsContent(null, null)
+            bluetoothDetailsContentViewModel.showDialog(null)
+            runCurrent()
+
+            val clickedView = View(context)
+            bluetoothDetailsContentViewModel.onPairNewDeviceClicked(clickedView)
+
+            verify(uiEventLogger).log(BluetoothTileDialogUiEvent.PAIR_NEW_DEVICE_CLICKED)
+            verify(activityStarter).postStartActivityDismissingKeyguard(any(), anyInt(), nullable())
+        }
+    }
+
+    @Test
+    @EnableSceneContainer
+    @EnableFlags(FLAG_QS_TILE_DETAILED_VIEW)
+    fun testStartSettingsActivity_activityLaunched_detailsViewDismissed() {
+        testScope.runTest {
+            whenever(deviceItem.cachedBluetoothDevice).thenReturn(cachedBluetoothDevice)
+            bluetoothDetailsContentViewModel.bindDetailsView(mockView)
             runCurrent()
 
             val clickedView = View(context)
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/controls/domain/pipeline/MediaDataFilterImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/controls/domain/pipeline/MediaDataFilterImplTest.kt
index b731c4f..0a8325d 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/controls/domain/pipeline/MediaDataFilterImplTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/controls/domain/pipeline/MediaDataFilterImplTest.kt
@@ -38,11 +38,7 @@
 import com.android.systemui.media.controls.shared.model.SmartspaceMediaData
 import com.android.systemui.media.controls.shared.model.SmartspaceMediaLoadingModel
 import com.android.systemui.media.controls.ui.controller.MediaPlayerData
-import com.android.systemui.media.controls.util.MediaFlags
-import com.android.systemui.media.controls.util.MediaSmartspaceLogger
 import com.android.systemui.media.controls.util.MediaUiEventLogger
-import com.android.systemui.media.controls.util.mediaSmartspaceLogger
-import com.android.systemui.media.controls.util.mockMediaSmartspaceLogger
 import com.android.systemui.settings.UserTracker
 import com.android.systemui.statusbar.NotificationLockscreenUserManager
 import com.android.systemui.testKosmos
@@ -95,7 +91,6 @@
     @Mock private lateinit var smartspaceData: SmartspaceMediaData
     @Mock private lateinit var smartspaceMediaRecommendationItem: SmartspaceAction
     @Mock private lateinit var logger: MediaUiEventLogger
-    @Mock private lateinit var mediaFlags: MediaFlags
     @Mock private lateinit var cardAction: SmartspaceAction
 
     private lateinit var mediaDataFilter: MediaDataFilterImpl
@@ -104,12 +99,7 @@
     private lateinit var dataGuest: MediaData
     private lateinit var dataPrivateProfile: MediaData
     private val clock = FakeSystemClock()
-    private val smartspaceLogger = kosmos.mockMediaSmartspaceLogger
-    private val repository: MediaFilterRepository =
-        with(kosmos) {
-            mediaSmartspaceLogger = mockMediaSmartspaceLogger
-            mediaFilterRepository
-        }
+    private val repository: MediaFilterRepository = with(kosmos) { mediaFilterRepository }
     private val mediaLogger = kosmos.mockMediaLogger
 
     @Before
@@ -126,7 +116,6 @@
                 executor,
                 clock,
                 logger,
-                mediaFlags,
                 repository,
                 mediaLogger,
             )
@@ -541,22 +530,8 @@
     @Test
     fun onSwipeToDismiss_setsTimedOut() {
         mediaDataFilter.onMediaDataLoaded(KEY, null, dataMain)
-        mediaDataFilter.onSwipeToDismiss(1)
+        mediaDataFilter.onSwipeToDismiss()
 
-        verify(smartspaceLogger, never())
-            .logSmartspaceCardUIEvent(
-                eq(MediaSmartspaceLogger.SMARTSPACE_CARD_DISMISS_EVENT),
-                anyInt(),
-                anyInt(),
-                anyInt(),
-                anyInt(),
-                anyBoolean(),
-                anyBoolean(),
-                anyInt(),
-                anyInt(),
-                anyInt(),
-                eq(true),
-            )
         verify(mediaDataProcessor).setInactive(eq(KEY), eq(true), eq(true))
     }
 
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/controls/domain/pipeline/MediaDataProcessorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/controls/domain/pipeline/MediaDataProcessorTest.kt
index f9e8cbfc..93c27f0 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/controls/domain/pipeline/MediaDataProcessorTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/controls/domain/pipeline/MediaDataProcessorTest.kt
@@ -243,7 +243,6 @@
                 mediaDataCombineLatest = mediaDataCombineLatest,
                 mediaDataFilter = mediaDataFilter,
                 mediaFilterRepository = mediaFilterRepository,
-                mediaFlags = kosmos.mediaFlags,
             )
         mediaCarouselInteractor.start()
         verify(mediaTimeoutListener).stateCallback = capture(stateCallbackCaptor)
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 58bae30..2001a3e 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
@@ -56,7 +56,6 @@
 import com.android.systemui.media.controls.ui.view.MediaHostState
 import com.android.systemui.media.controls.ui.view.MediaScrollView
 import com.android.systemui.media.controls.ui.viewmodel.mediaCarouselViewModel
-import com.android.systemui.media.controls.util.MediaFlags
 import com.android.systemui.media.controls.util.MediaUiEventLogger
 import com.android.systemui.plugins.ActivityStarter
 import com.android.systemui.plugins.FalsingManager
@@ -136,7 +135,6 @@
     @Mock lateinit var mediaViewController: MediaViewController
     @Mock lateinit var mediaCarousel: MediaScrollView
     @Mock lateinit var pageIndicator: PageIndicator
-    @Mock lateinit var mediaFlags: MediaFlags
     @Mock lateinit var keyguardUpdateMonitor: KeyguardUpdateMonitor
     @Mock lateinit var globalSettings: GlobalSettings
     private val transitionRepository = kosmos.fakeKeyguardTransitionRepository
@@ -196,7 +194,6 @@
                 dumpManager = dumpManager,
                 logger = logger,
                 debugLogger = debugLogger,
-                mediaFlags = mediaFlags,
                 keyguardUpdateMonitor = keyguardUpdateMonitor,
                 keyguardTransitionInteractor = kosmos.keyguardTransitionInteractor,
                 globalSettings = globalSettings,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/viewmodel/SeekBarViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/viewmodel/SeekBarViewModelTest.kt
index e035a02..f394c80 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/viewmodel/SeekBarViewModelTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/viewmodel/SeekBarViewModelTest.kt
@@ -16,6 +16,9 @@
 
 package com.android.systemui.media.controls.ui.viewmodel
 
+import android.icu.text.MeasureFormat
+import android.icu.util.Measure
+import android.icu.util.MeasureUnit
 import android.media.MediaMetadata
 import android.media.session.MediaController
 import android.media.session.MediaSession
@@ -34,6 +37,7 @@
 import com.android.systemui.util.concurrency.FakeRepeatableExecutor
 import com.android.systemui.util.time.FakeSystemClock
 import com.google.common.truth.Truth.assertThat
+import java.util.Locale
 import org.junit.After
 import org.junit.Before
 import org.junit.Ignore
@@ -155,6 +159,7 @@
         whenever(mockController.getPlaybackState()).thenReturn(state)
         // WHEN the controller is updated
         viewModel.updateController(mockController)
+        fakeExecutor.runNextReady()
         // THEN the duration is extracted
         assertThat(viewModel.progress.value!!.duration).isEqualTo(duration)
         assertThat(viewModel.progress.value!!.enabled).isTrue()
@@ -173,6 +178,7 @@
         whenever(mockController.getMetadata()).thenReturn(metadata)
         // WHEN the controller is updated
         viewModel.updateController(mockController)
+        fakeExecutor.runNextReady()
         // THEN the duration is extracted
         assertThat(viewModel.progress.value!!.duration).isEqualTo(duration)
         assertThat(viewModel.progress.value!!.enabled).isFalse()
@@ -197,6 +203,7 @@
         whenever(mockController.getPlaybackState()).thenReturn(state)
         // WHEN the controller is updated
         viewModel.updateController(mockController)
+        fakeExecutor.runNextReady()
         // THEN the seek bar is disabled
         assertThat(viewModel.progress.value!!.enabled).isFalse()
     }
@@ -220,6 +227,7 @@
         whenever(mockController.getPlaybackState()).thenReturn(state)
         // WHEN the controller is updated
         viewModel.updateController(mockController)
+        fakeExecutor.runNextReady()
         // THEN the seek bar is disabled
         assertThat(viewModel.progress.value!!.enabled).isFalse()
     }
@@ -238,6 +246,7 @@
         whenever(mockController.getPlaybackState()).thenReturn(state)
         // WHEN the controller is updated
         viewModel.updateController(mockController)
+        fakeExecutor.runNextReady()
         // THEN the seek bar is disabled
         assertThat(viewModel.progress.value!!.enabled).isFalse()
     }
@@ -254,6 +263,7 @@
         whenever(mockController.getPlaybackState()).thenReturn(state)
         // WHEN the controller is updated
         viewModel.updateController(mockController)
+        fakeExecutor.runNextReady()
         // THEN elapsed time is captured
         assertThat(viewModel.progress.value!!.elapsedTime).isEqualTo(200.toInt())
     }
@@ -536,6 +546,7 @@
         whenever(mockController.getPlaybackState()).thenReturn(state)
         // WHEN the controller is updated
         viewModel.updateController(mockController)
+        fakeExecutor.runNextReady()
         // THEN a task is queued
         assertThat(fakeExecutor.numPending()).isEqualTo(1)
     }
@@ -551,6 +562,7 @@
         whenever(mockController.getPlaybackState()).thenReturn(state)
         // WHEN updated
         viewModel.updateController(mockController)
+        fakeExecutor.runNextReady()
         // THEN an update task is not queued
         assertThat(fakeExecutor.numPending()).isEqualTo(0)
     }
@@ -572,6 +584,7 @@
         whenever(mockController.getPlaybackState()).thenReturn(state)
         // WHEN updated
         viewModel.updateController(mockController)
+        fakeExecutor.runNextReady()
         // THEN an update task is queued
         assertThat(fakeExecutor.numPending()).isEqualTo(1)
     }
@@ -593,6 +606,7 @@
         whenever(mockController.getPlaybackState()).thenReturn(state)
         // WHEN updated
         viewModel.updateController(mockController)
+        fakeExecutor.runNextReady()
         // THEN an update task is not queued
         assertThat(fakeExecutor.numPending()).isEqualTo(0)
     }
@@ -719,6 +733,7 @@
             }
         whenever(mockController.getPlaybackState()).thenReturn(state)
         viewModel.updateController(mockController)
+        fakeExecutor.runNextReady()
         // WHEN start listening
         viewModel.listening = true
         // THEN an update task is queued
@@ -820,6 +835,7 @@
         whenever(mockController.playbackState).thenReturn(state)
         val captor = ArgumentCaptor.forClass(MediaController.Callback::class.java)
         viewModel.updateController(mockController)
+        fakeExecutor.runNextReady()
         verify(mockController).registerCallback(captor.capture())
         assertThat(viewModel.progress.value!!.elapsedTime).isEqualTo(firstPosition.toInt())
 
@@ -831,8 +847,48 @@
                 build()
             }
         captor.value.onPlaybackStateChanged(secondState)
+        fakeExecutor.runNextReady()
 
         // THEN then elapsed time should be updated
         assertThat(viewModel.progress.value!!.elapsedTime).isEqualTo(secondPosition.toInt())
     }
+
+    @Test
+    fun contentDescriptionUpdated() {
+        // When there is a duration and position
+        val duration = (1.5 * 60 * 60 * 1000).toLong()
+        val metadata =
+            MediaMetadata.Builder().run {
+                putLong(MediaMetadata.METADATA_KEY_DURATION, duration)
+                build()
+            }
+        whenever(mockController.getMetadata()).thenReturn(metadata)
+
+        val elapsedTime = 3000L
+        val state =
+            PlaybackState.Builder().run {
+                setState(PlaybackState.STATE_PLAYING, elapsedTime, 1f)
+                build()
+            }
+        whenever(mockController.getPlaybackState()).thenReturn(state)
+
+        viewModel.updateController(mockController)
+        fakeExecutor.runNextReady()
+
+        // Then the content description is set
+        val result = viewModel.progress.value!!
+
+        val expectedProgress =
+            MeasureFormat.getInstance(Locale.getDefault(), MeasureFormat.FormatWidth.WIDE)
+                .formatMeasures(Measure(3, MeasureUnit.SECOND))
+        val expectedDuration =
+            MeasureFormat.getInstance(Locale.getDefault(), MeasureFormat.FormatWidth.WIDE)
+                .formatMeasures(
+                    Measure(1, MeasureUnit.HOUR),
+                    Measure(30, MeasureUnit.MINUTE),
+                    Measure(0, MeasureUnit.SECOND),
+                )
+        assertThat(result.durationDescription).isEqualTo(expectedDuration)
+        assertThat(result.elapsedTimeDescription).isEqualTo(expectedProgress)
+    }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaSwitchingControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaSwitchingControllerTest.java
index 88c2697..5c26dac 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaSwitchingControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaSwitchingControllerTest.java
@@ -1573,6 +1573,25 @@
         assertThat(items.get(1).isFirstDeviceInGroup()).isFalse();
     }
 
+    @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_DEVICE_GROUPING)
+    @Test
+    public void deviceListUpdateWithDifferentDevices_firstSelectedDeviceIsFirstDeviceInGroup() {
+        when(mLocalMediaManager.isPreferenceRouteListingExist()).thenReturn(true);
+        doReturn(mMediaDevices)
+                .when(mLocalMediaManager)
+                .getSelectedMediaDevice();
+        mMediaSwitchingController.start(mCb);
+        reset(mCb);
+        mMediaSwitchingController.getMediaItemList().clear();
+        mMediaSwitchingController.onDeviceListUpdate(mMediaDevices);
+        mMediaDevices.clear();
+        mMediaDevices.add(mMediaDevice2);
+        mMediaSwitchingController.onDeviceListUpdate(mMediaDevices);
+
+        List<MediaItem> items = mMediaSwitchingController.getMediaItemList();
+        assertThat(items.get(0).isFirstDeviceInGroup()).isTrue();
+    }
+
     private int getNumberOfConnectDeviceButtons() {
         int numberOfConnectDeviceButtons = 0;
         for (MediaItem item : mMediaSwitchingController.getMediaItemList()) {
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 a7464e6..6f71df5 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
@@ -40,7 +40,6 @@
 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
 import org.junit.Before
@@ -97,7 +96,9 @@
                 qsLogger,
                 bluetoothController,
                 featureFlags,
-            ) { bluetoothDetailsContentViewModel }
+            ) {
+                bluetoothDetailsContentViewModel
+            }
 
         tile.initialize()
         testableLooper.processAllMessages()
@@ -206,7 +207,6 @@
     @Test
     @DisableFlags(QsDetailedView.FLAG_NAME)
     fun handleClick_hasSatelliteFeatureButNoQsTileDialogAndClickIsProcessing_doNothing() {
-        mSetFlagsRule.enableFlags(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
         `when`(featureFlags.isEnabled(com.android.systemui.flags.Flags.BLUETOOTH_QS_TILE_DIALOG))
             .thenReturn(false)
         `when`(clickJob.isCompleted).thenReturn(false)
@@ -218,34 +218,8 @@
     }
 
     @Test
-    @DisableFlags(QsDetailedView.FLAG_NAME)
-    fun handleClick_noSatelliteFeatureAndNoQsTileDialog_directSetBtEnable() {
-        mSetFlagsRule.disableFlags(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
-        `when`(featureFlags.isEnabled(com.android.systemui.flags.Flags.BLUETOOTH_QS_TILE_DIALOG))
-            .thenReturn(false)
-
-        tile.handleClick(null)
-
-        verify(bluetoothController).setBluetoothEnabled(any())
-    }
-
-    @Test
-    @DisableFlags(QsDetailedView.FLAG_NAME)
-    fun handleClick_noSatelliteFeatureButHasQsTileDialog_showDialog() {
-        mSetFlagsRule.disableFlags(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
-        `when`(featureFlags.isEnabled(com.android.systemui.flags.Flags.BLUETOOTH_QS_TILE_DIALOG))
-            .thenReturn(true)
-
-        tile.handleClick(null)
-
-        verify(bluetoothDetailsContentViewModel)
-            .showDetailsContent(/* expandable= */ null, /* view= */ null)
-    }
-
-    @Test
     @EnableFlags(QsDetailedView.FLAG_NAME)
     fun handleClick_hasSatelliteFeatureAndQsDetailedViewIsEnabledAndClickIsProcessing_doNothing() {
-        mSetFlagsRule.enableFlags(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
         `when`(featureFlags.isEnabled(com.android.systemui.flags.Flags.BLUETOOTH_QS_TILE_DIALOG))
             .thenReturn(false)
         `when`(clickJob.isCompleted).thenReturn(false)
@@ -259,19 +233,6 @@
     }
 
     @Test
-    @EnableFlags(QsDetailedView.FLAG_NAME)
-    fun handleClick_noSatelliteFeatureAndQsDetailedViewIsEnabled_returnDetailsViewModel() {
-        mSetFlagsRule.disableFlags(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
-        `when`(featureFlags.isEnabled(com.android.systemui.flags.Flags.BLUETOOTH_QS_TILE_DIALOG))
-            .thenReturn(false)
-        var currentModel: TileDetailsViewModel? = null
-
-        tile.getDetailsViewModel { model: TileDetailsViewModel? -> currentModel = model }
-
-        assertTrue(currentModel != null)
-    }
-
-    @Test
     fun testMetadataListener_whenDisconnected_isUnregistered() {
         val state = QSTile.BooleanState()
         val cachedDevice = mock<CachedBluetoothDevice>()
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegateLegacyTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegateLegacyTest.java
index 3d0a8f6..ebbe023 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegateLegacyTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegateLegacyTest.java
@@ -878,4 +878,18 @@
         mMobileDataLayout.setVisibility(mobileDataVisible ? View.VISIBLE : View.GONE);
         mConnectedWifi.setVisibility(connectedWifiVisible ? View.VISIBLE : View.GONE);
     }
+
+    @Test
+    public void updateDialog_wifiIsDisabled_turnOffProgressBar() {
+        when(mInternetDetailsContentController.isWifiEnabled()).thenReturn(false);
+        mInternetDialogDelegateLegacy.mIsProgressBarVisible = true;
+
+        mInternetDialogDelegateLegacy.updateDialog(false);
+
+        mBgExecutor.runAllReady();
+        mInternetDialogDelegateLegacy.mDataInternetContent.observe(
+                mInternetDialogDelegateLegacy.mLifecycleOwner, i -> {
+                    assertThat(mInternetDialogDelegateLegacy.mIsProgressBarVisible).isFalse();
+                });
+    }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/screenshot/ActionIntentCreatorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/screenshot/ActionIntentCreatorTest.kt
index 67eaf7b..6005725 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/screenshot/ActionIntentCreatorTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/screenshot/ActionIntentCreatorTest.kt
@@ -19,29 +19,39 @@
 import android.content.ComponentName
 import android.content.Context
 import android.content.Intent
+import android.content.pm.ActivityInfo
+import android.content.pm.PackageInfo
+import android.content.pm.PackageManager
 import android.net.Uri
+import android.platform.test.annotations.DisableFlags
+import android.platform.test.annotations.EnableFlags
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.ext.truth.content.IntentSubject.assertThat as assertThatIntent
 import androidx.test.filters.SmallTest
-import com.android.systemui.res.R
 import com.android.systemui.SysuiTestCase
+import com.android.systemui.res.R
+import com.android.systemui.shared.Flags
 import com.android.systemui.util.mockito.eq
 import com.android.systemui.util.mockito.mock
 import com.google.common.truth.Truth.assertThat
 import com.google.common.truth.Truth.assertWithMessage
 import org.junit.Test
 import org.junit.runner.RunWith
+import org.mockito.ArgumentMatchers.anyInt
 import org.mockito.Mockito.`when` as whenever
 
 @SmallTest
 @RunWith(AndroidJUnit4::class)
 class ActionIntentCreatorTest : SysuiTestCase() {
+    val context = mock<Context>()
+    val packageManager = mock<PackageManager>()
+    private val actionIntentCreator = ActionIntentCreator(context, packageManager)
 
     @Test
     fun testCreateShare() {
         val uri = Uri.parse("content://fake")
 
-        val output = ActionIntentCreator.createShare(uri)
+        val output = actionIntentCreator.createShare(uri)
 
         assertThatIntent(output).hasAction(Intent.ACTION_CHOOSER)
         assertThatIntent(output)
@@ -66,7 +76,7 @@
     fun testCreateShare_embeddedUserIdRemoved() {
         val uri = Uri.parse("content://555@fake")
 
-        val output = ActionIntentCreator.createShare(uri)
+        val output = actionIntentCreator.createShare(uri)
 
         assertThatIntent(output.getParcelableExtra(Intent.EXTRA_INTENT, Intent::class.java))
             .hasData(Uri.parse("content://fake"))
@@ -77,7 +87,7 @@
         val uri = Uri.parse("content://fake")
         val subject = "Example subject"
 
-        val output = ActionIntentCreator.createShareWithSubject(uri, subject)
+        val output = actionIntentCreator.createShareWithSubject(uri, subject)
 
         assertThatIntent(output).hasAction(Intent.ACTION_CHOOSER)
         assertThatIntent(output)
@@ -101,7 +111,7 @@
         val uri = Uri.parse("content://fake")
         val extraText = "Extra text"
 
-        val output = ActionIntentCreator.createShareWithText(uri, extraText)
+        val output = actionIntentCreator.createShareWithText(uri, extraText)
 
         assertThatIntent(output).hasAction(Intent.ACTION_CHOOSER)
         assertThatIntent(output)
@@ -121,13 +131,13 @@
     }
 
     @Test
-    fun testCreateEdit() {
+    @DisableFlags(Flags.FLAG_USE_PREFERRED_IMAGE_EDITOR)
+    fun testCreateEditLegacy() {
         val uri = Uri.parse("content://fake")
-        val context = mock<Context>()
 
         whenever(context.getString(eq(R.string.config_screenshotEditor))).thenReturn("")
 
-        val output = ActionIntentCreator.createEdit(uri, context)
+        val output = actionIntentCreator.createEdit(uri)
 
         assertThatIntent(output).hasAction(Intent.ACTION_EDIT)
         assertThatIntent(output).hasData(uri)
@@ -144,26 +154,126 @@
     }
 
     @Test
-    fun testCreateEdit_embeddedUserIdRemoved() {
+    @DisableFlags(Flags.FLAG_USE_PREFERRED_IMAGE_EDITOR)
+    fun testCreateEditLegacy_embeddedUserIdRemoved() {
         val uri = Uri.parse("content://555@fake")
-        val context = mock<Context>()
         whenever(context.getString(eq(R.string.config_screenshotEditor))).thenReturn("")
 
-        val output = ActionIntentCreator.createEdit(uri, context)
+        val output = actionIntentCreator.createEdit(uri)
 
         assertThatIntent(output).hasData(Uri.parse("content://fake"))
     }
 
     @Test
-    fun testCreateEdit_withEditor() {
+    @DisableFlags(Flags.FLAG_USE_PREFERRED_IMAGE_EDITOR)
+    fun testCreateEditLegacy_withEditor() {
         val uri = Uri.parse("content://fake")
-        val context = mock<Context>()
         val component = ComponentName("com.android.foo", "com.android.foo.Something")
 
         whenever(context.getString(eq(R.string.config_screenshotEditor)))
             .thenReturn(component.flattenToString())
 
-        val output = ActionIntentCreator.createEdit(uri, context)
+        val output = actionIntentCreator.createEdit(uri)
+
+        assertThatIntent(output).hasComponent(component)
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_USE_PREFERRED_IMAGE_EDITOR)
+    fun testCreateEdit() {
+        val uri = Uri.parse("content://fake")
+
+        whenever(context.getString(eq(R.string.config_screenshotEditor))).thenReturn("")
+
+        val output = actionIntentCreator.createEdit(uri)
+
+        assertThatIntent(output).hasAction(Intent.ACTION_EDIT)
+        assertThatIntent(output).hasData(uri)
+        assertThatIntent(output).hasType("image/png")
+        assertWithMessage("getComponent()").that(output.component).isNull()
+        assertThat(output.getStringExtra("edit_source")).isEqualTo("screenshot")
+        assertThatIntent(output)
+            .hasFlags(
+                Intent.FLAG_GRANT_READ_URI_PERMISSION or
+                    Intent.FLAG_GRANT_WRITE_URI_PERMISSION or
+                    Intent.FLAG_ACTIVITY_NEW_TASK or
+                    Intent.FLAG_ACTIVITY_CLEAR_TASK
+            )
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_USE_PREFERRED_IMAGE_EDITOR)
+    fun testCreateEdit_embeddedUserIdRemoved() {
+        val uri = Uri.parse("content://555@fake")
+        whenever(context.getString(eq(R.string.config_screenshotEditor))).thenReturn("")
+
+        val output = actionIntentCreator.createEdit(uri)
+
+        assertThatIntent(output).hasData(Uri.parse("content://fake"))
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_USE_PREFERRED_IMAGE_EDITOR)
+    fun testCreateEdit_withPreferredEditorEnabled() {
+        val uri = Uri.parse("content://fake")
+        val fallbackComponent = ComponentName("com.android.foo", "com.android.foo.Something")
+        val preferredComponent = ComponentName("com.android.bar", "com.android.bar.Something")
+
+        val packageInfo =
+            PackageInfo().apply {
+                activities =
+                    arrayOf(
+                        ActivityInfo().apply {
+                            packageName = preferredComponent.packageName
+                            name = preferredComponent.className
+                        }
+                    )
+            }
+        whenever(packageManager.getPackageInfo(eq(preferredComponent.packageName), anyInt()))
+            .thenReturn(packageInfo)
+        whenever(context.getString(eq(R.string.config_screenshotEditor)))
+            .thenReturn(fallbackComponent.flattenToString())
+        whenever(context.getString(eq(R.string.config_preferredScreenshotEditor)))
+            .thenReturn(preferredComponent.flattenToString())
+
+        val output = actionIntentCreator.createEdit(uri)
+
+        assertThatIntent(output).hasComponent(preferredComponent)
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_USE_PREFERRED_IMAGE_EDITOR)
+    fun testCreateEdit_withPreferredEditorDisabled() {
+        val uri = Uri.parse("content://fake")
+        val fallbackComponent = ComponentName("com.android.foo", "com.android.foo.Something")
+        val preferredComponent = ComponentName("com.android.bar", "com.android.bar.Something")
+
+        val packageInfo =
+            PackageInfo().apply {
+                activities = arrayOf() // no activities
+            }
+        whenever(packageManager.getPackageInfo(eq(preferredComponent.packageName), anyInt()))
+            .thenReturn(packageInfo)
+        whenever(context.getString(eq(R.string.config_screenshotEditor)))
+            .thenReturn(fallbackComponent.flattenToString())
+        whenever(context.getString(eq(R.string.config_preferredScreenshotEditor)))
+            .thenReturn(preferredComponent.flattenToString())
+
+        val output = actionIntentCreator.createEdit(uri)
+
+        assertThatIntent(output).hasComponent(fallbackComponent)
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_USE_PREFERRED_IMAGE_EDITOR)
+    fun testCreateEdit_withFallbackEditor() {
+        val uri = Uri.parse("content://fake")
+        val component = ComponentName("com.android.foo", "com.android.foo.Something")
+
+        whenever(context.getString(eq(R.string.config_screenshotEditor)))
+            .thenReturn(component.flattenToString())
+
+        val output = actionIntentCreator.createEdit(uri)
 
         assertThatIntent(output).hasComponent(component)
     }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt
index 856ece7..e42bf19 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt
@@ -55,7 +55,7 @@
 import com.android.systemui.qs.flags.QSComposeFragment
 import com.android.systemui.res.R
 import com.android.systemui.settings.brightness.data.repository.BrightnessMirrorShowingRepository
-import com.android.systemui.settings.brightness.domain.interactor.BrightnessMirrorShowingInteractor
+import com.android.systemui.settings.brightness.domain.interactor.BrightnessMirrorShowingInteractorPassThrough
 import com.android.systemui.shade.NotificationShadeWindowView.InteractionEventHandler
 import com.android.systemui.shade.data.repository.ShadeAnimationRepository
 import com.android.systemui.shade.data.repository.ShadeRepositoryImpl
@@ -168,7 +168,7 @@
 
     private val brightnessMirrorShowingRepository = BrightnessMirrorShowingRepository()
     private val brightnessMirrorShowingInteractor =
-        BrightnessMirrorShowingInteractor(brightnessMirrorShowingRepository)
+        BrightnessMirrorShowingInteractorPassThrough(brightnessMirrorShowingRepository)
 
     private lateinit var falsingCollector: FalsingCollectorFake
     private lateinit var fakeClock: FakeSystemClock
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ChannelEditorDialogControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ChannelEditorDialogControllerTest.kt
index c5b19ab..0b2fea5 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ChannelEditorDialogControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ChannelEditorDialogControllerTest.kt
@@ -31,13 +31,13 @@
 import android.view.View
 
 import com.android.systemui.SysuiTestCase
+import com.android.systemui.shade.domain.interactor.FakeShadeDialogContextInteractor
 
 import org.junit.Assert.assertEquals
 import org.junit.Before
 import org.junit.runner.RunWith
 import org.junit.Test
 import org.mockito.Answers
-import org.mockito.ArgumentMatchers.anyBoolean
 import org.mockito.ArgumentMatchers.eq
 import org.mockito.Mock
 import org.mockito.Mockito
@@ -66,11 +66,14 @@
     @Mock
     private lateinit var dialog: ChannelEditorDialog
 
+    private val shadeDialogContextInteractor = FakeShadeDialogContextInteractor(mContext)
+
     @Before
     fun setup() {
         MockitoAnnotations.initMocks(this)
         `when`(dialogBuilder.build()).thenReturn(dialog)
-        controller = ChannelEditorDialogController(mContext, mockNoMan, dialogBuilder)
+        controller =
+            ChannelEditorDialogController(shadeDialogContextInteractor, mockNoMan, dialogBuilder)
 
         channel1 = NotificationChannel(TEST_CHANNEL, TEST_CHANNEL_NAME, IMPORTANCE_DEFAULT)
         channel2 = NotificationChannel(TEST_CHANNEL2, TEST_CHANNEL_NAME2, IMPORTANCE_NONE)
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowTest.java
index 24d8d1c..acfa94a 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowTest.java
@@ -611,7 +611,8 @@
     public void testCanDismiss_immediately() throws Exception {
         ExpandableNotificationRow row =
                 mNotificationTestHelper.createRow(mNotificationTestHelper.createNotification());
-        when(mNotificationTestHelper.getDismissibilityProvider().isDismissable(row.getEntry()))
+        when(mNotificationTestHelper.getDismissibilityProvider().isDismissable(
+                row.getEntry().getKey()))
                 .thenReturn(true);
         row.performDismiss(false);
         verify(mNotificationTestHelper.getOnUserInteractionCallback())
@@ -623,7 +624,8 @@
     public void testCanDismiss() throws Exception {
         ExpandableNotificationRow row =
                 mNotificationTestHelper.createRow(mNotificationTestHelper.createNotification());
-        when(mNotificationTestHelper.getDismissibilityProvider().isDismissable(row.getEntry()))
+        when(mNotificationTestHelper.getDismissibilityProvider().isDismissable(
+                row.getEntry().getKey()))
                 .thenReturn(true);
         row.performDismiss(false);
         TestableLooper.get(this).processAllMessages();
@@ -635,7 +637,8 @@
     public void testCannotDismiss() throws Exception {
         ExpandableNotificationRow row =
                 mNotificationTestHelper.createRow(mNotificationTestHelper.createNotification());
-        when(mNotificationTestHelper.getDismissibilityProvider().isDismissable(row.getEntry()))
+        when(mNotificationTestHelper.getDismissibilityProvider().isDismissable(
+                row.getEntry().getKey()))
                 .thenReturn(false);
         row.performDismiss(false);
         verify(mNotificationTestHelper.getOnUserInteractionCallback(), never())
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
index 955de273..2a58890 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
@@ -82,13 +82,16 @@
 import com.android.systemui.statusbar.NotificationShelf;
 import com.android.systemui.statusbar.StatusBarState;
 import com.android.systemui.statusbar.SysuiStatusBarStateController;
+import com.android.systemui.statusbar.notification.collection.EntryAdapter;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
 import com.android.systemui.statusbar.notification.collection.render.GroupExpansionManager;
 import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager;
+import com.android.systemui.statusbar.notification.data.repository.HeadsUpRepository;
 import com.android.systemui.statusbar.notification.emptyshade.shared.ModesEmptyShadeFix;
 import com.android.systemui.statusbar.notification.emptyshade.ui.view.EmptyShadeView;
 import com.android.systemui.statusbar.notification.footer.ui.view.FooterView;
 import com.android.systemui.statusbar.notification.headsup.AvalancheController;
+import com.android.systemui.statusbar.notification.headsup.HeadsUpManager;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
 import com.android.systemui.statusbar.notification.row.ExpandableView;
 import com.android.systemui.statusbar.notification.shared.NotificationThrottleHun;
@@ -157,6 +160,7 @@
     @Mock private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
     @Mock private LargeScreenShadeInterpolator mLargeScreenShadeInterpolator;
     @Mock private AvalancheController mAvalancheController;
+    @Mock private HeadsUpRepository mHeadsUpRepository;
 
     public NotificationStackScrollLayoutTest(FlagsParameterization flags) {
         super();
@@ -176,6 +180,7 @@
                 mBypassController,
                 mStatusBarKeyguardViewManager,
                 mLargeScreenShadeInterpolator,
+                mHeadsUpRepository,
                 mAvalancheController
         ));
 
@@ -728,6 +733,9 @@
         NotificationEntry entry = mock(NotificationEntry.class);
         when(row.getEntry()).thenReturn(entry);
         when(entry.isAmbient()).thenReturn(false);
+        EntryAdapter entryAdapter = mock(EntryAdapter.class);
+        when(entryAdapter.isAmbient()).thenReturn(false);
+        when(row.getEntryAdapter()).thenReturn(entryAdapter);
         mStackScroller.addContainerView(row);
 
         // speed bump = 1
@@ -744,6 +752,9 @@
         NotificationEntry entry = mock(NotificationEntry.class);
         when(row.getEntry()).thenReturn(entry);
         when(entry.isAmbient()).thenReturn(true);
+        EntryAdapter entryAdapter = mock(EntryAdapter.class);
+        when(entryAdapter.isAmbient()).thenReturn(true);
+        when(row.getEntryAdapter()).thenReturn(entryAdapter);
         mStackScroller.addContainerView(row);
 
         // speed bump is set to 0
@@ -760,6 +771,9 @@
         NotificationEntry entry = mock(NotificationEntry.class);
         when(row.getEntry()).thenReturn(entry);
         when(entry.isAmbient()).thenReturn(false);
+        EntryAdapter entryAdapter = mock(EntryAdapter.class);
+        when(entryAdapter.isAmbient()).thenReturn(false);
+        when(row.getEntryAdapter()).thenReturn(entryAdapter);
         mStackScroller.addContainerView(row);
 
         // speed bump is 1
@@ -1373,6 +1387,9 @@
         when(row.canViewBeCleared()).thenReturn(true);
         when(row.getEntry()).thenReturn(entry);
         when(entry.isClearable()).thenReturn(true);
+        EntryAdapter entryAdapter = mock(EntryAdapter.class);
+        when(entryAdapter.isClearable()).thenReturn(true);
+        when(row.getEntryAdapter()).thenReturn(entryAdapter);
 
         return row;
     }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java
index 7d3aa47..89b7bee 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java
@@ -144,7 +144,7 @@
 import com.android.systemui.scene.shared.flag.SceneContainerFlag;
 import com.android.systemui.settings.UserTracker;
 import com.android.systemui.settings.brightness.BrightnessSliderController;
-import com.android.systemui.settings.brightness.domain.interactor.BrightnessMirrorShowingInteractor;
+import com.android.systemui.settings.brightness.data.repository.BrightnessMirrorShowingRepository;
 import com.android.systemui.shade.CameraLauncher;
 import com.android.systemui.shade.GlanceableHubContainerController;
 import com.android.systemui.shade.NotificationPanelView;
@@ -388,8 +388,8 @@
     private final ScreenLifecycle mScreenLifecycle = new ScreenLifecycle(mDumpManager);
     private MessageRouterImpl mMessageRouter = new MessageRouterImpl(mMainExecutor);
 
-    private final BrightnessMirrorShowingInteractor mBrightnessMirrorShowingInteractor =
-            mKosmos.getBrightnessMirrorShowingInteractor();
+    private final BrightnessMirrorShowingRepository mBrightnessMirrorShowingRepository =
+            mKosmos.getBrightnessMirrorShowingRepository();
 
     private final StatusBarModePerDisplayRepository mStatusBarModePerDisplayRepository =
             mKosmos.getStatusBarModePerDisplayRepository();
@@ -639,7 +639,7 @@
                 mAlternateBouncerInteractor,
                 mUserTracker,
                 mActivityStarter,
-                mBrightnessMirrorShowingInteractor,
+                mBrightnessMirrorShowingRepository,
                 mGlanceableHubContainerController,
                 mEmergencyGestureIntentFactory,
                 mViewCaptureAwareWindowManager,
@@ -1146,11 +1146,11 @@
         final ScrimStartable scrimStartable = mKosmos.getScrimStartable();
         scrimStartable.start();
 
-        mBrightnessMirrorShowingInteractor.setMirrorShowing(true);
+        mBrightnessMirrorShowingRepository.setMirrorShowing(true);
         mTestScope.getTestScheduler().runCurrent();
         verify(mScrimController, atLeastOnce()).transitionTo(ScrimState.BRIGHTNESS_MIRROR);
 
-        mBrightnessMirrorShowingInteractor.setMirrorShowing(false);
+        mBrightnessMirrorShowingRepository.setMirrorShowing(false);
         mTestScope.getTestScheduler().runCurrent();
         ArgumentCaptor<ScrimState> captor = ArgumentCaptor.forClass(ScrimState.class);
         // The default is to call the one with the callback argument
@@ -1162,12 +1162,12 @@
     @DisableSceneContainer
     @EnableFlags(QSComposeFragment.FLAG_NAME)
     public void brightnesShowingChanged_qsUiRefactorFlagEnabled_ScrimControllerNotified() {
-        mBrightnessMirrorShowingInteractor.setMirrorShowing(true);
+        mBrightnessMirrorShowingRepository.setMirrorShowing(true);
         mTestScope.getTestScheduler().runCurrent();
         verify(mScrimController, atLeastOnce()).legacyTransitionTo(ScrimState.BRIGHTNESS_MIRROR);
         clearInvocations(mScrimController);
 
-        mBrightnessMirrorShowingInteractor.setMirrorShowing(false);
+        mBrightnessMirrorShowingRepository.setMirrorShowing(false);
         mTestScope.getTestScheduler().runCurrent();
         ArgumentCaptor<ScrimState> captor = ArgumentCaptor.forClass(ScrimState.class);
         // The default is to call the one with the callback argument
@@ -1179,7 +1179,7 @@
     @DisableSceneContainer
     @DisableFlags(QSComposeFragment.FLAG_NAME)
     public void brightnesShowingChanged_flagsDisabled_ScrimControllerNotified() {
-        mBrightnessMirrorShowingInteractor.setMirrorShowing(true);
+        mBrightnessMirrorShowingRepository.setMirrorShowing(true);
         mTestScope.getTestScheduler().runCurrent();
         verify(mScrimController, never()).legacyTransitionTo(ScrimState.BRIGHTNESS_MIRROR);
         verify(mScrimController, never())
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionParameterizedTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionParameterizedTest.kt
similarity index 100%
rename from packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionParameterizedTest.kt
rename to packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionParameterizedTest.kt
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt
similarity index 96%
rename from packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt
rename to packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt
index 6066a38..9e914ad 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt
@@ -65,10 +65,10 @@
             mobileConnectionsRepository.fake.run {
                 setMobileConnectionRepositoryMap(
                     mapOf(
-                        SUB_1_ID to CONNECTION_1,
-                        SUB_2_ID to CONNECTION_2,
-                        SUB_3_ID to CONNECTION_3,
-                        SUB_4_ID to CONNECTION_4,
+                        SUB_1_ID to FakeMobileConnectionRepository(SUB_1_ID, mock()),
+                        SUB_2_ID to FakeMobileConnectionRepository(SUB_2_ID, mock()),
+                        SUB_3_ID to FakeMobileConnectionRepository(SUB_3_ID, mock()),
+                        SUB_4_ID to FakeMobileConnectionRepository(SUB_4_ID, mock()),
                     )
                 )
                 setActiveMobileDataSubscriptionId(SUB_1_ID)
@@ -496,7 +496,10 @@
     @Test
     fun activeDataConnection_turnedOn() =
         kosmos.runTest {
-            CONNECTION_1.setDataEnabled(true)
+            (fakeMobileConnectionsRepository.getRepoForSubId(SUB_1_ID)
+                    as FakeMobileConnectionRepository)
+                .dataEnabled
+                .value = true
 
             val latest by collectLastValue(underTest.activeDataConnectionHasDataEnabled)
 
@@ -506,10 +509,17 @@
     @Test
     fun activeDataConnection_turnedOff() =
         kosmos.runTest {
-            CONNECTION_1.setDataEnabled(true)
+            (fakeMobileConnectionsRepository.getRepoForSubId(SUB_1_ID)
+                    as FakeMobileConnectionRepository)
+                .dataEnabled
+                .value = true
+
             val latest by collectLastValue(underTest.activeDataConnectionHasDataEnabled)
 
-            CONNECTION_1.setDataEnabled(false)
+            (fakeMobileConnectionsRepository.getRepoForSubId(SUB_1_ID)
+                    as FakeMobileConnectionRepository)
+                .dataEnabled
+                .value = false
 
             assertThat(latest).isFalse()
         }
@@ -921,20 +931,18 @@
     @EnableFlags(NewStatusBarIcons.FLAG_NAME, StatusBarRootModernization.FLAG_NAME)
     fun isStackable_checksForTerrestrialConnections() =
         kosmos.runTest {
-            val exclusivelyNonTerrestrialSub =
-                SubscriptionModel(
-                    isExclusivelyNonTerrestrial = true,
-                    subscriptionId = 5,
-                    carrierName = "Carrier 5",
-                    profileClass = PROFILE_CLASS_UNSET,
-                )
-
             val latest by collectLastValue(underTest.isStackable)
 
             connectionsRepository.setSubscriptions(listOf(SUB_1, SUB_2))
+            setNumberOfLevelsForSubId(SUB_1_ID, 5)
+            setNumberOfLevelsForSubId(SUB_2_ID, 5)
             assertThat(latest).isTrue()
 
-            connectionsRepository.setSubscriptions(listOf(SUB_1, exclusivelyNonTerrestrialSub))
+            (fakeMobileConnectionsRepository.getRepoForSubId(SUB_1_ID)
+                    as FakeMobileConnectionRepository)
+                .isNonTerrestrial
+                .value = true
+
             assertThat(latest).isFalse()
         }
 
@@ -1006,7 +1014,6 @@
                 carrierName = "Carrier $SUB_1_ID",
                 profileClass = PROFILE_CLASS_UNSET,
             )
-        private val CONNECTION_1 = FakeMobileConnectionRepository(SUB_1_ID, mock())
 
         private const val SUB_2_ID = 2
         private val SUB_2 =
@@ -1015,7 +1022,6 @@
                 carrierName = "Carrier $SUB_2_ID",
                 profileClass = PROFILE_CLASS_UNSET,
             )
-        private val CONNECTION_2 = FakeMobileConnectionRepository(SUB_2_ID, mock())
 
         private const val SUB_3_ID = 3
         private val SUB_3_OPP =
@@ -1026,7 +1032,6 @@
                 carrierName = "Carrier $SUB_3_ID",
                 profileClass = PROFILE_CLASS_UNSET,
             )
-        private val CONNECTION_3 = FakeMobileConnectionRepository(SUB_3_ID, mock())
 
         private const val SUB_4_ID = 4
         private val SUB_4_OPP =
@@ -1037,6 +1042,5 @@
                 carrierName = "Carrier $SUB_4_ID",
                 profileClass = PROFILE_CLASS_UNSET,
             )
-        private val CONNECTION_4 = FakeMobileConnectionRepository(SUB_4_ID, mock())
     }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/view/ModernStatusBarMobileViewTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/view/ModernStatusBarMobileViewTest.kt
index ce99e59..cbe986b 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/view/ModernStatusBarMobileViewTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/view/ModernStatusBarMobileViewTest.kt
@@ -26,8 +26,6 @@
 import android.widget.ImageView
 import androidx.test.filters.SmallTest
 import com.android.systemui.SysuiTestCase
-import com.android.systemui.flags.FakeFeatureFlagsClassic
-import com.android.systemui.flags.Flags
 import com.android.systemui.log.table.logcatTableLogBuffer
 import com.android.systemui.res.R
 import com.android.systemui.statusbar.StatusBarIconView
@@ -62,7 +60,6 @@
     private lateinit var testableLooper: TestableLooper
     private val testDispatcher = UnconfinedTestDispatcher()
     private val testScope = TestScope(testDispatcher)
-    private val flags = FakeFeatureFlagsClassic().also { it.set(Flags.NEW_NETWORK_SLICE_UI, false) }
 
     @Mock private lateinit var viewLogger: MobileViewLogger
     @Mock private lateinit var constants: ConnectivityConstants
@@ -102,12 +99,7 @@
     @Test
     fun setVisibleState_icon_iconShownDotHidden() {
         val view =
-            ModernStatusBarMobileView.constructAndBind(
-                context,
-                viewLogger,
-                SLOT_NAME,
-                viewModel,
-            )
+            ModernStatusBarMobileView.constructAndBind(context, viewLogger, SLOT_NAME, viewModel)
 
         view.setVisibleState(StatusBarIconView.STATE_ICON, /* animate= */ false)
 
@@ -123,12 +115,7 @@
     @Test
     fun setVisibleState_dot_iconHiddenDotShown() {
         val view =
-            ModernStatusBarMobileView.constructAndBind(
-                context,
-                viewLogger,
-                SLOT_NAME,
-                viewModel,
-            )
+            ModernStatusBarMobileView.constructAndBind(context, viewLogger, SLOT_NAME, viewModel)
         view.setVisibleState(StatusBarIconView.STATE_DOT, /* animate= */ false)
 
         ViewUtils.attachView(view)
@@ -143,12 +130,7 @@
     @Test
     fun setVisibleState_hidden_iconAndDotHidden() {
         val view =
-            ModernStatusBarMobileView.constructAndBind(
-                context,
-                viewLogger,
-                SLOT_NAME,
-                viewModel,
-            )
+            ModernStatusBarMobileView.constructAndBind(context, viewLogger, SLOT_NAME, viewModel)
         view.setVisibleState(StatusBarIconView.STATE_HIDDEN, /* animate= */ false)
 
         ViewUtils.attachView(view)
@@ -166,12 +148,7 @@
         createViewModel()
 
         val view =
-            ModernStatusBarMobileView.constructAndBind(
-                context,
-                viewLogger,
-                SLOT_NAME,
-                viewModel,
-            )
+            ModernStatusBarMobileView.constructAndBind(context, viewLogger, SLOT_NAME, viewModel)
         ViewUtils.attachView(view)
         testableLooper.processAllMessages()
 
@@ -186,12 +163,7 @@
         createViewModel()
 
         val view =
-            ModernStatusBarMobileView.constructAndBind(
-                context,
-                viewLogger,
-                SLOT_NAME,
-                viewModel,
-            )
+            ModernStatusBarMobileView.constructAndBind(context, viewLogger, SLOT_NAME, viewModel)
         ViewUtils.attachView(view)
         testableLooper.processAllMessages()
 
@@ -205,12 +177,7 @@
         airplaneModeRepository.setIsAirplaneMode(false)
 
         val view =
-            ModernStatusBarMobileView.constructAndBind(
-                context,
-                viewLogger,
-                SLOT_NAME,
-                viewModel,
-            )
+            ModernStatusBarMobileView.constructAndBind(context, viewLogger, SLOT_NAME, viewModel)
         ViewUtils.attachView(view)
         testableLooper.processAllMessages()
 
@@ -224,12 +191,7 @@
         airplaneModeRepository.setIsAirplaneMode(true)
 
         val view =
-            ModernStatusBarMobileView.constructAndBind(
-                context,
-                viewLogger,
-                SLOT_NAME,
-                viewModel,
-            )
+            ModernStatusBarMobileView.constructAndBind(context, viewLogger, SLOT_NAME, viewModel)
         ViewUtils.attachView(view)
         testableLooper.processAllMessages()
 
@@ -241,12 +203,7 @@
     @Test
     fun onDarkChanged_iconHasNewColor() {
         val view =
-            ModernStatusBarMobileView.constructAndBind(
-                context,
-                viewLogger,
-                SLOT_NAME,
-                viewModel,
-            )
+            ModernStatusBarMobileView.constructAndBind(context, viewLogger, SLOT_NAME, viewModel)
         ViewUtils.attachView(view)
         testableLooper.processAllMessages()
 
@@ -263,12 +220,7 @@
     @Test
     fun setStaticDrawableColor_iconHasNewColor() {
         val view =
-            ModernStatusBarMobileView.constructAndBind(
-                context,
-                viewLogger,
-                SLOT_NAME,
-                viewModel,
-            )
+            ModernStatusBarMobileView.constructAndBind(context, viewLogger, SLOT_NAME, viewModel)
         ViewUtils.attachView(view)
         testableLooper.processAllMessages()
 
@@ -285,17 +237,11 @@
     @Test
     fun colorChange_layersUpdateWithContrast() {
         // Allow the slice, and set it to visible. This cause us to use special color logic
-        flags.set(Flags.NEW_NETWORK_SLICE_UI, true)
         interactor.showSliceAttribution.value = true
         createViewModel()
 
         val view =
-            ModernStatusBarMobileView.constructAndBind(
-                context,
-                viewLogger,
-                SLOT_NAME,
-                viewModel,
-            )
+            ModernStatusBarMobileView.constructAndBind(context, viewLogger, SLOT_NAME, viewModel)
         ViewUtils.attachView(view)
         testableLooper.processAllMessages()
 
@@ -340,7 +286,6 @@
                 interactor,
                 airplaneModeInteractor,
                 constants,
-                flags,
                 testScope.backgroundScope,
             )
         viewModel = QsMobileIconViewModel(viewModelCommon)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt
similarity index 98%
rename from packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt
rename to packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt
index 1c530f1..6ae6fe6 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt
@@ -31,10 +31,11 @@
 import com.android.systemui.coroutines.collectLastValue
 import com.android.systemui.flags.FakeFeatureFlagsClassic
 import com.android.systemui.flags.Flags
-import com.android.systemui.flags.Flags.NEW_NETWORK_SLICE_UI
 import com.android.systemui.log.table.logcatTableLogBuffer
 import com.android.systemui.res.R
 import com.android.systemui.statusbar.connectivity.MobileIconCarrierIdOverridesFake
+import com.android.systemui.statusbar.core.NewStatusBarIcons
+import com.android.systemui.statusbar.core.StatusBarRootModernization
 import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository
 import com.android.systemui.statusbar.pipeline.airplane.domain.interactor.AirplaneModeInteractor
 import com.android.systemui.statusbar.pipeline.mobile.data.model.DataConnectionState
@@ -92,7 +93,6 @@
 
     private val flags =
         FakeFeatureFlagsClassic().also {
-            it.set(Flags.NEW_NETWORK_SLICE_UI, false)
             it.set(Flags.FILTER_PROVISIONING_NETWORK_SUBSCRIPTIONS, true)
         }
     private val testDispatcher = UnconfinedTestDispatcher()
@@ -428,6 +428,7 @@
                         assertWithMessage("Level $i is expected to be 'no signal'")
                             .that((latest as MobileContentDescription.Cellular).levelDescriptionRes)
                             .isEqualTo(NO_SIGNAL)
+
                     else ->
                         assertWithMessage("Level $i is expected not to be null")
                             .that(latest)
@@ -452,6 +453,7 @@
                         assertWithMessage("Level $i is expected to be 'no signal'")
                             .that((latest as MobileContentDescription.Cellular).levelDescriptionRes)
                             .isEqualTo(NO_SIGNAL)
+
                     else ->
                         assertWithMessage("Level $i is not expected to be null")
                             .that(latest)
@@ -832,22 +834,8 @@
         }
 
     @Test
-    fun netTypeBackground_flagOff_isNull() =
+    fun netTypeBackground_nullWhenNoPrioritizedCapabilities() =
         testScope.runTest {
-            flags.set(NEW_NETWORK_SLICE_UI, false)
-            createAndSetViewModel()
-
-            val latest by collectLastValue(underTest.networkTypeBackground)
-
-            repository.hasPrioritizedNetworkCapabilities.value = true
-
-            assertThat(latest).isNull()
-        }
-
-    @Test
-    fun netTypeBackground_flagOn_nullWhenNoPrioritizedCapabilities() =
-        testScope.runTest {
-            flags.set(NEW_NETWORK_SLICE_UI, true)
             createAndSetViewModel()
 
             val latest by collectLastValue(underTest.networkTypeBackground)
@@ -858,9 +846,23 @@
         }
 
     @Test
-    fun netTypeBackground_flagOn_notNullWhenPrioritizedCapabilities() =
+    @EnableFlags(NewStatusBarIcons.FLAG_NAME, StatusBarRootModernization.FLAG_NAME)
+    fun netTypeBackground_notNullWhenPrioritizedCapabilities_newIcons() =
         testScope.runTest {
-            flags.set(NEW_NETWORK_SLICE_UI, true)
+            createAndSetViewModel()
+
+            val latest by collectLastValue(underTest.networkTypeBackground)
+
+            repository.hasPrioritizedNetworkCapabilities.value = true
+
+            assertThat(latest)
+                .isEqualTo(Icon.Resource(R.drawable.mobile_network_type_background_updated, null))
+        }
+
+    @Test
+    @DisableFlags(NewStatusBarIcons.FLAG_NAME, StatusBarRootModernization.FLAG_NAME)
+    fun netTypeBackground_notNullWhenPrioritizedCapabilities_oldIcons() =
+        testScope.runTest {
             createAndSetViewModel()
 
             val latest by collectLastValue(underTest.networkTypeBackground)
@@ -1057,7 +1059,6 @@
                 interactor,
                 airplaneModeInteractor,
                 constants,
-                flags,
                 testScope.backgroundScope,
             )
     }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/stylus/StylusManagerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/stylus/StylusManagerTest.kt
index 516541d..242865b 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/stylus/StylusManagerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/stylus/StylusManagerTest.kt
@@ -28,6 +28,7 @@
 import com.android.dx.mockito.inline.extended.ExtendedMockito.never
 import com.android.dx.mockito.inline.extended.ExtendedMockito.times
 import com.android.dx.mockito.inline.extended.ExtendedMockito.verify
+import com.android.dx.mockito.inline.extended.MockedVoidMethod
 import com.android.dx.mockito.inline.extended.StaticMockitoSession
 import com.android.internal.logging.InstanceId
 import com.android.internal.logging.UiEventLogger
@@ -245,7 +246,7 @@
     @Test
     fun onInputDeviceAdded_btStylus_firstUsed_setsFlag() {
         stylusManager.onInputDeviceAdded(BT_STYLUS_DEVICE_ID)
-        verify({ InputSettings.setStylusEverUsed(mContext, true) }, times(1))
+        verify(MockedVoidMethod { InputSettings.setStylusEverUsed(mContext, true) }, times(1))
     }
 
     @Test
@@ -511,7 +512,7 @@
 
         stylusManager.onBatteryStateChanged(STYLUS_DEVICE_ID, 1, batteryState)
 
-        verify({ InputSettings.setStylusEverUsed(mContext, true) }, times(1))
+        verify(MockedVoidMethod { InputSettings.setStylusEverUsed(mContext, true) }, times(1))
     }
 
     @Test
@@ -612,7 +613,7 @@
 
         stylusManager.onBatteryStateChanged(STYLUS_DEVICE_ID, 1, batteryState)
 
-        verify({ InputSettings.setStylusEverUsed(mContext, true) }, never())
+        verify(MockedVoidMethod { InputSettings.setStylusEverUsed(mContext, true) }, never())
     }
 
     @Test
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 68d84ec..8281132 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java
@@ -135,11 +135,14 @@
 import com.android.systemui.statusbar.RankingBuilder;
 import com.android.systemui.statusbar.SysuiStatusBarStateController;
 import com.android.systemui.statusbar.notification.NotifPipelineFlags;
+import com.android.systemui.statusbar.notification.collection.GroupEntry;
+import com.android.systemui.statusbar.notification.collection.GroupEntryBuilder;
 import com.android.systemui.statusbar.notification.collection.NotifPipeline;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
 import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
 import com.android.systemui.statusbar.notification.collection.notifcollection.CommonNotifCollection;
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener;
+import com.android.systemui.statusbar.notification.collection.notifcollection.UpdateSource;
 import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider;
 import com.android.systemui.statusbar.notification.headsup.HeadsUpManager;
 import com.android.systemui.statusbar.notification.interruption.AvalancheProvider;
@@ -150,6 +153,7 @@
 import com.android.systemui.statusbar.notification.interruption.VisualInterruptionDecisionProviderTestUtil;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
 import com.android.systemui.statusbar.notification.row.NotificationTestHelper;
+import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 import com.android.systemui.statusbar.phone.DozeParameters;
 import com.android.systemui.statusbar.phone.KeyguardBypassController;
 import com.android.systemui.statusbar.policy.BatteryController;
@@ -214,6 +218,9 @@
 import org.mockito.MockitoAnnotations;
 import org.mockito.stubbing.Answer;
 
+import platform.test.runner.parameterized.ParameterizedAndroidJunit4;
+import platform.test.runner.parameterized.Parameters;
+
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -222,9 +229,6 @@
 import java.util.Optional;
 import java.util.concurrent.Executor;
 
-import platform.test.runner.parameterized.ParameterizedAndroidJunit4;
-import platform.test.runner.parameterized.Parameters;
-
 @SmallTest
 @RunWith(ParameterizedAndroidJunit4.class)
 @TestableLooper.RunWithLooper(setAsMainLooper = true)
@@ -890,7 +894,7 @@
         assertFalse(mBubbleData.getBubbleInStackWithKey(mRow.getKey()).showDot());
 
         // Send update
-        mEntryListener.onEntryUpdated(mRow, /* fromSystem= */ true);
+        mEntryListener.onEntryUpdated(mRow, /* source= */ UpdateSource.App);
 
         // Nothing should have changed
         // Notif is suppressed after expansion
@@ -1058,7 +1062,8 @@
     @Test
     public void testAddNotif_notBubble() {
         mEntryListener.onEntryAdded(mNonBubbleNotifRow.getEntry());
-        mEntryListener.onEntryUpdated(mNonBubbleNotifRow.getEntry(), /* fromSystem= */ true);
+        mEntryListener.onEntryUpdated(mNonBubbleNotifRow.getEntry(),
+                /* source= */ UpdateSource.App);
 
         assertThat(mBubbleController.hasBubbles()).isFalse();
     }
@@ -1096,7 +1101,7 @@
         NotificationListenerService.Ranking ranking = new RankingBuilder(
                 mRow.getRanking()).setCanBubble(false).build();
         mRow.setRanking(ranking);
-        mEntryListener.onEntryUpdated(mRow, /* fromSystem= */ true);
+        mEntryListener.onEntryUpdated(mRow, /* source= */ UpdateSource.App);
 
         assertFalse(mBubbleController.hasBubbles());
         verify(mDeleteIntent, never()).send();
@@ -1227,8 +1232,36 @@
     }
 
     @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
     public void testBubbleSummaryDismissal_suppressesSummaryAndBubbleFromShade() throws Exception {
         // GIVEN a group summary with a bubble child
+        NotificationEntry groupedBubble = mNotificationTestHelper.createBubbleEntryInGroup();
+        GroupEntry groupSummary = mNotificationTestHelper.createGroupEntry(
+                0, List.of(groupedBubble));
+        mEntryListener.onEntryAdded(groupedBubble);
+        when(mCommonNotifCollection.getEntry(groupedBubble.getKey()))
+                .thenReturn(groupedBubble);
+        assertTrue(mBubbleData.hasBubbleInStackWithKey(groupedBubble.getKey()));
+
+        // WHEN the summary is dismissed
+        mBubblesManager.handleDismissalInterception(groupSummary.getSummary());
+
+        // THEN the summary and bubbled child are suppressed from the shade
+        assertTrue(mBubbleController.isBubbleNotificationSuppressedFromShade(
+                groupedBubble.getKey(),
+                groupedBubble.getSbn().getGroupKey()));
+        assertTrue(mBubbleController.getImplCachedState().isBubbleNotificationSuppressedFromShade(
+                groupedBubble.getKey(),
+                groupedBubble.getSbn().getGroupKey()));
+        assertTrue(mBubbleData.isSummarySuppressed(
+                groupSummary.getSummary().getSbn().getGroupKey()));
+    }
+
+    @Test
+    @DisableFlags(NotificationBundleUi.FLAG_NAME)
+    public void testBubbleSummaryDismissal_suppressesSummaryAndBubbleFromShade_rows()
+            throws Exception {
+        // GIVEN a group summary with a bubble child
         ExpandableNotificationRow groupSummary = mNotificationTestHelper.createGroup(0);
         ExpandableNotificationRow groupedBubble = mNotificationTestHelper.createBubbleInGroup();
         mEntryListener.onEntryAdded(groupedBubble.getEntry());
@@ -1251,8 +1284,33 @@
     }
 
     @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
     public void testAppRemovesSummary_removesAllBubbleChildren() throws Exception {
         // GIVEN a group summary with a bubble child
+        NotificationEntry groupedBubble = mNotificationTestHelper.createBubbleEntryInGroup();
+        GroupEntry groupSummary = mNotificationTestHelper.createGroupEntry(
+                0, List.of(groupedBubble));
+        mEntryListener.onEntryAdded(groupedBubble);
+        when(mCommonNotifCollection.getEntry(groupedBubble.getKey()))
+                .thenReturn(groupedBubble);
+        assertTrue(mBubbleData.hasBubbleInStackWithKey(groupedBubble.getKey()));
+
+        // GIVEN the summary is dismissed
+        mBubblesManager.handleDismissalInterception(groupSummary.getSummary());
+
+        // WHEN the summary is cancelled by the app
+        mEntryListener.onEntryRemoved(groupSummary.getSummary(), REASON_APP_CANCEL);
+
+        // THEN the summary and its children are removed from bubble data
+        assertFalse(mBubbleData.hasBubbleInStackWithKey(groupedBubble.getKey()));
+        assertFalse(mBubbleData.isSummarySuppressed(
+                groupSummary.getSummary().getSbn().getGroupKey()));
+    }
+
+    @Test
+    @DisableFlags(NotificationBundleUi.FLAG_NAME)
+    public void testAppRemovesSummary_removesAllBubbleChildren_rows() throws Exception {
+        // GIVEN a group summary with a bubble child
         ExpandableNotificationRow groupSummary = mNotificationTestHelper.createGroup(0);
         ExpandableNotificationRow groupedBubble = mNotificationTestHelper.createBubbleInGroup();
         mEntryListener.onEntryAdded(groupedBubble.getEntry());
@@ -1274,9 +1332,52 @@
     }
 
     @Test
+    @EnableFlags(NotificationBundleUi.FLAG_NAME)
     public void testSummaryDismissalMarksBubblesHiddenFromShadeAndDismissesNonBubbledChildren()
             throws Exception {
         // GIVEN a group summary with two (non-bubble) children and one bubble child
+        NotificationEntry groupedBubble = mNotificationTestHelper.createBubbleEntryInGroup();
+        GroupEntry groupSummary = mNotificationTestHelper.createGroupEntry(
+                2, List.of(groupedBubble));
+        mEntryListener.onEntryAdded(groupedBubble);
+        when(mCommonNotifCollection.getEntry(groupedBubble.getKey()))
+                .thenReturn(groupedBubble);
+
+        // WHEN the summary is dismissed
+        mBubblesManager.handleDismissalInterception(groupSummary.getSummary());
+
+        // THEN only the NON-bubble children are dismissed
+        List<NotificationEntry> children = groupSummary.getChildren();
+        verify(mNotifCallback, times(1)).removeNotification(
+                eq(children.get(0)), any(), eq(REASON_GROUP_SUMMARY_CANCELED));
+        verify(mNotifCallback, times(1)).removeNotification(
+                eq(children.get(1)), any(), eq(REASON_GROUP_SUMMARY_CANCELED));
+        verify(mNotifCallback, never()).removeNotification(eq(groupedBubble),
+                any(), anyInt());
+
+        // THEN the bubble child still exists as a bubble and is suppressed from the shade
+        assertTrue(mBubbleData.hasBubbleInStackWithKey(groupedBubble.getKey()));
+        assertTrue(mBubbleController.isBubbleNotificationSuppressedFromShade(
+                groupedBubble.getKey(),
+                groupedBubble.getSbn().getGroupKey()));
+        assertTrue(mBubbleController.getImplCachedState().isBubbleNotificationSuppressedFromShade(
+                groupedBubble.getKey(),
+                groupedBubble.getSbn().getGroupKey()));
+
+        // THEN the summary is also suppressed from the shade
+        assertTrue(mBubbleController.isBubbleNotificationSuppressedFromShade(
+                groupSummary.getSummary().getKey(),
+                groupSummary.getSummary().getSbn().getGroupKey()));
+        assertTrue(mBubbleController.getImplCachedState().isBubbleNotificationSuppressedFromShade(
+                groupSummary.getSummary().getKey(),
+                groupSummary.getSummary().getSbn().getGroupKey()));
+    }
+
+    @Test
+    @DisableFlags(NotificationBundleUi.FLAG_NAME)
+    public void testSummaryDismissalMarksBubblesHiddenFromShadeAndDismissesNonBubbledChildren_row()
+            throws Exception {
+        // GIVEN a group summary with two (non-bubble) children and one bubble child
         ExpandableNotificationRow groupSummary = mNotificationTestHelper.createGroup(2);
         ExpandableNotificationRow groupedBubble = mNotificationTestHelper.createBubbleInGroup();
         mEntryListener.onEntryAdded(groupedBubble.getEntry());
@@ -1845,7 +1946,7 @@
     @Test
     public void testNonInterruptiveUpdate_doesntBubbleFromOverflow() {
         mEntryListener.onEntryAdded(mRow);
-        mEntryListener.onEntryUpdated(mRow, /* fromSystem= */ true);
+        mEntryListener.onEntryUpdated(mRow, /* source= */ UpdateSource.App);
         assertBubbleNotificationNotSuppressedFromShade(mBubbleEntry);
 
         // Dismiss the bubble so it's in the overflow
@@ -1873,7 +1974,7 @@
     @Test
     public void testNonInterruptiveUpdate_doesntTriggerInflate() {
         mEntryListener.onEntryAdded(mRow);
-        mEntryListener.onEntryUpdated(mRow, /* fromSystem= */ true);
+        mEntryListener.onEntryUpdated(mRow, /* source= */ UpdateSource.App);
         assertBubbleNotificationNotSuppressedFromShade(mBubbleEntry);
 
         // Update the entry to not show in shade
@@ -1896,7 +1997,7 @@
     @Test
     public void testNonInterruptiveUpdate_doesntOverrideOverflowFlagBubble() {
         mEntryListener.onEntryAdded(mRow);
-        mEntryListener.onEntryUpdated(mRow, /* fromSystem= */ true);
+        mEntryListener.onEntryUpdated(mRow, /* source= */ UpdateSource.App);
         assertBubbleNotificationNotSuppressedFromShade(mBubbleEntry);
 
         // Dismiss the bubble so it's in the overflow
@@ -1923,9 +2024,9 @@
         mEntryListener.onEntryAdded(mRow);
         assertThat(mBubbleController.hasBubbles()).isTrue();
 
-        mEntryListener.onEntryUpdated(mRow, /* fromSystem= */ false);
-        mEntryListener.onEntryUpdated(mRow, /* fromSystem= */ false);
-        mEntryListener.onEntryUpdated(mRow, /* fromSystem= */ false);
+        mEntryListener.onEntryUpdated(mRow, /* source= */ UpdateSource.SystemUi);
+        mEntryListener.onEntryUpdated(mRow, /* source= */ UpdateSource.SystemUi);
+        mEntryListener.onEntryUpdated(mRow, /* source= */ UpdateSource.SystemUi);
 
         // Check that it wasn't inflated (1 because it would've been inflated via onEntryAdded)
         verify(mBubbleController, times(1)).inflateAndAdd(
@@ -2443,7 +2544,7 @@
     @Test
     public void showBubbleOverflow_hasOverflowContents() {
         mEntryListener.onEntryAdded(mRow);
-        mEntryListener.onEntryUpdated(mRow, /* fromSystem= */ true);
+        mEntryListener.onEntryUpdated(mRow, /* source= */ UpdateSource.App);
         assertThat(mBubbleData.getOverflowBubbles()).isEmpty();
 
         BubbleStackView stackView = mBubbleController.getStackView();
@@ -2460,7 +2561,7 @@
     @Test
     public void showBubbleOverflow_isEmpty() {
         mEntryListener.onEntryAdded(mRow);
-        mEntryListener.onEntryUpdated(mRow, /* fromSystem= */ true);
+        mEntryListener.onEntryUpdated(mRow, /* source= */ UpdateSource.App);
         assertThat(mBubbleData.getOverflowBubbles()).isEmpty();
 
         BubbleStackView stackView = mBubbleController.getStackView();
@@ -2481,7 +2582,7 @@
     @Test
     public void showBubbleOverflow_ignored() {
         mEntryListener.onEntryAdded(mRow);
-        mEntryListener.onEntryUpdated(mRow, /* fromSystem= */ true);
+        mEntryListener.onEntryUpdated(mRow, /* source= */ UpdateSource.App);
         assertThat(mBubbleData.getOverflowBubbles()).isEmpty();
 
         BubbleStackView stackView = mBubbleController.getStackView();
@@ -2522,7 +2623,7 @@
         mEntryListener.onEntryAdded(mRow);
         // Mark the notification as updated
         NotificationEntryHelper.modifyRanking(mRow).setTextChanged(true).build();
-        mEntryListener.onEntryUpdated(mRow, /* fromSystem= */ true);
+        mEntryListener.onEntryUpdated(mRow, /* source= */ UpdateSource.App);
 
         verify(mBubbleLogger).log(eqBubbleWithKey(mRow.getKey()),
                 eq(BubbleLogger.Event.BUBBLE_BAR_BUBBLE_UPDATED));
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/accessibility/data/repository/FakeAccessibilityRepository.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/accessibility/data/repository/FakeAccessibilityRepository.kt
index 923b636..c369237 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/accessibility/data/repository/FakeAccessibilityRepository.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/accessibility/data/repository/FakeAccessibilityRepository.kt
@@ -20,6 +20,8 @@
 import dagger.Binds
 import dagger.Module
 import javax.inject.Inject
+import kotlin.time.Duration
+import kotlin.time.Duration.Companion.milliseconds
 import kotlinx.coroutines.flow.MutableStateFlow
 
 @SysUISingleton
@@ -28,6 +30,16 @@
     override val isEnabled: MutableStateFlow<Boolean>,
 ) : AccessibilityRepository {
     @Inject constructor() : this(MutableStateFlow(false), MutableStateFlow(false))
+
+    private var recommendedTimeout: Duration = 0.milliseconds
+
+    fun setRecommendedTimeout(duration: Duration) {
+        recommendedTimeout = duration
+    }
+
+    override fun getRecommendedTimeout(originalTimeout: Duration, uiFlags: Int): Duration {
+        return recommendedTimeout
+    }
 }
 
 @Module
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelKosmos.kt
index 43b57de..d6b625b 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelKosmos.kt
@@ -17,6 +17,7 @@
 package com.android.systemui.biometrics.ui.viewmodel
 
 import android.content.applicationContext
+import android.view.accessibility.accessibilityManager
 import com.android.app.activityTaskManager
 import com.android.launcher3.icons.IconProvider
 import com.android.systemui.biometrics.domain.interactor.biometricStatusInteractor
@@ -27,7 +28,6 @@
 import com.android.systemui.kosmos.Kosmos
 import com.android.systemui.kosmos.Kosmos.Fixture
 import com.android.systemui.util.mockito.mock
-import org.mockito.Mockito.mock
 
 val Kosmos.promptViewModel by Fixture {
     PromptViewModel(
@@ -39,6 +39,7 @@
         udfpsUtils = udfpsUtils,
         iconProvider = iconProvider,
         activityTaskManager = activityTaskManager,
+        accessibilityManager = accessibilityManager,
     )
 }
 
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/communal/ui/viewmodel/CommunalToDreamButtonViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/communal/ui/viewmodel/CommunalToDreamButtonViewModelKosmos.kt
deleted file mode 100644
index 43d3eb7..0000000
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/communal/ui/viewmodel/CommunalToDreamButtonViewModelKosmos.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.communal.ui.viewmodel
-
-import android.service.dream.dreamManager
-import com.android.internal.logging.uiEventLogger
-import com.android.systemui.communal.domain.interactor.communalPrefsInteractor
-import com.android.systemui.communal.domain.interactor.communalSettingsInteractor
-import com.android.systemui.kosmos.Kosmos
-import com.android.systemui.kosmos.testDispatcher
-import com.android.systemui.plugins.activityStarter
-import com.android.systemui.statusbar.policy.batteryController
-
-val Kosmos.communalToDreamButtonViewModel by
-    Kosmos.Fixture {
-        CommunalToDreamButtonViewModel(
-            backgroundContext = testDispatcher,
-            batteryController = batteryController,
-            prefsInteractor = communalPrefsInteractor,
-            settingsInteractor = communalSettingsInteractor,
-            activityStarter = activityStarter,
-            dreamManager = dreamManager,
-            uiEventLogger = uiEventLogger,
-        )
-    }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/communal/ui/viewmodel/CommunalTransitionViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/communal/ui/viewmodel/CommunalTransitionViewModelKosmos.kt
index 7b0c09c..9109b36 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/communal/ui/viewmodel/CommunalTransitionViewModelKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/communal/ui/viewmodel/CommunalTransitionViewModelKosmos.kt
@@ -18,6 +18,7 @@
 
 import com.android.systemui.communal.domain.interactor.communalInteractor
 import com.android.systemui.communal.domain.interactor.communalSceneInteractor
+import com.android.systemui.communal.domain.interactor.communalSettingsInteractor
 import com.android.systemui.communal.util.communalColors
 import com.android.systemui.keyguard.domain.interactor.keyguardTransitionInteractor
 import com.android.systemui.keyguard.ui.viewmodel.dreamingToGlanceableHubTransitionViewModel
@@ -41,5 +42,6 @@
             communalSceneInteractor = communalSceneInteractor,
             keyguardTransitionInteractor = keyguardTransitionInteractor,
             communalColors = communalColors,
+            communalSettingsInteractor = communalSettingsInteractor,
         )
     }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/display/data/repository/FakeDisplayRepository.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/display/data/repository/FakeDisplayRepository.kt
index a64fc24..d6f0e06 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/display/data/repository/FakeDisplayRepository.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/display/data/repository/FakeDisplayRepository.kt
@@ -104,6 +104,8 @@
     private val _displayChangeEvent = MutableSharedFlow<Int>(replay = 1)
     override val displayChangeEvent: Flow<Int> = _displayChangeEvent
 
+    override val displayIdsWithSystemDecorations: StateFlow<Set<Int>> = MutableStateFlow(emptySet())
+
     suspend fun emitDisplayChangeEvent(displayId: Int) = _displayChangeEvent.emit(displayId)
 
     fun setDefaultDisplayOff(defaultDisplayOff: Boolean) {
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/kosmos/KosmosJavaAdapter.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/kosmos/KosmosJavaAdapter.kt
index 60b371a..02cf1f5 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/kosmos/KosmosJavaAdapter.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/kosmos/KosmosJavaAdapter.kt
@@ -62,7 +62,7 @@
 import com.android.systemui.scene.sceneContainerConfig
 import com.android.systemui.scene.shared.model.sceneDataSource
 import com.android.systemui.scene.ui.view.mockWindowRootViewProvider
-import com.android.systemui.settings.brightness.domain.interactor.brightnessMirrorShowingInteractor
+import com.android.systemui.settings.brightness.data.repository.brightnessMirrorShowingRepository
 import com.android.systemui.shade.data.repository.shadeRepository
 import com.android.systemui.shade.domain.interactor.shadeInteractor
 import com.android.systemui.shade.domain.interactor.shadeLayoutParams
@@ -162,7 +162,7 @@
     val sharedNotificationContainerInteractor by lazy {
         kosmos.sharedNotificationContainerInteractor
     }
-    val brightnessMirrorShowingInteractor by lazy { kosmos.brightnessMirrorShowingInteractor }
+    val brightnessMirrorShowingRepository by lazy { kosmos.brightnessMirrorShowingRepository }
     val qsLongPressEffect by lazy { kosmos.qsLongPressEffect }
     val shadeController by lazy { kosmos.shadeController }
     val shadeRepository by lazy { kosmos.shadeRepository }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/data/repository/MediaFilterRepositoryKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/data/repository/MediaFilterRepositoryKosmos.kt
index 7964c11..e11534e8 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/data/repository/MediaFilterRepositoryKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/data/repository/MediaFilterRepositoryKosmos.kt
@@ -16,16 +16,8 @@
 
 package com.android.systemui.media.controls.data.repository
 
-import android.content.applicationContext
 import com.android.systemui.kosmos.Kosmos
-import com.android.systemui.media.controls.util.mediaSmartspaceLogger
 import com.android.systemui.util.time.systemClock
 
 val Kosmos.mediaFilterRepository by
-    Kosmos.Fixture {
-        MediaFilterRepository(
-            applicationContext = applicationContext,
-            systemClock = systemClock,
-            smartspaceLogger = mediaSmartspaceLogger,
-        )
-    }
+    Kosmos.Fixture { MediaFilterRepository(systemClock = systemClock) }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/domain/pipeline/MediaDataFilterKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/domain/pipeline/MediaDataFilterKosmos.kt
index 61d5f1e..dae5119 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/domain/pipeline/MediaDataFilterKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/domain/pipeline/MediaDataFilterKosmos.kt
@@ -22,7 +22,6 @@
 import com.android.systemui.kosmos.Kosmos
 import com.android.systemui.media.controls.data.repository.mediaFilterRepository
 import com.android.systemui.media.controls.shared.mediaLogger
-import com.android.systemui.media.controls.util.mediaFlags
 import com.android.systemui.media.controls.util.mediaUiEventLogger
 import com.android.systemui.settings.userTracker
 import com.android.systemui.statusbar.notificationLockscreenUserManager
@@ -38,13 +37,12 @@
                 BroadcastSender(
                     applicationContext,
                     WakeLockFake.Builder(applicationContext),
-                    fakeExecutor
+                    fakeExecutor,
                 ),
             lockscreenUserManager = notificationLockscreenUserManager,
             executor = fakeExecutor,
             systemClock = fakeSystemClock,
             logger = mediaUiEventLogger,
-            mediaFlags = mediaFlags,
             mediaFilterRepository = mediaFilterRepository,
             mediaLogger = mediaLogger,
         )
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/domain/pipeline/interactor/MediaCarouselInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/domain/pipeline/interactor/MediaCarouselInteractorKosmos.kt
index ca1b3f5..e6b732a 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/domain/pipeline/interactor/MediaCarouselInteractorKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/domain/pipeline/interactor/MediaCarouselInteractorKosmos.kt
@@ -26,7 +26,6 @@
 import com.android.systemui.media.controls.domain.pipeline.mediaResumeListener
 import com.android.systemui.media.controls.domain.pipeline.mediaSessionBasedFilter
 import com.android.systemui.media.controls.domain.pipeline.mediaTimeoutListener
-import com.android.systemui.media.controls.util.mediaFlags
 
 val Kosmos.mediaCarouselInteractor by
     Kosmos.Fixture {
@@ -40,6 +39,5 @@
             mediaDataCombineLatest = mediaDataCombineLatest,
             mediaDataFilter = mediaDataFilter,
             mediaFilterRepository = mediaFilterRepository,
-            mediaFlags = mediaFlags,
         )
     }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/ui/viewmodel/MediaCarouselViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/ui/viewmodel/MediaCarouselViewModelKosmos.kt
index 054ac2e..5e6434d 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/ui/viewmodel/MediaCarouselViewModelKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/ui/viewmodel/MediaCarouselViewModelKosmos.kt
@@ -24,7 +24,6 @@
 import com.android.systemui.media.controls.domain.pipeline.interactor.factory.mediaControlInteractorFactory
 import com.android.systemui.media.controls.domain.pipeline.interactor.mediaCarouselInteractor
 import com.android.systemui.media.controls.shared.mediaLogger
-import com.android.systemui.media.controls.util.mediaFlags
 import com.android.systemui.media.controls.util.mediaUiEventLogger
 import com.android.systemui.statusbar.notification.collection.provider.visualStabilityProvider
 
@@ -40,7 +39,6 @@
             controlInteractorFactory = mediaControlInteractorFactory,
             recommendationsViewModel = mediaRecommendationsViewModel,
             logger = mediaUiEventLogger,
-            mediaFlags = mediaFlags,
             mediaLogger = mediaLogger,
         )
     }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/FakeQSTile.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/FakeQSTile.kt
index 4714969..c7ea6db 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/FakeQSTile.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/FakeQSTile.kt
@@ -22,7 +22,7 @@
 
 class FakeQSTile(var user: Int, var available: Boolean = true) : QSTile {
     private var tileSpec: String? = null
-    var destroyed = false
+    private var destroyed = false
     var hasDetailsViewModel: Boolean = true
     private var state = QSTile.State()
     val callbacks = mutableListOf<QSTile.Callback>()
@@ -64,6 +64,10 @@
         user = currentUser
     }
 
+    override fun getCurrentTileUser(): Int {
+        return user
+    }
+
     override fun getMetricsCategory(): Int {
         return 0
     }
@@ -76,6 +80,10 @@
         destroyed = true
     }
 
+    override fun isDestroyed(): Boolean {
+        return destroyed
+    }
+
     override fun getTileLabel(): CharSequence {
         return ""
     }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/external/TileLifecycleManagerKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/external/TileLifecycleManagerKosmos.kt
index 4978558..f038fdd 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/external/TileLifecycleManagerKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/external/TileLifecycleManagerKosmos.kt
@@ -26,7 +26,7 @@
 import com.android.systemui.util.mockito.mock
 import com.android.systemui.util.time.fakeSystemClock
 
-val Kosmos.tileLifecycleManagerFactory: TileLifecycleManager.Factory by
+var Kosmos.tileLifecycleManagerFactory: TileLifecycleManager.Factory by
     Kosmos.Fixture {
         TileLifecycleManager.Factory { intent, userHandle ->
             TileLifecycleManager(
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/pipeline/shared/logging/QSPipelineLoggerKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/pipeline/shared/logging/QSPipelineLoggerKosmos.kt
index 7d52f5d..c153183 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/pipeline/shared/logging/QSPipelineLoggerKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/pipeline/shared/logging/QSPipelineLoggerKosmos.kt
@@ -17,7 +17,14 @@
 package com.android.systemui.qs.pipeline.shared.logging
 
 import com.android.systemui.kosmos.Kosmos
-import com.android.systemui.util.mockito.mock
+import com.android.systemui.log.logcatLogBuffer
 
 /** mock */
-var Kosmos.qsLogger: QSPipelineLogger by Kosmos.Fixture { mock<QSPipelineLogger>() }
+var Kosmos.qsLogger: QSPipelineLogger by
+    Kosmos.Fixture {
+        QSPipelineLogger(
+            logcatLogBuffer(QSPipelineLogger.TILE_LIST_TAG),
+            logcatLogBuffer(QSPipelineLogger.AUTO_ADD_TAG),
+            logcatLogBuffer(QSPipelineLogger.RESTORE_TAG),
+        )
+    }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/interactor/FakeQSTileUserActionInteractor.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/interactor/FakeQSTileUserActionInteractor.kt
index bc1c60c..c058490 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/interactor/FakeQSTileUserActionInteractor.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/base/interactor/FakeQSTileUserActionInteractor.kt
@@ -33,7 +33,4 @@
     override suspend fun handleInput(input: QSTileInput<T>) {
         mutex.withLock { mutableInputs.add(input) }
     }
-
-    override var detailsViewModel: TileDetailsViewModel? =
-        FakeTileDetailsViewModel("FakeQSTileUserActionInteractor")
 }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/di/NewQSTileFactoryKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/di/NewQSTileFactoryKosmos.kt
index 6787b8e..c223be4 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/di/NewQSTileFactoryKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/di/NewQSTileFactoryKosmos.kt
@@ -19,6 +19,7 @@
 import android.os.UserHandle
 import com.android.systemui.kosmos.Kosmos
 import com.android.systemui.qs.instanceIdSequenceFake
+import com.android.systemui.qs.pipeline.domain.interactor.currentTilesInteractor
 import com.android.systemui.qs.pipeline.shared.TileSpec
 import com.android.systemui.qs.shared.model.TileCategory
 import com.android.systemui.qs.tiles.base.viewmodel.QSTileViewModelFactory
@@ -56,7 +57,11 @@
                     override val config: QSTileConfig = config
                     override val isAvailable: StateFlow<Boolean> = MutableStateFlow(true)
 
-                    override fun onUserChanged(user: UserHandle) {}
+                    override var currentTileUser = currentTilesInteractor.userId.value
+
+                    override fun onUserChanged(user: UserHandle) {
+                        currentTileUser = user.identifier
+                    }
 
                     override fun forceUpdate() {}
 
@@ -68,7 +73,7 @@
         }
     }
 
-val Kosmos.newQSTileFactory by
+var Kosmos.newQSTileFactory by
     Kosmos.Fixture {
         NewQSTileFactory(
             qSTileConfigProvider,
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/settings/brightness/domain/interactor/BrightnessMirrorShowingInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/settings/brightness/domain/interactor/BrightnessMirrorShowingInteractorKosmos.kt
index 8f6b829..d4bed16 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/settings/brightness/domain/interactor/BrightnessMirrorShowingInteractorKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/settings/brightness/domain/interactor/BrightnessMirrorShowingInteractorKosmos.kt
@@ -20,4 +20,6 @@
 import com.android.systemui.settings.brightness.data.repository.brightnessMirrorShowingRepository
 
 val Kosmos.brightnessMirrorShowingInteractor by
-    Kosmos.Fixture { BrightnessMirrorShowingInteractor(brightnessMirrorShowingRepository) }
+    Kosmos.Fixture {
+        BrightnessMirrorShowingInteractorPassThrough(brightnessMirrorShowingRepository)
+    }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/core/StatusBarOrchestratorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/core/StatusBarOrchestratorKosmos.kt
index bdcab5f..9776fd9 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/core/StatusBarOrchestratorKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/core/StatusBarOrchestratorKosmos.kt
@@ -34,14 +34,29 @@
 import com.android.systemui.statusbar.data.repository.privacyDotWindowControllerStore
 import com.android.systemui.statusbar.data.repository.statusBarModeRepository
 import com.android.systemui.statusbar.mockNotificationRemoteInputManager
+import com.android.systemui.statusbar.phone.fakeAutoHideControllerStore
 import com.android.systemui.statusbar.phone.mockAutoHideController
-import com.android.systemui.statusbar.phone.multiDisplayAutoHideControllerStore
 import com.android.systemui.statusbar.window.data.repository.fakeStatusBarWindowStatePerDisplayRepository
 import com.android.systemui.statusbar.window.data.repository.statusBarWindowStateRepositoryStore
 import com.android.systemui.statusbar.window.fakeStatusBarWindowController
 import com.android.systemui.statusbar.window.statusBarWindowControllerStore
 import com.android.wm.shell.bubbles.bubblesOptional
 
+val Kosmos.multiDisplayStatusBarOrchestratorStore by
+    Kosmos.Fixture {
+        MultiDisplayStatusBarOrchestratorStore(
+            applicationCoroutineScope,
+            displayRepository,
+            statusBarOrchestratorFactory,
+            statusBarWindowControllerStore,
+            statusBarModeRepository,
+            statusBarInitializerStore,
+            fakeAutoHideControllerStore,
+            displayScopeRepository,
+            statusBarWindowStateRepositoryStore,
+        )
+    }
+
 val Kosmos.statusBarOrchestrator by
     Kosmos.Fixture {
         StatusBarOrchestrator(
@@ -74,15 +89,9 @@
     Kosmos.Fixture {
         MultiDisplayStatusBarStarter(
             applicationCoroutineScope,
-            displayScopeRepository,
-            statusBarOrchestratorFactory,
-            statusBarWindowStateRepositoryStore,
-            statusBarModeRepository,
+            multiDisplayStatusBarOrchestratorStore,
             displayRepository,
             statusBarInitializerStore,
-            statusBarWindowControllerStore,
-            statusBarInitializerStore,
-            multiDisplayAutoHideControllerStore,
             privacyDotWindowControllerStore,
             lightBarControllerStore,
             mockIWindowManager,
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/util/MediaSmartspaceLoggerKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/VisibilityLocationProviderKosmos.kt
similarity index 65%
copy from packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/util/MediaSmartspaceLoggerKosmos.kt
copy to packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/VisibilityLocationProviderKosmos.kt
index c63dec5..085d386 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/util/MediaSmartspaceLoggerKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/VisibilityLocationProviderKosmos.kt
@@ -1,5 +1,5 @@
 /*
- * 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.
@@ -14,10 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.systemui.media.controls.util
+package com.android.systemui.statusbar.notification
 
 import com.android.systemui.kosmos.Kosmos
-import org.mockito.Mockito.mock
+import org.mockito.kotlin.mock
 
-var Kosmos.mediaSmartspaceLogger by Kosmos.Fixture { MediaSmartspaceLogger() }
-val Kosmos.mockMediaSmartspaceLogger by Kosmos.Fixture { mock(MediaSmartspaceLogger::class.java) }
+val Kosmos.visibilityLocationProvider: VisibilityLocationProvider by Kosmos.Fixture { mock() }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinatorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinatorKosmos.kt
index 358d251..1a5c61a 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinatorKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinatorKosmos.kt
@@ -16,7 +16,41 @@
 
 package com.android.systemui.statusbar.notification.collection.coordinator
 
+import com.android.systemui.communal.domain.interactor.communalSceneInteractor
+import com.android.systemui.concurrency.fakeExecutor
+import com.android.systemui.dump.dumpManager
+import com.android.systemui.keyguard.domain.interactor.keyguardTransitionInteractor
+import com.android.systemui.keyguard.wakefulnessLifecycle
 import com.android.systemui.kosmos.Kosmos
-import com.android.systemui.util.mockito.mock
+import com.android.systemui.kosmos.testScope
+import com.android.systemui.plugins.statusbar.statusBarStateController
+import com.android.systemui.shade.domain.interactor.shadeAnimationInteractor
+import com.android.systemui.shade.domain.interactor.shadeInteractor
+import com.android.systemui.statusbar.notification.collection.provider.visualStabilityProvider
+import com.android.systemui.statusbar.notification.domain.interactor.seenNotificationsInteractor
+import com.android.systemui.statusbar.notification.stack.data.repository.headsUpNotificationRepository
+import com.android.systemui.statusbar.notification.visibilityLocationProvider
+import com.android.systemui.statusbar.policy.keyguardStateController
+import com.android.systemui.util.kotlin.JavaAdapter
 
-var Kosmos.visualStabilityCoordinator by Kosmos.Fixture { mock<VisualStabilityCoordinator>() }
+var Kosmos.visualStabilityCoordinator: VisualStabilityCoordinator by
+    Kosmos.Fixture {
+        VisualStabilityCoordinator(
+            fakeExecutor,
+            fakeExecutor,
+            dumpManager,
+            headsUpNotificationRepository,
+            shadeAnimationInteractor,
+            JavaAdapter(testScope.backgroundScope),
+            seenNotificationsInteractor,
+            statusBarStateController,
+            visibilityLocationProvider,
+            visualStabilityProvider,
+            wakefulnessLifecycle,
+            communalSceneInteractor,
+            shadeInteractor,
+            keyguardTransitionInteractor,
+            keyguardStateController,
+            visualStabilityCoordinatorLogger,
+        )
+    }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/util/MediaSmartspaceLoggerKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinatorLoggerKosmos.kt
similarity index 65%
copy from packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/util/MediaSmartspaceLoggerKosmos.kt
copy to packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinatorLoggerKosmos.kt
index c63dec5..6645cdc 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/util/MediaSmartspaceLoggerKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinatorLoggerKosmos.kt
@@ -1,5 +1,5 @@
 /*
- * 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.
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package com.android.systemui.media.controls.util
+package com.android.systemui.statusbar.notification.collection.coordinator
 
 import com.android.systemui.kosmos.Kosmos
-import org.mockito.Mockito.mock
+import org.mockito.kotlin.mock
 
-var Kosmos.mediaSmartspaceLogger by Kosmos.Fixture { MediaSmartspaceLogger() }
-val Kosmos.mockMediaSmartspaceLogger by Kosmos.Fixture { mock(MediaSmartspaceLogger::class.java) }
+val Kosmos.visualStabilityCoordinatorLogger: VisualStabilityCoordinatorLogger by
+    Kosmos.Fixture { mock() }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowBuilder.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowBuilder.kt
index 09c632c..771e1a5 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowBuilder.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowBuilder.kt
@@ -91,16 +91,17 @@
 import com.android.systemui.util.Assert.runWithCurrentThreadAsMainThread
 import com.android.systemui.util.DeviceConfigProxyFake
 import com.android.systemui.util.concurrency.FakeExecutor
-import com.android.systemui.util.mockito.whenever
 import com.android.systemui.util.time.FakeSystemClock
 import java.util.concurrent.CountDownLatch
 import java.util.concurrent.Executor
 import java.util.concurrent.TimeUnit
+import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.test.TestScope
 import org.junit.Assert.assertTrue
 import org.mockito.ArgumentCaptor
 import org.mockito.ArgumentMatchers
 import org.mockito.Mockito
+import org.mockito.kotlin.whenever
 
 class ExpandableNotificationRowBuilder(
     private val context: Context,
@@ -149,7 +150,10 @@
 
         mGroupExpansionManager = GroupExpansionManagerImpl(mDumpManager, mGroupMembershipManager)
         mUserManager = Mockito.mock(UserManager::class.java, STUB_ONLY)
-        mHeadsUpManager = Mockito.mock(HeadsUpManager::class.java, STUB_ONLY)
+        mHeadsUpManager =
+            Mockito.mock(HeadsUpManager::class.java, STUB_ONLY).apply {
+                whenever(isTrackingHeadsUp()).thenReturn(MutableStateFlow(false))
+            }
         mIconManager =
             IconManager(
                 Mockito.mock(CommonNotifCollection::class.java, STUB_ONLY),
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/row/ui/viewmodel/ActivatableNotificationViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/row/ui/viewmodel/ActivatableNotificationViewModelKosmos.kt
index 2523975..7ccbdb7 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/row/ui/viewmodel/ActivatableNotificationViewModelKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/row/ui/viewmodel/ActivatableNotificationViewModelKosmos.kt
@@ -19,9 +19,11 @@
 import com.android.systemui.accessibility.domain.interactor.accessibilityInteractor
 import com.android.systemui.kosmos.Kosmos
 import com.android.systemui.kosmos.Kosmos.Fixture
+import com.android.systemui.window.domain.interactor.windowRootViewBlurInteractor
 
 val Kosmos.activatableNotificationViewModel by Fixture {
     ActivatableNotificationViewModel.invoke(
         a11yInteractor = accessibilityInteractor,
+        windowRootViewBlurInteractor = windowRootViewBlurInteractor,
     )
 }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/AmbientStateKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/AmbientStateKosmos.kt
index d65a4a0..4f1bf95 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/AmbientStateKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/AmbientStateKosmos.kt
@@ -22,6 +22,7 @@
 import com.android.systemui.kosmos.Kosmos.Fixture
 import com.android.systemui.shade.transition.largeScreenShadeInterpolator
 import com.android.systemui.statusbar.notification.headsup.mockAvalancheController
+import com.android.systemui.statusbar.notification.stack.data.repository.headsUpNotificationRepository
 import com.android.systemui.statusbar.phone.statusBarKeyguardViewManager
 
 val Kosmos.ambientState by Fixture {
@@ -32,6 +33,7 @@
         /*bypassController=*/ stackScrollAlgorithmBypassController,
         /*statusBarKeyguardViewManager=*/ statusBarKeyguardViewManager,
         /*largeScreenShadeInterpolator=*/ largeScreenShadeInterpolator,
+        /*headsUpRepository=*/ headsUpNotificationRepository,
         /*avalancheController=*/ mockAvalancheController,
     )
 }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/data/repository/HeadsUpNotificationRepositoryKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/data/repository/HeadsUpNotificationRepositoryKosmos.kt
index 1fa6236..3406d81 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/data/repository/HeadsUpNotificationRepositoryKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/data/repository/HeadsUpNotificationRepositoryKosmos.kt
@@ -35,6 +35,10 @@
         orderedHeadsUpRows.map { it.firstOrNull() }.distinctUntilChanged()
     override val activeHeadsUpRows: Flow<Set<HeadsUpRowRepository>> =
         orderedHeadsUpRows.map { it.toSet() }.distinctUntilChanged()
+    override val isTrackingHeadsUp: MutableStateFlow<Boolean> = MutableStateFlow(false)
+
+    override fun isHeadsUpEntry(key: String): Boolean =
+        orderedHeadsUpRows.value.any { it.key == key }
 
     override fun setHeadsUpAnimatingAway(animatingAway: Boolean) {
         isHeadsUpAnimatingAway.value = animatingAway
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModelKosmos.kt
index 51bb94f..17ef208 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModelKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModelKosmos.kt
@@ -30,7 +30,6 @@
 import com.android.systemui.keyguard.ui.viewmodel.aodToLockscreenTransitionViewModel
 import com.android.systemui.keyguard.ui.viewmodel.aodToOccludedTransitionViewModel
 import com.android.systemui.keyguard.ui.viewmodel.aodToPrimaryBouncerTransitionViewModel
-import com.android.systemui.keyguard.ui.viewmodel.dozingToDreamingTransitionViewModel
 import com.android.systemui.keyguard.ui.viewmodel.dozingToGlanceableHubTransitionViewModel
 import com.android.systemui.keyguard.ui.viewmodel.dozingToLockscreenTransitionViewModel
 import com.android.systemui.keyguard.ui.viewmodel.dozingToOccludedTransitionViewModel
@@ -84,7 +83,6 @@
         aodToLockscreenTransitionViewModel = aodToLockscreenTransitionViewModel,
         aodToOccludedTransitionViewModel = aodToOccludedTransitionViewModel,
         aodToPrimaryBouncerTransitionViewModel = aodToPrimaryBouncerTransitionViewModel,
-        dozingToDreamingTransitionViewModel = dozingToDreamingTransitionViewModel,
         dozingToGlanceableHubTransitionViewModel = dozingToGlanceableHubTransitionViewModel,
         dozingToLockscreenTransitionViewModel = dozingToLockscreenTransitionViewModel,
         dozingToOccludedTransitionViewModel = dozingToOccludedTransitionViewModel,
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModelKosmos.kt
index c5f6557..f2f75c4 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModelKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModelKosmos.kt
@@ -16,7 +16,6 @@
 
 package com.android.systemui.statusbar.pipeline.mobile.ui.viewmodel
 
-import com.android.systemui.flags.featureFlagsClassic
 import com.android.systemui.kosmos.Kosmos
 import com.android.systemui.kosmos.applicationCoroutineScope
 import com.android.systemui.statusbar.pipeline.airplane.domain.interactor.airplaneModeInteractor
@@ -31,7 +30,6 @@
             interactor = mobileIconsInteractor,
             airplaneModeInteractor = airplaneModeInteractor,
             constants = mock(),
-            flags = featureFlagsClassic,
             scope = applicationCoroutineScope,
         )
     }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/domain/interactor/VolumeDialogVisibilityInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/domain/interactor/VolumeDialogVisibilityInteractorKosmos.kt
index 888b7e6..07c4ec5 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/domain/interactor/VolumeDialogVisibilityInteractorKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/domain/interactor/VolumeDialogVisibilityInteractorKosmos.kt
@@ -16,6 +16,7 @@
 
 package com.android.systemui.volume.dialog.domain.interactor
 
+import com.android.systemui.accessibility.data.repository.accessibilityRepository
 import com.android.systemui.kosmos.Kosmos
 import com.android.systemui.kosmos.applicationCoroutineScope
 import com.android.systemui.plugins.volumeDialogController
@@ -28,8 +29,10 @@
         VolumeDialogVisibilityInteractor(
             applicationCoroutineScope,
             volumeDialogCallbacksInteractor,
+            volumeDialogStateInteractor,
             volumeTracer,
             volumeDialogVisibilityRepository,
+            accessibilityRepository,
             volumeDialogController,
             secureSettingsRepository,
         )
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 c9396f5..e177399 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 android.content.applicationContext
 import com.android.internal.logging.uiEventLogger
 import com.android.systemui.kosmos.Kosmos
 import com.android.systemui.kosmos.applicationCoroutineScope
@@ -29,6 +30,7 @@
 val Kosmos.volumeDialogSliderViewModel by
     Kosmos.Fixture {
         VolumeDialogSliderViewModel(
+            context = applicationContext,
             sliderType = volumeDialogSliderType,
             interactor = volumeDialogSliderInteractor,
             inputEventsInteractor = volumeDialogSliderInputEventsInteractor,
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/ui/viewmodel/VolumeDialogViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/ui/viewmodel/VolumeDialogViewModelKosmos.kt
index 05ef462..f08c08a 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/ui/viewmodel/VolumeDialogViewModelKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/ui/viewmodel/VolumeDialogViewModelKosmos.kt
@@ -18,6 +18,7 @@
 
 import android.content.applicationContext
 import com.android.systemui.kosmos.Kosmos
+import com.android.systemui.kosmos.applicationCoroutineScope
 import com.android.systemui.statusbar.policy.configurationController
 import com.android.systemui.statusbar.policy.devicePostureController
 import com.android.systemui.volume.dialog.domain.interactor.volumeDialogStateInteractor
@@ -28,6 +29,7 @@
     Kosmos.Fixture {
         VolumeDialogViewModel(
             applicationContext,
+            applicationCoroutineScope,
             volumeDialogVisibilityInteractor,
             volumeDialogSlidersInteractor,
             volumeDialogStateInteractor,
diff --git a/packages/SystemUI/tools/lint/README b/packages/SystemUI/tools/lint/README
deleted file mode 100644
index 0745196..0000000
--- a/packages/SystemUI/tools/lint/README
+++ /dev/null
@@ -1,26 +0,0 @@
-This directory contains configuration files for lint, which is run
-in as an upload hook for repo upload.
-
-lint.xml contains checks that are turned on or off, or whitelisted /
-blacklisted for particular directories, if they are different from
-the default.
-
-baseline.xml contains the list of existing "grandfathered" lint
-errors in the codebase. It is generated using ./tools/lint/update_baseline.sh
-
-When you hit a lint error that should not be triggered, there are 3
-possible resolutions:
-1. Use tools:ignore or @SuppressLint annotation. This is preferred
-   for cases where the lint violation is intended, so that reviewers
-   can review whether the suppression is appropriate.
-2. Use tools/lint.xml to ignore a lint check which we don't care
-   about for any file, or checks that are not actionable by the
-   CL author (e.g. translation issues)
-3. If there are lint errors that should be fixed, but cannot be done
-   immediately for some reason, the issue should be added to
-   baseline.xml.
-
-
-References
-- https://developer.android.com/studio/write/lint.html
-- http://tools.android.com/tips/lint-checks
diff --git a/packages/SystemUI/tools/lint/baseline.xml b/packages/SystemUI/tools/lint/baseline.xml
deleted file mode 100644
index 43f8300..0000000
--- a/packages/SystemUI/tools/lint/baseline.xml
+++ /dev/null
@@ -1,89764 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="4">
-
-    <issue
-        id="LintError"
-        message="No `.class` files were found in project &quot;.&quot;, so none of the classfile based checks could be run. Does the project need to be built first?">
-        <location
-            file="."/>
-    </issue>
-
-    <issue
-        id="StopShip"
-        message="`STOPSHIP` comment found; points to code which must be fixed prior to release"
-        errorLine1="    &lt;!-- STOPSHIP Monitoring strings still need to be finalized and approved -->"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1152"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="DuplicateIds"
-        message="Duplicate id `@+id/wifi_combo`, already defined earlier in this layout"
-        errorLine1="            android:id=&quot;@+id/wifi_combo&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/status_bar_wifi_group.xml"
-            line="57"
-            column="13"/>
-        <location
-            file="res/layout/status_bar_wifi_group.xml"
-            line="22"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="CutPasteId"
-        message="The id `R.id.tuner_zen_switch` has already been looked up in this method; possible cut &amp; paste error?"
-        errorLine1="        ViewGroup detail_header = findViewById(R.id.tuner_zen_switch);"
-        errorLine2="                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/com/android/systemui/tuner/TunerZenModePanel.java"
-            line="71"
-            column="35"/>
-        <location
-            file="src/com/android/systemui/tuner/TunerZenModePanel.java"
-            line="56"
-            column="25"/>
-    </issue>
-
-    <issue
-        id="DuplicateIncludedIds"
-        message="Duplicate id @+id/center_group, defined or included multiple times in layout/nav_bar_tuner_inflater.xml: [layout/nav_bar_tuner_inflater.xml => layout/navigation_layout.xml defines @+id/center_group, layout/nav_bar_tuner_inflater.xml => layout/navigation_layout_rot90.xml defines @+id/center_group]"
-        errorLine1="    &lt;include android:id=&quot;@+id/rot90&quot; layout=&quot;@layout/navigation_layout_rot90&quot; />"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/nav_bar_tuner_inflater.xml"
-            line="25"
-            column="5"/>
-        <location
-            file="res/layout/navigation_layout.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/layout/navigation_layout_rot90.xml"
-            line="43"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="DuplicateIncludedIds"
-        message="Duplicate id @+id/ends_group, defined or included multiple times in layout/nav_bar_tuner_inflater.xml: [layout/nav_bar_tuner_inflater.xml => layout/navigation_layout.xml defines @+id/ends_group, layout/nav_bar_tuner_inflater.xml => layout/navigation_layout_rot90.xml defines @+id/ends_group]"
-        errorLine1="    &lt;include android:id=&quot;@+id/rot90&quot; layout=&quot;@layout/navigation_layout_rot90&quot; />"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/nav_bar_tuner_inflater.xml"
-            line="25"
-            column="5"/>
-        <location
-            file="res/layout/navigation_layout.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/layout/navigation_layout_rot90.xml"
-            line="35"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="DuplicateIncludedIds"
-        message="Duplicate id @+id/nav_buttons, defined or included multiple times in layout/nav_bar_tuner_inflater.xml: [layout/nav_bar_tuner_inflater.xml => layout/navigation_layout.xml defines @+id/nav_buttons, layout/nav_bar_tuner_inflater.xml => layout/navigation_layout_rot90.xml defines @+id/nav_buttons]"
-        errorLine1="    &lt;include android:id=&quot;@+id/rot90&quot; layout=&quot;@layout/navigation_layout_rot90&quot; />"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/nav_bar_tuner_inflater.xml"
-            line="25"
-            column="5"/>
-        <location
-            file="res/layout/navigation_layout.xml"
-            line="28"
-            column="9"/>
-        <location
-            file="res/layout/navigation_layout_rot90.xml"
-            line="28"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="DuplicateIncludedIds"
-        message="Duplicate id @+id/qs_detail_header_progress, defined or included multiple times in layout/qs_panel.xml: [layout/qs_panel.xml => layout/qs_detail.xml defines @+id/qs_detail_header_progress, layout/qs_panel.xml => layout/quick_status_bar_expanded_header.xml defines @+id/qs_detail_header_progress]"
-        errorLine1="    &lt;include android:id=&quot;@+id/qs_detail&quot; layout=&quot;@layout/qs_detail&quot; />"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/qs_panel.xml"
-            line="68"
-            column="5"/>
-        <location
-            file="res/layout/qs_detail.xml"
-            line="37"
-            column="9"/>
-        <location
-            file="res/layout/quick_status_bar_expanded_header.xml"
-            line="58"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="MissingPrefix"
-        message="Unexpected namespace prefix &quot;xmlns&quot; found for tag `LinearLayout`"
-        errorLine1="        xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_facet_button.xml"
-            line="22"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="MissingPrefix"
-        message="Unexpected namespace prefix &quot;xmlns&quot; found for tag `RelativeLayout`"
-        errorLine1="        xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_qs_panel.xml"
-            line="31"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="MissingPrefix"
-        message="Unexpected namespace prefix &quot;xmlns&quot; found for tag `RelativeLayout`"
-        errorLine1="        xmlns:app=&quot;http://schemas.android.com/apk/res-auto&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_qs_panel.xml"
-            line="32"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="SdCardPath"
-        message="Do not hardcode &quot;/sdcard/&quot;; use `Environment.getExternalStorageDirectory().getPath()` instead"
-        errorLine1="        ? new GestureRecorder(&quot;/sdcard/statusbar_gestures.dat&quot;)"
-        errorLine2="                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/com/android/systemui/statusbar/phone/StatusBar.java"
-            line="407"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="Suspicious0dp"
-        message="Suspicious size: this will make the view invisible, should be used with `layout_weight`"
-        errorLine1="            android:layout_height=&quot;0dp&quot; />"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/qs_tile_label.xml"
-            line="37"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="IncludeLayoutParam"
-        message="Layout parameter `layout_alignParentTop` ignored unless both `layout_width` and `layout_height` are also specified on `&lt;include>` tag"
-        errorLine1="            android:layout_alignParentTop=&quot;true&quot;/>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_fullscreen_user_switcher.xml"
-            line="34"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="ExtraText"
-        message="Unexpected text found in layout file: &quot;&quot;>&quot;"
-        errorLine1="        android:alpha=&quot;0&quot;/>&quot;>"
-        errorLine2="                           ^">
-        <location
-            file="res/layout/docked_stack_divider.xml"
-            line="30"
-            column="28"/>
-    </issue>
-
-    <issue
-        id="ExtraText"
-        message="Unexpected text found in layout file: &quot;->&quot;"
-        errorLine1="&lt;merge xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;>->"
-        errorLine2="                                                                  ^">
-        <location
-            file="res/layout/qs_customize_panel_content.xml"
-            line="18"
-            column="67"/>
-    </issue>
-
-    <issue
-        id="SpUsage"
-        message="Should use &quot;`sp`&quot; instead of &quot;`dp`&quot; for text sizes"
-        errorLine1="                android:textSize=&quot;40dp&quot;"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/mland.xml"
-            line="60"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="SpUsage"
-        message="Should use &quot;`sp`&quot; instead of &quot;`dp`&quot; for text sizes"
-        errorLine1="        android:textSize=&quot;11dp&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/quick_status_bar_expanded_header.xml"
-            line="74"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="SpUsage"
-        message="Should use &quot;`sp`&quot; instead of &quot;`dp`&quot; for text sizes"
-        errorLine1="        android:textSize=&quot;20dp&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/status_bar_no_recent_apps.xml"
-            line="29"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="            android:singleLine=&quot;true&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/app_ops_info.xml"
-            line="52"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/battery_percentage_view.xml"
-            line="24"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_fullscreen_user_pod.xml"
-            line="41"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="            android:singleLine=&quot;true&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_left_navigation_bar.xml"
-            line="86"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="            android:singleLine=&quot;true&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_navigation_bar.xml"
-            line="84"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="            android:singleLine=&quot;true&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_right_navigation_bar.xml"
-            line="88"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_status_bar_header.xml"
-            line="38"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_top_navigation_bar.xml"
-            line="31"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="                android:singleLine=&quot;true&quot;"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/fingerprint_dialog.xml"
-            line="63"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="                android:singleLine=&quot;true&quot;"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/fingerprint_dialog.xml"
-            line="78"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/foreground_service_item.xml"
-            line="43"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/foreground_service_title.xml"
-            line="28"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/heads_up_status_bar_layout.xml"
-            line="39"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/hybrid_notification.xml"
-            line="28"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/hybrid_notification.xml"
-            line="35"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="    android:singleLine=&quot;true&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/hybrid_overflow_number.xml"
-            line="25"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: False is the default, so just remove the attribute"
-        errorLine1="            android:singleLine=&quot;false&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/keyboard_shortcut_app_item.xml"
-            line="45"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="          android:singleLine=&quot;true&quot;"
-        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/keyboard_shortcuts_key_view.xml"
-            line="24"
-            column="11"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/keyguard_status_bar.xml"
-            line="76"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="            android:singleLine=&quot;true&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/notification_info.xml"
-            line="51"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot; />"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/operator_name.xml"
-            line="30"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="                android:singleLine=&quot;true&quot; />"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/qs_footer_impl.xml"
-            line="68"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/qs_tile_label.xml"
-            line="78"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/quick_qs_status_icons.xml"
-            line="37"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/quick_status_bar_header_system_icons.xml"
-            line="38"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/recents_task_view_header.xml"
-            line="43"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/recents_task_view_header_overlay.xml"
-            line="40"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="            android:singleLine=&quot;true&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/remote_input.xml"
-            line="42"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/split_clock_view.xml"
-            line="28"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/split_clock_view.xml"
-            line="37"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/split_clock_view.xml"
-            line="50"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="                    android:singleLine=&quot;true&quot;"
-        errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/status_bar.xml"
-            line="78"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="Deprecated"
-        message="`android:singleLine` is deprecated: Use `maxLines=&quot;1&quot;` instead"
-        errorLine1="        android:singleLine=&quot;true&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/status_bar_alarm_group.xml"
-            line="32"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Orientation"
-        message="No orientation specified, and the default is horizontal. This is a common source of bugs when children are added dynamically."
-        errorLine1="    &lt;LinearLayout"
-        errorLine2="    ^">
-        <location
-            file="res/layout/signal_cluster_view.xml"
-            line="112"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_left_70`; missing conversion character in &apos;`% a`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_left_70&quot; msgid=&quot;3612060638991687254&quot;>&quot;Gawing 70% ang nasa kaliwa&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-tl/strings.xml"
-            line="754"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_left_70`; missing conversion character in &apos;`% n`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_left_70&quot; msgid=&quot;3612060638991687254&quot;>&quot;70% no ecrã esquerdo&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="754"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_left_50`; missing conversion character in &apos;`% a`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_left_50&quot; msgid=&quot;1248083470322193075&quot;>&quot;Gawing 50% ang nasa kaliwa&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-tl/strings.xml"
-            line="755"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_left_50`; missing conversion character in &apos;`% n`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_left_50&quot; msgid=&quot;1248083470322193075&quot;>&quot;50% no ecrã esquerdo&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="755"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_left_30`; missing conversion character in &apos;`% a`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_left_30&quot; msgid=&quot;543324403127069386&quot;>&quot;Gawing 30% ang nasa kaliwa&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-tl/strings.xml"
-            line="756"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_left_30`; missing conversion character in &apos;`% n`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_left_30&quot; msgid=&quot;543324403127069386&quot;>&quot;30% no ecrã esquerdo&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="756"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_top_70`; missing conversion character in &apos;`% a`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_70&quot; msgid=&quot;5090779195650364522&quot;>&quot;Gawing 70% ang nasa itaas&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-tl/strings.xml"
-            line="759"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_top_70`; missing conversion character in &apos;`% n`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_70&quot; msgid=&quot;5090779195650364522&quot;>&quot;70% no ecrã superior&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="759"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_top_50`; missing conversion character in &apos;`% a`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_50&quot; msgid=&quot;6385859741925078668&quot;>&quot;Gawing 50% ang nasa itaas&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-tl/strings.xml"
-            line="760"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_top_50`; missing conversion character in &apos;`% n`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_50&quot; msgid=&quot;6385859741925078668&quot;>&quot;50% no ecrã superior&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="760"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_top_30`; missing conversion character in &apos;`% a`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_30&quot; msgid=&quot;6201455163864841205&quot;>&quot;Gawing 30% ang nasa itaas&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-tl/strings.xml"
-            line="761"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_top_30`; missing conversion character in &apos;`% n`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_30&quot; msgid=&quot;6201455163864841205&quot;>&quot;30% no ecrã superior&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="761"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_top_70`; missing conversion character in &apos;`% a`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_70&quot; msgid=&quot;5090779195650364522&quot;>&quot;70 % arriba&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-gl/strings.xml"
-            line="761"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_top_50`; missing conversion character in &apos;`% a`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_50&quot; msgid=&quot;6385859741925078668&quot;>&quot;50 % arriba&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-gl/strings.xml"
-            line="762"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_top_30`; missing conversion character in &apos;`% a`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_30&quot; msgid=&quot;6201455163864841205&quot;>&quot;30 % arriba&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-gl/strings.xml"
-            line="763"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_top_70`; missing conversion character in &apos;`% g`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_70&quot; msgid=&quot;5090779195650364522&quot;>&quot;70% górnej części ekranu&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-pl/strings.xml"
-            line="769"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_top_50`; missing conversion character in &apos;`% g`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_50&quot; msgid=&quot;6385859741925078668&quot;>&quot;50% górnej części ekranu&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-pl/strings.xml"
-            line="770"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_top_30`; missing conversion character in &apos;`% g`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_30&quot; msgid=&quot;6201455163864841205&quot;>&quot;30% górnej części ekranu&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-pl/strings.xml"
-            line="771"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_top_70`; missing conversion character in &apos;`% n`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_70&quot; msgid=&quot;5090779195650364522&quot;>&quot;70 % nahoře&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-cs/strings.xml"
-            line="771"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_top_50`; missing conversion character in &apos;`% n`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_50&quot; msgid=&quot;6385859741925078668&quot;>&quot;50 % nahoře&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-cs/strings.xml"
-            line="772"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatInvalid"
-        message="Incorrect formatting string `accessibility_action_divider_top_30`; missing conversion character in &apos;`% n`&apos; ?"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_30&quot; msgid=&quot;6201455163864841205&quot;>&quot;30 % nahoře&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-cs/strings.xml"
-            line="773"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatMatches"
-        message="Inconsistent formatting types for argument #1 in format string `accessibility_action_divider_top_70` (&apos;% 70e&apos;): Found both &apos;`o`&apos; and &apos;`e`&apos; (in values-de/strings.xml)"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_70&quot; msgid=&quot;5090779195650364522&quot;>&quot;Ezarri goialdea % 70en&quot;&lt;/string>"
-        errorLine2="                                                                                                    ~~~~~">
-        <location
-            file="res/values-eu/strings.xml"
-            line="761"
-            column="101"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="763"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatMatches"
-        message="Inconsistent formatting types for argument #1 in format string `accessibility_action_divider_top_50` (&apos;% 50e&apos;): Found both &apos;`o`&apos; and &apos;`e`&apos; (in values-de/strings.xml)"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_50&quot; msgid=&quot;6385859741925078668&quot;>&quot;Ezarri goialdea % 50en&quot;&lt;/string>"
-        errorLine2="                                                                                                    ~~~~~">
-        <location
-            file="res/values-eu/strings.xml"
-            line="762"
-            column="101"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="764"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="StringFormatMatches"
-        message="Inconsistent formatting types for argument #1 in format string `accessibility_action_divider_top_30` (&apos;% 30e&apos;): Found both &apos;`o`&apos; and &apos;`e`&apos; (in values-de/strings.xml)"
-        errorLine1="    &lt;string name=&quot;accessibility_action_divider_top_30&quot; msgid=&quot;6201455163864841205&quot;>&quot;Ezarri goialdea % 30en&quot;&lt;/string>"
-        errorLine2="                                                                                                    ~~~~~">
-        <location
-            file="res/values-eu/strings.xml"
-            line="763"
-            column="101"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="765"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="PluralsCandidate"
-        message="Formatting %d followed by words (&quot;per&quot;): This should probably be a plural rather than a string"
-        errorLine1="    &lt;string name=&quot;accessibility_battery_level&quot; msgid=&quot;7451474187113371965&quot;>&quot;Battery &lt;xliff:g id=&quot;NUMBER&quot;>%d&lt;/xliff:g> per cent.&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="174"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="PluralsCandidate"
-        message="Formatting %d followed by words (&quot;per&quot;): This should probably be a plural rather than a string"
-        errorLine1="    &lt;string name=&quot;accessibility_battery_level&quot; msgid=&quot;7451474187113371965&quot;>&quot;Battery &lt;xliff:g id=&quot;NUMBER&quot;>%d&lt;/xliff:g> per cent.&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="174"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="PluralsCandidate"
-        message="Formatting %d followed by words (&quot;per&quot;): This should probably be a plural rather than a string"
-        errorLine1="    &lt;string name=&quot;accessibility_battery_level&quot; msgid=&quot;7451474187113371965&quot;>&quot;Battery &lt;xliff:g id=&quot;NUMBER&quot;>%d&lt;/xliff:g> per cent.&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="174"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="PluralsCandidate"
-        message="Formatting %d followed by words (&quot;per&quot;): This should probably be a plural rather than a string"
-        errorLine1="    &lt;string name=&quot;accessibility_battery_level&quot; msgid=&quot;7451474187113371965&quot;>&quot;Battery &lt;xliff:g id=&quot;NUMBER&quot;>%d&lt;/xliff:g> per cent.&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="174"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="PluralsCandidate"
-        message="Formatting %d followed by words (&quot;percent&quot;): This should probably be a plural rather than a string"
-        errorLine1="    &lt;string name=&quot;accessibility_battery_level_charging&quot; msgid=&quot;1147587904439319646&quot;>&quot;Battery charging, &lt;xliff:g id=&quot;BATTERY_PERCENTAGE&quot;>%d&lt;/xliff:g> percent.&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="175"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="PluralsCandidate"
-        message="Formatting %d followed by words (&quot;percent&quot;): This should probably be a plural rather than a string"
-        errorLine1="    &lt;string name=&quot;accessibility_battery_level_charging&quot; msgid=&quot;1147587904439319646&quot;>&quot;Battery charging, &lt;xliff:g id=&quot;BATTERY_PERCENTAGE&quot;>%d&lt;/xliff:g> percent.&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="175"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="PluralsCandidate"
-        message="Formatting %d followed by words (&quot;percent&quot;): This should probably be a plural rather than a string"
-        errorLine1="    &lt;string name=&quot;accessibility_battery_level_charging&quot; msgid=&quot;1147587904439319646&quot;>&quot;Battery charging, &lt;xliff:g id=&quot;BATTERY_PERCENTAGE&quot;>%d&lt;/xliff:g> percent.&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="175"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="PluralsCandidate"
-        message="Formatting %d followed by words (&quot;percent&quot;): This should probably be a plural rather than a string"
-        errorLine1="    &lt;string name=&quot;accessibility_battery_level_charging&quot; msgid=&quot;1147587904439319646&quot;>&quot;Battery charging, &lt;xliff:g id=&quot;BATTERY_PERCENTAGE&quot;>%d&lt;/xliff:g> percent.&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="175"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="PluralsCandidate"
-        message="Formatting %d followed by words (&quot;Devices&quot;): This should probably be a plural rather than a string"
-        errorLine1="    &lt;string name=&quot;quick_settings_bluetooth_multiple_devices_label&quot; msgid=&quot;3912245565613684735&quot;>&quot;Bluetooth (&lt;xliff:g id=&quot;NUMBER&quot;>%d&lt;/xliff:g> Devices)&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="282"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="PluralsCandidate"
-        message="Formatting %d followed by words (&quot;Devices&quot;): This should probably be a plural rather than a string"
-        errorLine1="    &lt;string name=&quot;quick_settings_bluetooth_multiple_devices_label&quot; msgid=&quot;3912245565613684735&quot;>&quot;Bluetooth (&lt;xliff:g id=&quot;NUMBER&quot;>%d&lt;/xliff:g> Devices)&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="282"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="PluralsCandidate"
-        message="Formatting %d followed by words (&quot;Devices&quot;): This should probably be a plural rather than a string"
-        errorLine1="    &lt;string name=&quot;quick_settings_bluetooth_multiple_devices_label&quot; msgid=&quot;3912245565613684735&quot;>&quot;Bluetooth (&lt;xliff:g id=&quot;NUMBER&quot;>%d&lt;/xliff:g> Devices)&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="282"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="PluralsCandidate"
-        message="Formatting %d followed by words (&quot;Devices&quot;): This should probably be a plural rather than a string"
-        errorLine1="    &lt;string name=&quot;quick_settings_bluetooth_multiple_devices_label&quot; msgid=&quot;3912245565613684735&quot;>&quot;Bluetooth (&lt;xliff:g id=&quot;NUMBER&quot;>%d&lt;/xliff:g> Devices)&quot;&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="282"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="PluralsCandidate"
-        message="Formatting %d followed by words (&quot;percent&quot;): This should probably be a plural rather than a string"
-        errorLine1="    &lt;string name=&quot;accessibility_battery_level&quot;>Battery &lt;xliff:g id=&quot;number&quot;>%d&lt;/xliff:g> percent.&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="436"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="PluralsCandidate"
-        message="Formatting %d followed by words (&quot;percent&quot;): This should probably be a plural rather than a string"
-        errorLine1="    &lt;string name=&quot;accessibility_battery_level_charging&quot;>Battery charging, &lt;xliff:g id=&quot;battery_percentage&quot;>%d&lt;/xliff:g> percent.&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="439"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="PluralsCandidate"
-        message="Formatting %d followed by words (&quot;Devices&quot;): This should probably be a plural rather than a string"
-        errorLine1="    &lt;string name=&quot;quick_settings_bluetooth_multiple_devices_label&quot;>Bluetooth (&lt;xliff:g id=&quot;number&quot;>%d&lt;/xliff:g> Devices)&lt;/string>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="683"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ExportedContentProvider"
-        message="Exported content providers can provide access to potentially sensitive data"
-        errorLine1="        &lt;provider android:name=&quot;.keyguard.KeyguardSliceProvider&quot;"
-        errorLine2="        ^">
-        <location
-            file="AndroidManifest.xml"
-            line="605"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ExportedReceiver"
-        message="Exported receiver does not require permission"
-        errorLine1="        &lt;receiver"
-        errorLine2="        ^">
-        <location
-            file="AndroidManifest.xml"
-            line="611"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ExportedService"
-        message="Exported service does not require permission"
-        errorLine1="        &lt;service android:name=&quot;SystemUIService&quot;"
-        errorLine2="        ^">
-        <location
-            file="AndroidManifest.xml"
-            line="242"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ExportedService"
-        message="Exported service does not require permission"
-        errorLine1="        &lt;service"
-        errorLine2="        ^">
-        <location
-            file="AndroidManifest.xml"
-            line="516"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="DrawAllocation"
-        message="Avoid object allocations during draw/layout operations (preallocate and reuse instead)"
-        errorLine1="            mWindowManagerProxy.setTouchRegion(new Rect(mHandle.getLeft(), mHandle.getTop(),"
-        errorLine2="                                               ^">
-        <location
-            file="src/com/android/systemui/stackdivider/DividerView.java"
-            line="362"
-            column="48"/>
-    </issue>
-
-    <issue
-        id="DrawAllocation"
-        message="Avoid object allocations during draw/layout operations (preallocate and reuse instead)"
-        errorLine1="        mLayoutAlgorithm.getTaskStackBounds(mDisplayRect, new Rect(0, 0, width, height),"
-        errorLine2="                                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/com/android/systemui/recents/views/TaskStackView.java"
-            line="1193"
-            column="59"/>
-    </issue>
-
-    <issue
-        id="ObsoleteLayoutParam"
-        message="Invalid layout param in a `LinearLayout`: `layout_alignParentTop`"
-        errorLine1="            android:layout_alignParentTop=&quot;true&quot;/>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_fullscreen_user_switcher.xml"
-            line="34"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="ObsoleteLayoutParam"
-        message="Invalid layout param in a `FrameLayout`: `layout_weight`"
-        errorLine1="        android:layout_weight=&quot;0&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/contextual.xml"
-            line="31"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ObsoleteLayoutParam"
-        message="Invalid layout param in a `FrameLayout`: `layout_weight`"
-        errorLine1="        android:layout_weight=&quot;0&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/contextual.xml"
-            line="44"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ObsoleteLayoutParam"
-        message="Invalid layout param in a `FrameLayout`: `layout_weight`"
-        errorLine1="        android:layout_weight=&quot;0&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/contextual.xml"
-            line="55"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ObsoleteLayoutParam"
-        message="Invalid layout param in a `FrameLayout`: `layout_weight`"
-        errorLine1="        android:layout_weight=&quot;0&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/contextual.xml"
-            line="66"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="UseCompoundDrawables"
-        message="This tag and its children can be replaced by one `&lt;TextView/>` and a compound drawable"
-        errorLine1="&lt;LinearLayout"
-        errorLine2="^">
-        <location
-            file="res/layout/car_fullscreen_user_pod.xml"
-            line="19"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UseCompoundDrawables"
-        message="This tag and its children can be replaced by one `&lt;TextView/>` and a compound drawable"
-        errorLine1="    &lt;LinearLayout"
-        errorLine2="    ^">
-        <location
-            file="res/layout/qs_detail_items.xml"
-            line="34"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="MergeRootFrame"
-        message="This `&lt;FrameLayout>` can be replaced with a `&lt;merge>` tag"
-        errorLine1="&lt;FrameLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/layout/forced_resizable_activity.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="MergeRootFrame"
-        message="This `&lt;FrameLayout>` can be replaced with a `&lt;merge>` tag"
-        errorLine1="&lt;FrameLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/layout/mland.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="MergeRootFrame"
-        message="This `&lt;FrameLayout>` can be replaced with a `&lt;merge>` tag"
-        errorLine1="&lt;FrameLayout"
-        errorLine2="^">
-        <location
-            file="res/layout/navigation_layout.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="MergeRootFrame"
-        message="This `&lt;FrameLayout>` can be replaced with a `&lt;merge>` tag"
-        errorLine1="&lt;FrameLayout"
-        errorLine2="^">
-        <location
-            file="res/layout-sw600dp/navigation_layout_rot90.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="MergeRootFrame"
-        message="This `&lt;FrameLayout>` can be replaced with a `&lt;merge>` tag"
-        errorLine1="&lt;FrameLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/layout/quick_settings_header_info.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="MergeRootFrame"
-        message="This `&lt;FrameLayout>` can be replaced with a `&lt;merge>` tag"
-        errorLine1="&lt;FrameLayout"
-        errorLine2="^">
-        <location
-            file="res/layout/recents.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="InefficientWeight"
-        message="Use a `layout_height` of `0dp` instead of `wrap_content` for better performance"
-        errorLine1="                android:layout_height=&quot;wrap_content&quot;"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/notification_info.xml"
-            line="109"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="InefficientWeight"
-        message="Use a `layout_width` of `0dp` instead of `wrap_content` for better performance"
-        errorLine1="        android:layout_width=&quot;wrap_content&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/quick_settings_footer.xml"
-            line="30"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="NestedWeights"
-        message="Nested weights are bad for performance"
-        errorLine1="                android:layout_weight=&quot;1&quot;"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/qs_footer_impl.xml"
-            line="62"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@color/notification_guts_bg_color` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="        android:background=&quot;@color/notification_guts_bg_color&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/app_ops_info.xml"
-            line="29"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@color/car_user_switcher_background_color` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="        android:background=&quot;@color/car_user_switcher_background_color&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_fullscreen_user_switcher.xml"
-            line="22"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@drawable/system_bar_background` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;@drawable/system_bar_background&quot;>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_left_navigation_bar.xml"
-            line="26"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@drawable/system_bar_background` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;@drawable/system_bar_background&quot;>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_left_navigation_bar_unprovisioned.xml"
-            line="26"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@drawable/system_bar_background` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;@drawable/system_bar_background&quot;>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_navigation_bar.xml"
-            line="25"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@drawable/system_bar_background` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;@drawable/system_bar_background&quot;>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_navigation_bar_unprovisioned.xml"
-            line="25"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@color/car_qs_background_primary` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;@color/car_qs_background_primary&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_qs_panel.xml"
-            line="22"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@drawable/system_bar_background` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;@drawable/system_bar_background&quot;>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_right_navigation_bar.xml"
-            line="26"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@drawable/system_bar_background` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;@drawable/system_bar_background&quot;>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_right_navigation_bar_unprovisioned.xml"
-            line="26"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@drawable/system_bar_background` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;@drawable/system_bar_background&quot;>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_top_navigation_bar.xml"
-            line="24"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@drawable/car_card_rounded_background` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;@drawable/car_card_rounded_background&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_volume_dialog.xml"
-            line="19"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `?android:attr/colorForeground` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;?android:attr/colorForeground&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/divider.xml"
-            line="20"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@color/fingerprint_dialog_dim_color` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;@color/fingerprint_dialog_dim_color&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/fingerprint_dialog.xml"
-            line="22"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `#4dffffff` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;#4dffffff&quot; />"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/horizontal_divider.xml"
-            line="25"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `?android:attr/dividerHorizontal` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;?android:attr/dividerHorizontal&quot; />"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/keyboard_shortcuts_category_separator.xml"
-            line="25"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@android:color/black` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;@android:color/black&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/nav_bar_tuner_inflater.xml"
-            line="19"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@drawable/system_bar_background` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;@drawable/system_bar_background&quot;>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/navigation_bar.xml"
-            line="25"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@color/notification_divider_color` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;@color/notification_divider_color&quot; />"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/notification_children_divider.xml"
-            line="23"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@color/notification_guts_bg_color` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;@color/notification_guts_bg_color&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/notification_info.xml"
-            line="27"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@color/notification_guts_bg_color` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;@color/notification_guts_bg_color&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/notification_snooze.xml"
-            line="24"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `?android:selectableItemBackgroundBorderless` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;?android:selectableItemBackgroundBorderless&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/pip_menu_action.xml"
-            line="21"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `?android:attr/listDivider` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;?android:attr/listDivider&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/qs_customize_tile_divider.xml"
-            line="24"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `?android:attr/colorForeground` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;?android:attr/colorForeground&quot; />"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/qs_divider.xml"
-            line="20"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `?android:attr/colorPrimary` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;?android:attr/colorPrimary&quot; >"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/quick_settings_footer.xml"
-            line="26"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `#88000000` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;#88000000&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/recents_incompatible_app_overlay.xml"
-            line="21"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@drawable/search_bg_transparent` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;@drawable/search_bg_transparent&quot;>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/recents_search_bar.xml"
-            line="20"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `?android:attr/colorAccent` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;?android:attr/colorAccent&quot;>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons.xml"
-            line="31"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `?android:attr/colorAccent` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;?android:attr/colorAccent&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="28"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `?android:attr/colorAccent` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;?android:attr/colorAccent&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="28"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `?android:attr/colorAccent` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;?android:attr/colorAccent&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_text_area.xml"
-            line="23"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `@drawable/system_bar_background` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;@drawable/system_bar_background&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/status_bar.xml"
-            line="27"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `?android:attr/selectableItemBackground` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;?android:attr/selectableItemBackground&quot;>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/status_bar_alarm_group.xml"
-            line="26"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="Overdraw"
-        message="Possible overdraw: Root element paints background `#CC000000` with a theme that also paints a background (inferred theme is `@style/Theme.SystemUI`)"
-        errorLine1="    android:background=&quot;#CC000000&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/tv_pip_menu.xml"
-            line="25"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.array.car_facet_icons` appears to be unused"
-        errorLine1="    &lt;array name=&quot;car_facet_icons&quot; />"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/arrays_car.xml"
-            line="25"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.array.car_facet_intent_uris` appears to be unused"
-        errorLine1="    &lt;array name=&quot;car_facet_intent_uris&quot; />"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/arrays_car.xml"
-            line="26"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.array.car_facet_longpress_intent_uris` appears to be unused"
-        errorLine1="    &lt;array name=&quot;car_facet_longpress_intent_uris&quot; />"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/arrays_car.xml"
-            line="27"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.array.car_facet_package_filters` appears to be unused"
-        errorLine1="    &lt;array name=&quot;car_facet_package_filters&quot;/>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/arrays_car.xml"
-            line="28"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.array.car_facet_category_filters` appears to be unused"
-        errorLine1="    &lt;array name=&quot;car_facet_category_filters&quot;/>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/arrays_car.xml"
-            line="29"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.assist_disclosure_trace` appears to be unused"
-        errorLine1="&lt;pathInterpolator xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/interpolator/assist_disclosure_trace.xml"
-            line="18"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.background_protect_secondary` appears to be unused"
-        errorLine1="&lt;selector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;>"
-        errorLine2="^">
-        <location
-            file="res/color/background_protect_secondary.xml"
-            line="18"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.background_protected` appears to be unused"
-        errorLine1="&lt;selector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;>"
-        errorLine2="^">
-        <location
-            file="res/color/background_protected.xml"
-            line="18"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.car_navigation_button` appears to be unused"
-        errorLine1="&lt;merge xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;>"
-        errorLine2="^">
-        <location
-            file="res/layout/car_navigation_button.xml"
-            line="20"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.car_rounded_bg_bottom` appears to be unused"
-        errorLine1="&lt;shape xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/car_rounded_bg_bottom.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.car_top_navigation_bar` appears to be unused"
-        errorLine1="&lt;com.android.systemui.statusbar.car.CarNavigationBarView"
-        errorLine2="^">
-        <location
-            file="res/layout/car_top_navigation_bar.xml"
-            line="20"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.car_user_switcher_close_pages_animation` appears to be unused"
-        errorLine1="&lt;set xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;>"
-        errorLine2="^">
-        <location
-            file="res/anim/car_user_switcher_close_pages_animation.xml"
-            line="15"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.car_user_switcher_close_pod_animation` appears to be unused"
-        errorLine1="&lt;set xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/anim/car_user_switcher_close_pod_animation.xml"
-            line="15"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.car_user_switcher_open_pages_animation` appears to be unused"
-        errorLine1="&lt;set xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;>"
-        errorLine2="^">
-        <location
-            file="res/anim/car_user_switcher_open_pages_animation.xml"
-            line="15"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.car_user_switcher_open_pod_animation` appears to be unused"
-        errorLine1="&lt;set xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/anim/car_user_switcher_open_pod_animation.xml"
-            line="15"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ticker_background_color` appears to be unused"
-        errorLine1="    &lt;drawable name=&quot;ticker_background_color&quot;>#ff1d1d1d&lt;/drawable>"
-        errorLine2="              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="21"
-            column="15"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.notification_panel_solid_background` appears to be unused"
-        errorLine1="    &lt;color name=&quot;notification_panel_solid_background&quot;>#ff000000&lt;/color>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="25"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.status_bar_notification_row_background_color` appears to be unused"
-        errorLine1="    &lt;drawable name=&quot;status_bar_notification_row_background_color&quot;>#ff090909&lt;/drawable>"
-        errorLine2="              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="26"
-            column="15"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.notification_list_shadow_top` appears to be unused"
-        errorLine1="    &lt;color name=&quot;notification_list_shadow_top&quot;>#80000000&lt;/color>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="27"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.heads_up_notification_bg_pressed` appears to be unused"
-        errorLine1="    &lt;drawable name=&quot;heads_up_notification_bg_pressed&quot;>#ff33B5E5&lt;/drawable>"
-        errorLine2="              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="28"
-            column="15"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.qs_batterymeter_frame_color` appears to be unused"
-        errorLine1="    &lt;color name=&quot;qs_batterymeter_frame_color&quot;>#FF404040&lt;/color>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="29"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.qs_tile_divider` appears to be unused"
-        errorLine1="    &lt;color name=&quot;qs_tile_divider&quot;>#29ffffff&lt;/color>&lt;!-- 16% white -->"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="30"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.qs_detail_button` appears to be unused"
-        errorLine1="    &lt;color name=&quot;qs_detail_button&quot;>@*android:color/quaternary_device_default_settings&lt;/color>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="32"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.qs_detail_button_white` appears to be unused"
-        errorLine1="    &lt;color name=&quot;qs_detail_button_white&quot;>#B3FFFFFF&lt;/color>&lt;!-- 70% white -->"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="33"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.qs_user_detail_icon_muted` appears to be unused"
-        errorLine1="    &lt;color name=&quot;qs_user_detail_icon_muted&quot;>#FFFFFFFF&lt;/color> &lt;!-- not so muted after all -->"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="36"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.keyguard_overflow_content_color` appears to be unused"
-        errorLine1="    &lt;color name=&quot;keyguard_overflow_content_color&quot;>#ff686868&lt;/color>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="40"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.recents_task_view_lock_to_app_button_background_color` appears to be unused"
-        errorLine1="    &lt;color name=&quot;recents_task_view_lock_to_app_button_background_color&quot;>#ffe6e6e6&lt;/color>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="57"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.recents_task_view_lock_to_app_button_color` appears to be unused"
-        errorLine1="    &lt;color name=&quot;recents_task_view_lock_to_app_button_color&quot;>#ff666666&lt;/color>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="59"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.recents_freeform_workspace_bg_color` appears to be unused"
-        errorLine1="    &lt;color name=&quot;recents_freeform_workspace_bg_color&quot;>#33FFFFFF&lt;/color>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="61"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.keyguard_affordance` appears to be unused"
-        errorLine1="    &lt;color name=&quot;keyguard_affordance&quot;>#ffffffff&lt;/color>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="68"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.segmented_buttons_background` appears to be unused"
-        errorLine1="    &lt;color name=&quot;segmented_buttons_background&quot;>#14FFFFFF&lt;/color>&lt;!-- 8% white -->"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="121"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.logout_button_bg_color` appears to be unused"
-        errorLine1="    &lt;color name=&quot;logout_button_bg_color&quot;>#ccffffff&lt;/color>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="172"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.recents_tv_card_background_color` appears to be unused"
-        errorLine1="    &lt;color name=&quot;recents_tv_card_background_color&quot;>#FF263238&lt;/color>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors_tv.xml"
-            line="20"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.recents_tv_card_title_text_color` appears to be unused"
-        errorLine1="    &lt;color name=&quot;recents_tv_card_title_text_color&quot;>#CCEEEEEE&lt;/color>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors_tv.xml"
-            line="21"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.recents_tv_dismiss_text_color` appears to be unused"
-        errorLine1="    &lt;color name=&quot;recents_tv_dismiss_text_color&quot;>#7FEEEEEE&lt;/color>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors_tv.xml"
-            line="22"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.recents_tv_text_shadow_color` appears to be unused"
-        errorLine1="    &lt;color name=&quot;recents_tv_text_shadow_color&quot;>#7F000000&lt;/color>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors_tv.xml"
-            line="23"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.status_bar_config_maxNotificationIcons` appears to be unused"
-        errorLine1="    &lt;integer name=&quot;status_bar_config_maxNotificationIcons&quot;>5&lt;/integer>"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-sw720dp/config.xml"
-            line="23"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.quick_settings_max_rows` appears to be unused"
-        errorLine1="    &lt;integer name=&quot;quick_settings_max_rows&quot;>2&lt;/integer>"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-land/config.xml"
-            line="24"
-            column="14"/>
-        <location
-            file="res/values-sw600dp/config.xml"
-            line="24"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.bool.config_recents_use_hardware_layers` appears to be unused"
-        errorLine1="    &lt;bool name=&quot;config_recents_use_hardware_layers&quot;>false&lt;/bool>"
-        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="25"
-            column="11"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.bool.config_notifications_round_rect_clipping` appears to be unused"
-        errorLine1="    &lt;bool name=&quot;config_notifications_round_rect_clipping&quot;>true&lt;/bool>"
-        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="38"
-            column="11"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.config_maxNotificationIcons` appears to be unused"
-        errorLine1="    &lt;integer name=&quot;config_maxNotificationIcons&quot;>5&lt;/integer>"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="59"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.bool.config_showPhoneRSSIForData` appears to be unused"
-        errorLine1="    &lt;bool name=&quot;config_showPhoneRSSIForData&quot;>false&lt;/bool>"
-        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="62"
-            column="11"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.bool.config_showRotationLock` appears to be unused"
-        errorLine1="    &lt;bool name=&quot;config_showRotationLock&quot;>true&lt;/bool>"
-        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="68"
-            column="11"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.config_vibration_duration` appears to be unused"
-        errorLine1="    &lt;integer translatable=&quot;false&quot; name=&quot;config_vibration_duration&quot;>0&lt;/integer>"
-        errorLine2="                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="71"
-            column="35"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.config_search_panel_view_vibration_duration` appears to be unused"
-        errorLine1="    &lt;integer translatable=&quot;false&quot; name=&quot;config_search_panel_view_vibration_duration&quot;>20&lt;/integer>"
-        errorLine2="                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="74"
-            column="35"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.one_finger_pop_duration_ms` appears to be unused"
-        errorLine1="    &lt;integer name=&quot;one_finger_pop_duration_ms&quot;>10&lt;/integer>"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="90"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.bool.quick_settings_wide` appears to be unused"
-        errorLine1="    &lt;bool name=&quot;quick_settings_wide&quot;>false&lt;/bool>"
-        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="111"
-            column="11"/>
-        <location
-            file="res/values-land/dimens.xml"
-            line="34"
-            column="11"/>
-        <location
-            file="res/values-sw600dp-land/config.xml"
-            line="19"
-            column="11"/>
-        <location
-            file="res/values-w550dp-land/config.xml"
-            line="25"
-            column="11"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.quick_settings_user_time_settings_tile_span` appears to be unused"
-        errorLine1="    &lt;integer name=&quot;quick_settings_user_time_settings_tile_span&quot;>1&lt;/integer>"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="120"
-            column="14"/>
-        <location
-            file="res/values-land/config.xml"
-            line="27"
-            column="14"/>
-        <location
-            file="res/values-sw600dp/config.xml"
-            line="27"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.bool.quick_settings_rssi_tile_capitalization` appears to be unused"
-        errorLine1="    &lt;bool name=&quot;quick_settings_rssi_tile_capitalization&quot;>true&lt;/bool>"
-        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="141"
-            column="11"/>
-        <location
-            file="res/values-mcc262-mnc07/config.xml"
-            line="24"
-            column="11"/>
-        <location
-            file="res/values-mcc262-mnc08/config.xml"
-            line="24"
-            column="11"/>
-        <location
-            file="res/values-mcc262-mnc11/config.xml"
-            line="24"
-            column="11"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.quick_settings_brightness_dialog_short_timeout` appears to be unused"
-        errorLine1="    &lt;integer name=&quot;quick_settings_brightness_dialog_short_timeout&quot;>2000&lt;/integer>"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="144"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.quick_settings_brightness_dialog_long_timeout` appears to be unused"
-        errorLine1="    &lt;integer name=&quot;quick_settings_brightness_dialog_long_timeout&quot;>4000&lt;/integer>"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="145"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.bool.doze_pulse_on_notifications` appears to be unused"
-        errorLine1="    &lt;bool name=&quot;doze_pulse_on_notifications&quot;>true&lt;/bool>"
-        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="237"
-            column="11"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.days_to_show_hotspot_tile` appears to be unused"
-        errorLine1="    &lt;integer name=&quot;days_to_show_hotspot_tile&quot;>30&lt;/integer>"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="304"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.days_to_show_color_inversion_tile` appears to be unused"
-        errorLine1="    &lt;integer name=&quot;days_to_show_color_inversion_tile&quot;>7&lt;/integer>"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="307"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.zen_mode_max_conditions` appears to be unused"
-        errorLine1="    &lt;integer name=&quot;zen_mode_max_conditions&quot;>5&lt;/integer>"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="313"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.carrier_network_change_anim_time` appears to be unused"
-        errorLine1="    &lt;integer name=&quot;carrier_network_change_anim_time&quot;>3000&lt;/integer>"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="325"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.volume_expand_animation_duration` appears to be unused"
-        errorLine1="    &lt;item name=&quot;volume_expand_animation_duration&quot; type=&quot;integer&quot;>300&lt;/item>"
-        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="328"
-            column="11"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.bool.quick_settings_show_full_alarm` appears to be unused"
-        errorLine1="    &lt;bool name=&quot;quick_settings_show_full_alarm&quot;>false&lt;/bool>"
-        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config.xml"
-            line="375"
-            column="11"/>
-        <location
-            file="res/values-sw410dp/config.xml"
-            line="23"
-            column="11"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.bool.config_enablePersistentDockedActivity` appears to be unused"
-        errorLine1="    &lt;bool name=&quot;config_enablePersistentDockedActivity&quot;>false&lt;/bool>"
-        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config_car.xml"
-            line="23"
-            column="11"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.config_persistentDockedActivityIntentUri` appears to be unused"
-        errorLine1="    &lt;string name=&quot;config_persistentDockedActivityIntentUri&quot; translatable=&quot;false&quot;>&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/config_car.xml"
-            line="24"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.peek_window_y_offset` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;peek_window_y_offset&quot;>-12dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="20"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.fraction.battery_button_height_fraction` appears to be unused"
-        errorLine1="    &lt;fraction name=&quot;battery_button_height_fraction&quot;>10.5%&lt;/fraction>"
-        errorLine2="              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-hdpi/dimens.xml"
-            line="20"
-            column="15"/>
-        <location
-            file="res/values-mdpi/dimens.xml"
-            line="19"
-            column="15"/>
-        <location
-            file="res/values-tvdpi/dimens.xml"
-            line="19"
-            column="15"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.fraction.battery_subpixel_smoothing_left` appears to be unused"
-        errorLine1="    &lt;fraction name=&quot;battery_subpixel_smoothing_left&quot;>20%&lt;/fraction>"
-        errorLine2="              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-hdpi/dimens.xml"
-            line="24"
-            column="15"/>
-        <location
-            file="res/values-mdpi/dimens.xml"
-            line="23"
-            column="15"/>
-        <location
-            file="res/values-tvdpi/dimens.xml"
-            line="23"
-            column="15"/>
-        <location
-            file="res/values-xhdpi/dimens.xml"
-            line="23"
-            column="15"/>
-        <location
-            file="res/values-xxhdpi/dimens.xml"
-            line="23"
-            column="15"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.fraction.battery_subpixel_smoothing_right` appears to be unused"
-        errorLine1="    &lt;fraction name=&quot;battery_subpixel_smoothing_right&quot;>12%&lt;/fraction>"
-        errorLine2="              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-hdpi/dimens.xml"
-            line="25"
-            column="15"/>
-        <location
-            file="res/values-mdpi/dimens.xml"
-            line="24"
-            column="15"/>
-        <location
-            file="res/values-tvdpi/dimens.xml"
-            line="24"
-            column="15"/>
-        <location
-            file="res/values-xhdpi/dimens.xml"
-            line="24"
-            column="15"/>
-        <location
-            file="res/values-xxhdpi/dimens.xml"
-            line="24"
-            column="15"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.notification_panel_min_height` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;notification_panel_min_height&quot;>770dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-sw720dp/dimens.xml"
-            line="28"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.panel_float` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;panel_float&quot;>56dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-sw720dp/dimens.xml"
-            line="30"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.peek_height` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;peek_height&quot;>@dimen/close_handle_height&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-sw600dp/dimens.xml"
-            line="39"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.qs_brightness_padding_top` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;qs_brightness_padding_top&quot;>6dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-sw600dp-land/dimens.xml"
-            line="41"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.snooze_option_text_size` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;snooze_option_text_size&quot;>14sp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="183"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.snooze_option_padding` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;snooze_option_padding&quot;>8dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="186"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.navigation_extra_key_width` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;navigation_extra_key_width&quot;>36dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="221"
-            column="12"/>
-        <location
-            file="res/values-sw360dp/dimens.xml"
-            line="23"
-            column="12"/>
-        <location
-            file="res/values-sw600dp/dimens.xml"
-            line="32"
-            column="12"/>
-        <location
-            file="res/values-sw900dp/dimens.xml"
-            line="23"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.navbar_search_snap_margin` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;navbar_search_snap_margin&quot;>40dip&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="228"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.navbar_search_outerring_diameter` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;navbar_search_outerring_diameter&quot;>340dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="231"
-            column="12"/>
-        <location
-            file="res/values-sw600dp/dimens.xml"
-            line="23"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.navbar_search_outerring_radius` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;navbar_search_outerring_radius&quot;>170dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="234"
-            column="12"/>
-        <location
-            file="res/values-sw600dp/dimens.xml"
-            line="26"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.navbar_search_panel_height` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;navbar_search_panel_height&quot;>230dip&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="237"
-            column="12"/>
-        <location
-            file="res/values-sw600dp/dimens.xml"
-            line="29"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.close_handle_height` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;close_handle_height&quot;>36dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="243"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.car_status_bar_header_height` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;car_status_bar_header_height&quot;>128dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="249"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.status_bar_header_padding_bottom` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;status_bar_header_padding_bottom&quot;>48dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="252"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.qs_header_system_icons_area_height` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;qs_header_system_icons_area_height&quot;>48dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="256"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.status_bar_header_height_expanded` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;status_bar_header_height_expanded&quot;>124dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="273"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.carrier_label_height` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;carrier_label_height&quot;>24dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="336"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.one_finger_pop_limit` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;one_finger_pop_limit&quot;>0dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="339"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.notification_panel_min_height_frac` appears to be unused"
-        errorLine1="    &lt;item type=&quot;dimen&quot; name=&quot;notification_panel_min_height_frac&quot;>0%&lt;/item>"
-        errorLine2="                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="343"
-            column="24"/>
-        <location
-            file="res/values-sw600dp/dimens.xml"
-            line="35"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.blinds_pop_threshold` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;blinds_pop_threshold&quot;>0dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="345"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.qs_header_gear_translation` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;qs_header_gear_translation&quot;>16dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="360"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.qs_dual_tile_height` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;qs_dual_tile_height&quot;>112dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="368"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.qs_dual_tile_padding_vertical` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;qs_dual_tile_padding_vertical&quot;>8dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="369"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.qs_tile_padding_top_large_text` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;qs_tile_padding_top_large_text&quot;>4dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="372"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.qs_tile_padding_bottom` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;qs_tile_padding_bottom&quot;>16dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="374"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.qs_tile_spacing` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;qs_tile_spacing&quot;>4dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="375"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.qs_detail_header_height` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;qs_detail_header_height&quot;>56dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="378"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.qs_detail_back_margin_end` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;qs_detail_back_margin_end&quot;>16dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="390"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.qs_battery_padding` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;qs_battery_padding&quot;>2dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="394"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.qs_notif_collapsed_space` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;qs_notif_collapsed_space&quot;>64dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="409"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.qs_footer_dialog_icon_size` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;qs_footer_dialog_icon_size&quot;>24sp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="423"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.qs_footer_dialog_icon_margin` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;qs_footer_dialog_icon_margin&quot;>8sp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="425"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.zen_mode_condition_detail_button_padding` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;zen_mode_condition_detail_button_padding&quot;>8dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="433"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.zen_mode_condition_detail_item_spacing` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;zen_mode_condition_detail_item_spacing&quot;>12dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="436"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.glowpadview_glow_radius` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;glowpadview_glow_radius&quot;>75dip&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="448"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.glowpadview_inner_radius` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;glowpadview_inner_radius&quot;>15dip&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="451"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.speed_bump_height` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;speed_bump_height&quot;>16dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="482"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.edge_tap_area_width` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;edge_tap_area_width&quot;>48dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="527"
-            column="12"/>
-        <location
-            file="res/values-sw600dp/dimens.xml"
-            line="66"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.multi_user_switch_expanded_margin` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;multi_user_switch_expanded_margin&quot;>8dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="536"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.multi_user_switch_collapsed_margin` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;multi_user_switch_collapsed_margin&quot;>13dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="539"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.clock_expanded_bottom_margin` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;clock_expanded_bottom_margin&quot;>20dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="553"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.clock_collapsed_bottom_margin` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;clock_collapsed_bottom_margin&quot;>10dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="556"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.clock_collapsed_bottom_margin_large_text` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;clock_collapsed_bottom_margin_large_text&quot;>6dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="559"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.multi_user_switch_width_collapsed` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;multi_user_switch_width_collapsed&quot;>34dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="562"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.multi_user_switch_width_expanded` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;multi_user_switch_width_expanded&quot;>48dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="565"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.multi_user_avatar_collapsed_size` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;multi_user_avatar_collapsed_size&quot;>22dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="571"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.qs_time_collapsed_size` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;qs_time_collapsed_size&quot;>14sp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="580"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.qs_date_collapsed_size` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;qs_date_collapsed_size&quot;>14sp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="589"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.qs_date_time_translation` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;qs_date_time_translation&quot;>8dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="591"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.header_battery_margin_expanded` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;header_battery_margin_expanded&quot;>6dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="610"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.header_battery_margin_keyguard` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;header_battery_margin_keyguard&quot;>6dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="613"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.battery_level_text_size` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;battery_level_text_size&quot;>12sp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="653"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.wide_type_icon_start_padding` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;wide_type_icon_start_padding&quot;>2dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="680"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.signal_cluster_margin_start` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;signal_cluster_margin_start&quot;>2.5dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="705"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.volume_slider_interspacing` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;volume_slider_interspacing&quot;>8dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="749"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.volume_offset_top` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;volume_offset_top&quot;>0dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="752"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.volume_button_size` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;volume_button_size&quot;>48dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="755"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.volume_dialog_margin_bottom` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;volume_dialog_margin_bottom&quot;>4dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="758"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.volume_dialog_padding_top` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;volume_dialog_padding_top&quot;>8dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="759"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.volume_dialog_padding_end` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;volume_dialog_padding_end&quot;>40dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="760"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.volume_row_padding_bottom` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;volume_row_padding_bottom&quot;>9.4dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="762"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.volume_row_padding_start` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;volume_row_padding_start&quot;>4dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="763"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.volume_row_header_padding_start` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;volume_row_header_padding_start&quot;>16dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="764"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.volume_row_height` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;volume_row_height&quot;>64dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="765"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.volume_row_slider_height` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;volume_row_slider_height&quot;>48dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="766"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.volume_row_slider_padding_start` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;volume_row_slider_padding_start&quot;>12dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="767"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.volume_expander_margin_end` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;volume_expander_margin_end&quot;>2dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="769"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.volume_expander_margin_top` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;volume_expander_margin_top&quot;>6dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="770"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.fab_size` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;fab_size&quot;>56dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="778"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.fab_margin` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;fab_margin&quot;>16dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="779"
-            column="12"/>
-        <location
-            file="res/values-sw600dp/dimens.xml"
-            line="84"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.fab_elevation` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;fab_elevation&quot;>12dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="780"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.fab_press_translation_z` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;fab_press_translation_z&quot;>9dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="781"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.battery_detail_graph_space_top` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;battery_detail_graph_space_top&quot;>27dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="789"
-            column="12"/>
-        <location
-            file="res/values-land/dimens.xml"
-            line="30"
-            column="12"/>
-        <location
-            file="res/values-sw600dp-land/dimens.xml"
-            line="37"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.battery_detail_graph_space_bottom` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;battery_detail_graph_space_bottom&quot;>27dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="790"
-            column="12"/>
-        <location
-            file="res/values-land/dimens.xml"
-            line="31"
-            column="12"/>
-        <location
-            file="res/values-sw600dp-land/dimens.xml"
-            line="38"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.recents_layout_side_margin_tablet_docked` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;recents_layout_side_margin_tablet_docked&quot;>16dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="810"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.recents_layout_side_margin_tablet_xlarge_docked` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;recents_layout_side_margin_tablet_xlarge_docked&quot;>16dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="812"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.recents_freeform_layout_bottom_margin` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;recents_freeform_layout_bottom_margin&quot;>16dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="836"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.recents_freeform_layout_task_padding` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;recents_freeform_layout_task_padding&quot;>8dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="839"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.recents_task_affiliation_color_min_alpha_percentage` appears to be unused"
-        errorLine1="    &lt;item name=&quot;recents_task_affiliation_color_min_alpha_percentage&quot; format=&quot;float&quot; type=&quot;dimen&quot;>0.6&lt;/item>"
-        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="876"
-            column="11"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.recents_task_view_remove_anim_translation_x` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;recents_task_view_remove_anim_translation_x&quot;>100dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="885"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.recents_recents_row_dim_alpha` appears to be unused"
-        errorLine1="    &lt;item name=&quot;recents_recents_row_dim_alpha&quot; format=&quot;float&quot; type=&quot;dimen&quot;>0.5&lt;/item>"
-        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="888"
-            column="11"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.cell_overlay_padding` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;cell_overlay_padding&quot;>18dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="921"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.top_padding` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;top_padding&quot;>0dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="944"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.bottom_padding` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;bottom_padding&quot;>48dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="945"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.wireless_charging_dots_radius_start` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;wireless_charging_dots_radius_start&quot;>0dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="988"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.wireless_charging_dots_radius_end` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;wireless_charging_dots_radius_end&quot;>4dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="989"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.wireless_charging_circle_radius_start` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;wireless_charging_circle_radius_start&quot;>28dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="990"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.wireless_charging_circle_radius_end` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;wireless_charging_circle_radius_end&quot;>84dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="991"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.wireless_charging_angle_offset` appears to be unused"
-        errorLine1="    &lt;integer name=&quot;wireless_charging_angle_offset&quot;>20&lt;/integer>"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="992"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.wireless_charging_scale_dots_duration` appears to be unused"
-        errorLine1="    &lt;integer name=&quot;wireless_charging_scale_dots_duration&quot;>83&lt;/integer>"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="993"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.wireless_charging_num_dots` appears to be unused"
-        errorLine1="    &lt;integer name=&quot;wireless_charging_num_dots&quot;>16&lt;/integer>"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="994"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.logout_button_layout_height` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;logout_button_layout_height&quot;>32dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="1018"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.logout_button_padding_horizontal` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;logout_button_padding_horizontal&quot;>16dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="1019"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.logout_button_margin_bottom` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;logout_button_margin_bottom&quot;>12dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="1020"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.logout_button_corner_radius` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;logout_button_corner_radius&quot;>2dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens.xml"
-            line="1021"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.car_navigation_button_width` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;car_navigation_button_width&quot;>64dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens_car.xml"
-            line="26"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.car_navigation_bar_width` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;car_navigation_bar_width&quot;>760dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens_car.xml"
-            line="27"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.car_user_switcher_container_anim_height` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;car_user_switcher_container_anim_height&quot;>-420dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens_car.xml"
-            line="44"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.recents_grid_padding_left_right` appears to be unused"
-        errorLine1="  &lt;dimen name=&quot;recents_grid_padding_left_right&quot;>32dp&lt;/dimen>"
-        errorLine2="         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens_grid.xml"
-            line="19"
-            column="10"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.recents_grid_padding_top_bottom` appears to be unused"
-        errorLine1="  &lt;dimen name=&quot;recents_grid_padding_top_bottom&quot;>150dp&lt;/dimen>"
-        errorLine2="         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/dimens_grid.xml"
-            line="20"
-            column="10"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.dismiss_all_shape` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/dismiss_all_shape.xml"
-            line="1"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.dismiss_all_shape_animation` appears to be unused"
-        errorLine1="&lt;animated-vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/dismiss_all_shape_animation.xml"
-            line="1"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.dismiss_all_shape_animation_1` appears to be unused"
-        errorLine1="&lt;set xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; >"
-        errorLine2="^">
-        <location
-            file="res/anim/dismiss_all_shape_animation_1.xml"
-            line="15"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.dismiss_all_shape_animation_2` appears to be unused"
-        errorLine1="&lt;set xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; >"
-        errorLine2="^">
-        <location
-            file="res/anim/dismiss_all_shape_animation_2.xml"
-            line="15"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.dismiss_all_shape_animation_3` appears to be unused"
-        errorLine1="&lt;set xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; >"
-        errorLine2="^">
-        <location
-            file="res/anim/dismiss_all_shape_animation_3.xml"
-            line="15"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.dismiss_all_shape_animation_rectangle_path_1` appears to be unused"
-        errorLine1="&lt;set xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; >"
-        errorLine2="^">
-        <location
-            file="res/anim/dismiss_all_shape_animation_rectangle_path_1.xml"
-            line="15"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.dismiss_all_shape_animation_rectangle_path_1_1` appears to be unused"
-        errorLine1="&lt;set xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; >"
-        errorLine2="^">
-        <location
-            file="res/anim/dismiss_all_shape_animation_rectangle_path_1_1.xml"
-            line="15"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.dismiss_all_shape_animation_rectangle_path_1_2` appears to be unused"
-        errorLine1="&lt;set xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; >"
-        errorLine2="^">
-        <location
-            file="res/anim/dismiss_all_shape_animation_rectangle_path_1_2.xml"
-            line="15"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.divider` appears to be unused"
-        errorLine1="&lt;View xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/layout/divider.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.fab_elevation` appears to be unused"
-        errorLine1="&lt;selector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;>"
-        errorLine2="^">
-        <location
-            file="res/anim/fab_elevation.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.fingerprint_icon` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/fingerprint_icon.xml"
-            line="18"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.header_dot` appears to be unused"
-        errorLine1="&lt;shape"
-        errorLine2="^">
-        <location
-            file="res/drawable/header_dot.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.horizontal_divider` appears to be unused"
-        errorLine1="&lt;View"
-        errorLine2="^">
-        <location
-            file="res/layout/horizontal_divider.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_access_alarms_small` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_access_alarms_small.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_android` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_android.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_aod_charging_24dp` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_aod_charging_24dp.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_cancel_white_24dp` appears to be unused">
-        <location
-            file="res/drawable-hdpi/ic_cancel_white_24dp.png"/>
-        <location
-            file="res/drawable-mdpi/ic_cancel_white_24dp.png"/>
-        <location
-            file="res/drawable-xhdpi/ic_cancel_white_24dp.png"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_cast` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_cast.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_chevron_left` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_chevron_left.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_chevron_up` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_chevron_up.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_close` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_close.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_data_off` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_data_off.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_data_on` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_data_on.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_data_unavailable` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_data_unavailable.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.mipmap.ic_daydreams` appears to be unused">
-        <location
-            file="res/mipmap-hdpi/ic_daydreams.png"/>
-        <location
-            file="res/mipmap-mdpi/ic_daydreams.png"/>
-        <location
-            file="res/mipmap-xhdpi/ic_daydreams.png"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_delete` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_delete.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_dismiss_outline` appears to be unused">
-        <location
-            file="res/drawable-hdpi/ic_dismiss_outline.png"/>
-        <location
-            file="res/drawable-mdpi/ic_dismiss_outline.png"/>
-        <location
-            file="res/drawable-xhdpi/ic_dismiss_outline.png"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_drag_handle` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_drag_handle.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_expand_less` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_expand_less.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_expand_more` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_expand_more.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_history` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_history.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_hotspot_unavailable` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_hotspot_unavailable.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_invert_colors` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_invert_colors.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_landscape_to_rotate_animation_interpolator_0` appears to be unused"
-        errorLine1="&lt;pathInterpolator"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_landscape_to_rotate_animation_interpolator_0.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_landscape_to_rotate_arrows_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_landscape_to_rotate_arrows_animation.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_landscape_to_rotate_bottom_merged_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_landscape_to_rotate_bottom_merged_animation.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_landscape_to_rotate_landscape_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_landscape_to_rotate_landscape_animation.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_lock_to_app_24dp` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_lock_to_app_24dp.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_notify_button_bg` appears to be unused"
-        errorLine1="&lt;selector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;>"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_notify_button_bg.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_person` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_person.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_portrait_to_rotate_arrows_0_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_portrait_to_rotate_arrows_0_animation.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_portrait_to_rotate_arrows_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_portrait_to_rotate_arrows_animation.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_portrait_to_rotate_bottom_merged_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_portrait_to_rotate_bottom_merged_animation.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_portrait_to_rotate_device_0_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_portrait_to_rotate_device_0_animation.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_portrait_to_rotate_device_merged_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_portrait_to_rotate_device_merged_animation.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_qs_back` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_qs_back.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_qs_battery_saver` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_qs_battery_saver.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_qs_lock` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_qs_lock.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_qs_lock_open` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_qs_lock_open.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_qs_network_logging` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_qs_network_logging.xml"
-            line="19"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_qs_ringer_audible` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_qs_ringer_audible.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_qs_ringer_silent` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_qs_ringer_silent.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_qs_ringer_vibrate` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_qs_ringer_vibrate.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_rotate_to_landscape_animation_interpolator_0` appears to be unused"
-        errorLine1="&lt;pathInterpolator"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_rotate_to_landscape_animation_interpolator_0.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_rotate_to_landscape_arrows_0_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_rotate_to_landscape_arrows_0_animation.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_rotate_to_landscape_arrows_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_rotate_to_landscape_arrows_animation.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_rotate_to_landscape_bottom_merged_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_rotate_to_landscape_bottom_merged_animation.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_rotate_to_landscape_landscape_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_rotate_to_landscape_landscape_animation.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_rotate_to_portrait_animation_interpolator_0` appears to be unused"
-        errorLine1="&lt;pathInterpolator"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_rotate_to_portrait_animation_interpolator_0.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_rotate_to_portrait_arrows_0_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_rotate_to_portrait_arrows_0_animation.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_rotate_to_portrait_arrows_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_rotate_to_portrait_arrows_animation.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_rotate_to_portrait_bottom_merged_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_rotate_to_portrait_bottom_merged_animation.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_rotate_to_portrait_device_0_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_rotate_to_portrait_device_0_animation.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_rotate_to_portrait_device_merged_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_rotate_to_portrait_device_merged_animation.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_blink_1` appears to be unused"
-        errorLine1="&lt;objectAnimator xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_blink_1.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_blink_2` appears to be unused"
-        errorLine1="&lt;objectAnimator xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_blink_2.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_blink_3` appears to be unused"
-        errorLine1="&lt;objectAnimator xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_blink_3.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_signal_workmode_disable_animation` appears to be unused"
-        errorLine1="&lt;animated-vector"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_signal_workmode_disable_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_signal_workmode_disable_animation_interpolator_0` appears to be unused"
-        errorLine1="&lt;pathInterpolator"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_signal_workmode_disable_animation_interpolator_0.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_signal_workmode_disable_animation_interpolator_1` appears to be unused"
-        errorLine1="&lt;pathInterpolator"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_signal_workmode_disable_animation_interpolator_1.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_signal_workmode_disable_animation_interpolator_2` appears to be unused"
-        errorLine1="&lt;pathInterpolator"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_signal_workmode_disable_animation_interpolator_2.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_signal_workmode_disable_animation_interpolator_3` appears to be unused"
-        errorLine1="&lt;pathInterpolator"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_signal_workmode_disable_animation_interpolator_3.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_signal_workmode_disable_animation_interpolator_4` appears to be unused"
-        errorLine1="&lt;pathInterpolator"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_signal_workmode_disable_animation_interpolator_4.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_signal_workmode_disable_animation_interpolator_5` appears to be unused"
-        errorLine1="&lt;pathInterpolator"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_signal_workmode_disable_animation_interpolator_5.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_signal_workmode_disable_cross_1_pathdata_interpolator` appears to be unused"
-        errorLine1="&lt;pathInterpolator xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_signal_workmode_disable_cross_1_pathdata_interpolator.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_disable_left_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_disable_left_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_disable_mask_1_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_disable_mask_1_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_disable_rectangle_path_3_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_disable_rectangle_path_3_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_disable_rectangle_path_3_position_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_disable_rectangle_path_3_position_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_disable_rectangle_path_4_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_disable_rectangle_path_4_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_disable_rectangle_path_4_position_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_disable_rectangle_path_4_position_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_disable_right_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_disable_right_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_disable_stick_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_disable_stick_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_disable_stickito_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_disable_stickito_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_disable_whole_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_disable_whole_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_signal_workmode_enable` appears to be unused"
-        errorLine1="&lt;vector"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_signal_workmode_enable.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_signal_workmode_enable_animation` appears to be unused"
-        errorLine1="&lt;animated-vector"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_signal_workmode_enable_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_enable_animation_cross_1` appears to be unused"
-        errorLine1="&lt;set xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; >"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_enable_animation_cross_1.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_enable_animation_ic_signal_briefcase` appears to be unused"
-        errorLine1="&lt;set xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; >"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_enable_animation_ic_signal_briefcase.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_signal_workmode_enable_animation_interpolator_0` appears to be unused"
-        errorLine1="&lt;pathInterpolator"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_signal_workmode_enable_animation_interpolator_0.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_signal_workmode_enable_animation_interpolator_1` appears to be unused"
-        errorLine1="&lt;pathInterpolator"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_signal_workmode_enable_animation_interpolator_1.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_signal_workmode_enable_animation_interpolator_2` appears to be unused"
-        errorLine1="&lt;pathInterpolator"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_signal_workmode_enable_animation_interpolator_2.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_signal_workmode_enable_animation_interpolator_3` appears to be unused"
-        errorLine1="&lt;pathInterpolator"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_signal_workmode_enable_animation_interpolator_3.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_signal_workmode_enable_animation_interpolator_4` appears to be unused"
-        errorLine1="&lt;pathInterpolator"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_signal_workmode_enable_animation_interpolator_4.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_signal_workmode_enable_animation_interpolator_5` appears to be unused"
-        errorLine1="&lt;pathInterpolator"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_signal_workmode_enable_animation_interpolator_5.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_enable_animation_mask` appears to be unused"
-        errorLine1="&lt;set xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; >"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_enable_animation_mask.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_signal_workmode_enable_cross_1_pathdata_interpolator` appears to be unused"
-        errorLine1="&lt;pathInterpolator xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_signal_workmode_enable_cross_1_pathdata_interpolator.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_enable_left_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_enable_left_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_enable_mask_1_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_enable_mask_1_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.interpolator.ic_signal_workmode_enable_mask_pathdata_interpolator` appears to be unused"
-        errorLine1="&lt;pathInterpolator xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/interpolator/ic_signal_workmode_enable_mask_pathdata_interpolator.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_enable_rectangle_path_3_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_enable_rectangle_path_3_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_enable_rectangle_path_3_position_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_enable_rectangle_path_3_position_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_enable_rectangle_path_4_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_enable_rectangle_path_4_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_enable_rectangle_path_4_position_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_enable_rectangle_path_4_position_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_enable_right_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_enable_right_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_enable_stick_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_enable_stick_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_enable_stickito_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_enable_stickito_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.ic_signal_workmode_enable_whole_animation` appears to be unused"
-        errorLine1="&lt;set"
-        errorLine2="^">
-        <location
-            file="res/anim/ic_signal_workmode_enable_whole_animation.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_sim` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_sim.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_speaker` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_speaker.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_speaker_group` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_speaker_group.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_swap` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_swap.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_sysbar_back_light_old` appears to be unused">
-        <location
-            file="res/drawable-sw900dp-xxhdpi/ic_sysbar_back_light_old.png"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_sysbar_lights_out_dot_large` appears to be unused">
-        <location
-            file="res/drawable-hdpi/ic_sysbar_lights_out_dot_large.png"/>
-        <location
-            file="res/drawable-mdpi/ic_sysbar_lights_out_dot_large.png"/>
-        <location
-            file="res/drawable-sw600dp-hdpi/ic_sysbar_lights_out_dot_large.png"/>
-        <location
-            file="res/drawable-sw600dp-mdpi/ic_sysbar_lights_out_dot_large.png"/>
-        <location
-            file="res/drawable-sw600dp-xhdpi/ic_sysbar_lights_out_dot_large.png"/>
-        <location
-            file="res/drawable-sw600dp-xxhdpi/ic_sysbar_lights_out_dot_large.png"/>
-        <location
-            file="res/drawable-xhdpi/ic_sysbar_lights_out_dot_large.png"/>
-        <location
-            file="res/drawable-xxhdpi/ic_sysbar_lights_out_dot_large.png"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_tv` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_tv.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_width` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_width.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_zen_all` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_zen_all.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_zen_important` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_zen_important.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.ic_zen_none` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/ic_zen_none.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.integer.car_user_switcher_anim_cascade_delay_ms` appears to be unused"
-        errorLine1="    &lt;integer name=&quot;car_user_switcher_anim_cascade_delay_ms&quot;>27&lt;/integer>"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/integers_car.xml"
-            line="19"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.navigation_bar_height` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;navigation_bar_height&quot;>@*android:dimen/navigation_bar_height&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/internal.xml"
-            line="19"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.navigation_bar_height_car_mode` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;navigation_bar_height_car_mode&quot;>@*android:dimen/navigation_bar_height_car_mode&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/internal.xml"
-            line="20"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.keyguard_overflow_number_background` appears to be unused"
-        errorLine1="&lt;shape xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/keyguard_overflow_number_background.xml"
-            line="18"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.logout_button_background` appears to be unused"
-        errorLine1="&lt;shape xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/logout_button_background.xml"
-            line="19"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.dimen.moon_size` appears to be unused"
-        errorLine1="    &lt;dimen name=&quot;moon_size&quot;>30dp&lt;/dimen>"
-        errorLine2="           ~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/mland_config.xml"
-            line="33"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.nav_bar_tuner_inflater` appears to be unused"
-        errorLine1="&lt;com.android.systemui.tuner.PreviewNavInflater"
-        errorLine2="^">
-        <location
-            file="res/layout/nav_bar_tuner_inflater.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.nav_control_widget` appears to be unused"
-        errorLine1="&lt;LinearLayout"
-        errorLine2="^">
-        <location
-            file="res/layout/nav_control_widget.xml"
-            line="18"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.nav_width_view` appears to be unused"
-        errorLine1="&lt;SeekBar"
-        errorLine2="^">
-        <location
-            file="res/layout/nav_width_view.xml"
-            line="20"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.navigation_bar_app_item` appears to be unused"
-        errorLine1="&lt;ImageView xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/layout/navigation_bar_app_item.xml"
-            line="21"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.notification_expand_more` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/notification_expand_more.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.notification_guts_buttons` appears to be unused"
-        errorLine1="&lt;selector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;>"
-        errorLine2="^">
-        <location
-            file="res/color/notification_guts_buttons.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.pin_delete_color` appears to be unused"
-        errorLine1="&lt;selector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;>"
-        errorLine2="^">
-        <location
-            file="res/color/pin_delete_color.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.pin_divider_color` appears to be unused"
-        errorLine1="&lt;selector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;>"
-        errorLine2="^">
-        <location
-            file="res/color/pin_divider_color.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.pip_dismiss` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/pip_dismiss.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.pip_notification_icon` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/pip_notification_icon.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.pop_ball` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/pop_ball.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.pop_belt` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/pop_belt.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.pop_droid` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/pop_droid.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.pop_pizza` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/pop_pizza.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.pop_stripes` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/pop_stripes.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.pop_swirl` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/pop_swirl.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.pop_vortex` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/pop_vortex.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.pop_vortex2` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/pop_vortex2.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.preference_widget_settings` appears to be unused"
-        errorLine1="&lt;LinearLayout"
-        errorLine2="^">
-        <location
-            file="res/layout/preference_widget_settings.xml"
-            line="18"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.qs_add_tiles_list` appears to be unused"
-        errorLine1="&lt;FrameLayout"
-        errorLine2="^">
-        <location
-            file="res/layout/qs_add_tiles_list.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.qs_subhead_caret` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/qs_subhead_caret.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.qs_tile_background` appears to be unused"
-        errorLine1="&lt;selector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;>"
-        errorLine2="^">
-        <location
-            file="res/drawable/qs_tile_background.xml"
-            line="19"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.qs_tile_layout` appears to be unused"
-        errorLine1="&lt;com.android.systemui.qs.TileLayout"
-        errorLine2="^">
-        <location
-            file="res/layout/qs_tile_layout.xml"
-            line="18"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.color.qs_user_detail_name` appears to be unused"
-        errorLine1="&lt;selector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;>"
-        errorLine2="^">
-        <location
-            file="res/color/qs_user_detail_name.xml"
-            line="19"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.quick_header_bg` appears to be unused"
-        errorLine1="&lt;ripple xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/quick_header_bg.xml"
-            line="18"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.recents_freeform_workspace_bg` appears to be unused"
-        errorLine1="&lt;shape xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/recents_freeform_workspace_bg.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.recents_move_task_freeform_dark` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/recents_move_task_freeform_dark.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.recents_move_task_freeform_light` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/recents_move_task_freeform_light.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.recents_search_bar` appears to be unused"
-        errorLine1="&lt;FrameLayout"
-        errorLine2="^">
-        <location
-            file="res/layout/recents_search_bar.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.recents_status_gradient` appears to be unused">
-        <location
-            file="res/drawable-hdpi/recents_status_gradient.9.png"/>
-        <location
-            file="res/drawable-mdpi/recents_status_gradient.9.png"/>
-        <location
-            file="res/drawable-xhdpi/recents_status_gradient.9.png"/>
-        <location
-            file="res/drawable-xxhdpi/recents_status_gradient.9.png"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.recents_task_shadow` appears to be unused">
-        <location
-            file="res/drawable-xxhdpi/recents_task_shadow.9.png"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.recents_task_view_header_progress_bar` appears to be unused"
-        errorLine1="&lt;ProgressBar"
-        errorLine2="^">
-        <location
-            file="res/layout/recents_task_view_header_progress_bar.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.remote` appears to be unused">
-        <location
-            file="res/drawable-xhdpi/remote.png"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.scorecard_gameover` appears to be unused"
-        errorLine1="&lt;shape"
-        errorLine2="^">
-        <location
-            file="res/drawable/scorecard_gameover.xml"
-            line="2"
-            column="1"/>
-        <location
-            file="res/drawable-nodpi/scorecard_gameover.xml"
-            line="2"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.search_bg_transparent` appears to be unused">
-        <location
-            file="res/drawable-hdpi/search_bg_transparent.9.png"/>
-        <location
-            file="res/drawable-mdpi/search_bg_transparent.9.png"/>
-        <location
-            file="res/drawable-xhdpi/search_bg_transparent.9.png"/>
-        <location
-            file="res/drawable-xxhdpi/search_bg_transparent.9.png"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.search_panel_scrim` appears to be unused"
-        errorLine1="&lt;shape xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;>"
-        errorLine2="^">
-        <location
-            file="res/drawable-land/search_panel_scrim.xml"
-            line="19"
-            column="1"/>
-        <location
-            file="res/drawable-sw600dp/search_panel_scrim.xml"
-            line="19"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.shelf_menu_anchor` appears to be unused"
-        errorLine1="&lt;FrameLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/layout/shelf_menu_anchor.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.signal_cluster_view` appears to be unused"
-        errorLine1="&lt;com.android.systemui.statusbar.SignalClusterView"
-        errorLine2="^">
-        <location
-            file="res/layout/signal_cluster_view.xml"
-            line="20"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.split_clock_view` appears to be unused"
-        errorLine1="&lt;com.android.systemui.statusbar.policy.SplitClockView"
-        errorLine2="^">
-        <location
-            file="res/layout/split_clock_view.xml"
-            line="19"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.stat_notify_more` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/stat_notify_more.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.stat_sys_auto_rotate_landscape` appears to be unused"
-        errorLine1="&lt;inset xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/stat_sys_auto_rotate_landscape.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.stat_sys_auto_rotate_portrait` appears to be unused"
-        errorLine1="&lt;inset xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/stat_sys_auto_rotate_portrait.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.stat_sys_managed_profile_status_off` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/stat_sys_managed_profile_status_off.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.stat_sys_no_sims` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/stat_sys_no_sims.xml"
-            line="19"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.stat_sys_signal_in` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/stat_sys_signal_in.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.stat_sys_signal_inout` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/stat_sys_signal_inout.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.stat_sys_signal_out` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/stat_sys_signal_out.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.stat_sys_wifi_in` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/stat_sys_wifi_in.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.stat_sys_wifi_inout` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/stat_sys_wifi_inout.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.stat_sys_wifi_out` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/stat_sys_wifi_out.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.status_bar_alarm_group` appears to be unused"
-        errorLine1="&lt;LinearLayout"
-        errorLine2="^">
-        <location
-            file="res/layout/status_bar_alarm_group.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.status_bar_no_recent_apps` appears to be unused"
-        errorLine1="&lt;FrameLayout"
-        errorLine2="^">
-        <location
-            file="res/layout/status_bar_no_recent_apps.xml"
-            line="20"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.status_bar_clear_all_button` appears to be unused"
-        errorLine1="    &lt;string name=&quot;status_bar_clear_all_button&quot;>Clear&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-af-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-am-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-ar-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-be-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-bg-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-ca-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-cs-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-da-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-de-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-el-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-en-rGB-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-es-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-es-rUS-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-et-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-fa-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-fi-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-fr-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-hi-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-hr-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-hu-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-in-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-it-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-iw-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-ja-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-ko-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-lt-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-lv-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-ms-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-nb-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-nl-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-pl-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-pt-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-ro-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-ru-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-sk-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-sl-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-sr-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-sv-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-sw-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-th-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-tl-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-tr-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-uk-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-vi-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW-large/strings.xml"
-            line="22"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="23"
-            column="13"/>
-        <location
-            file="res/values-zu-large/strings.xml"
-            line="22"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.status_bar_recent_remove_item_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;status_bar_recent_remove_item_title&quot;>Remove from list&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="28"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="24"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="24"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.status_bar_recent_inspect_item_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;status_bar_recent_inspect_item_title&quot;>App info&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="31"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="25"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="25"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.status_bar_no_recent_apps` appears to be unused"
-        errorLine1="    &lt;string name=&quot;status_bar_no_recent_apps&quot;>Your recent screens appear here&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="26"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="26"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.status_bar_accessibility_dismiss_recents` appears to be unused"
-        errorLine1="    &lt;string name=&quot;status_bar_accessibility_dismiss_recents&quot;>Dismiss recent apps&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="27"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="27"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.plurals.status_bar_accessibility_recent_apps` appears to be unused"
-        errorLine1="    &lt;plurals name=&quot;status_bar_accessibility_recent_apps&quot;>"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="42"
-            column="14"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="28"
-            column="14"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="28"
-            column="14"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.status_bar_no_notifications_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;status_bar_no_notifications_title&quot;>No notifications&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="49"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="36"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="30"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="32"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.status_bar_ongoing_events_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;status_bar_ongoing_events_title&quot;>Ongoing&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="31"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="33"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="33"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.status_bar_latest_events_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;status_bar_latest_events_title&quot;>Notifications&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="59"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="36"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="36"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="36"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="36"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="32"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="36"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="36"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="36"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="36"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="36"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="34"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="34"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.battery_low_percent_format_hybrid` appears to be unused"
-        errorLine1="    &lt;string name=&quot;battery_low_percent_format_hybrid&quot;>&lt;xliff:g id=&quot;percentage&quot;>%1$s&lt;/xliff:g> remaining, about &lt;xliff:g id=&quot;time&quot;>%2$s&lt;/xliff:g> left based on your usage&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="72"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="41"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="35"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="37"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.battery_low_percent_format_hybrid_short` appears to be unused"
-        errorLine1="    &lt;string name=&quot;battery_low_percent_format_hybrid_short&quot;>&lt;xliff:g id=&quot;percentage&quot;>%1$s&lt;/xliff:g> remaining, about &lt;xliff:g id=&quot;time&quot;>%2$s&lt;/xliff:g> left&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="78"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="42"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="36"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="38"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.battery_low_percent_format_saver_started` appears to be unused"
-        errorLine1="    &lt;string name=&quot;battery_low_percent_format_saver_started&quot;>&lt;xliff:g id=&quot;percentage&quot;>%s&lt;/xliff:g> remaining. Battery Saver is on.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="41"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="41"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="41"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="41"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="37"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="41"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="41"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="41"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="41"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="41"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="39"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="39"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.invalid_charger` appears to be unused"
-        errorLine1="    &lt;string name=&quot;invalid_charger&quot;>Can\&apos;t charge via USB. Use the charger that came with your device.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="87"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="44"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="41"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="42"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="41"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="42"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="41"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="42"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="42"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="41"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="38"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="42"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="41"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="42"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="42"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="42"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="41"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="42"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="40"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="40"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.battery_low_why` appears to be unused"
-        errorLine1="    &lt;string name=&quot;battery_low_why&quot;>Settings&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="97"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="44"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="45"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="44"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="45"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="44"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="45"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="45"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="44"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="41"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="45"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="44"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="45"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="45"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="45"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="44"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="45"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="43"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="43"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.status_bar_settings_settings_button` appears to be unused"
-        errorLine1="    &lt;string name=&quot;status_bar_settings_settings_button&quot;>Settings&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="109"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="51"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="49"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="49"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="49"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="49"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="45"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="49"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="49"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="49"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="49"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="49"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="47"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="47"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.status_bar_settings_wifi_button` appears to be unused"
-        errorLine1="    &lt;string name=&quot;status_bar_settings_wifi_button&quot;>Wi-Fi&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="49"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="49"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="49"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="49"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="46"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="49"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="49"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="48"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.status_bar_settings_mute_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;status_bar_settings_mute_label&quot;>MUTE&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="51"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="51"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="51"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="51"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="48"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="51"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="51"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="50"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.status_bar_settings_notifications` appears to be unused"
-        errorLine1="    &lt;string name=&quot;status_bar_settings_notifications&quot;>Notifications&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="124"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="56"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="50"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="52"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.bluetooth_tethered` appears to be unused"
-        errorLine1="    &lt;string name=&quot;bluetooth_tethered&quot;>Bluetooth tethered&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="130"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="57"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="51"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="53"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.status_bar_input_method_settings_configure_input_methods` appears to be unused"
-        errorLine1="    &lt;string name=&quot;status_bar_input_method_settings_configure_input_methods&quot;>Set up input methods&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="58"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="56"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="56"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="56"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="56"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="52"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="56"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="56"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="56"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="56"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="56"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="54"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="54"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.status_bar_use_physical_keyboard` appears to be unused"
-        errorLine1="    &lt;string name=&quot;status_bar_use_physical_keyboard&quot;>Physical keyboard&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="59"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="56"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="57"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="56"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="57"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="56"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="57"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="57"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="56"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="53"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="57"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="56"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="57"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="57"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="57"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="56"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="57"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="55"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="55"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.compat_mode_on` appears to be unused"
-        errorLine1="    &lt;string name=&quot;compat_mode_on&quot;>Zoom to fill screen&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="74"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="72"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="72"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="72"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="72"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="68"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="72"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="72"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="72"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="72"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="72"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="70"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="70"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.compat_mode_off` appears to be unused"
-        errorLine1="    &lt;string name=&quot;compat_mode_off&quot;>Stretch to fill screen&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="185"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="75"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="72"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="72"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="72"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="72"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="69"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="72"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="72"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="71"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.screenshot_saving_ticker` appears to be unused"
-        errorLine1="    &lt;string name=&quot;screenshot_saving_ticker&quot;>Saving screenshot\u2026&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="191"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="77"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="74"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="75"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="74"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="75"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="74"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="75"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="75"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="74"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="71"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="75"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="74"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="75"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="75"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="75"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="74"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="75"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="73"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="73"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.usb_preference_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;usb_preference_title&quot;>USB file transfer options&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="85"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="79"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="81"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.use_mtp_button_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;use_mtp_button_title&quot;>Mount as a media player (MTP)&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="211"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="86"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="80"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="82"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.use_ptp_button_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;use_ptp_button_title&quot;>Mount as a camera (PTP)&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="213"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="87"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="85"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="85"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="85"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="85"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="81"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="85"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="85"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="85"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="85"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="85"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="83"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="83"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.installer_cd_button_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;installer_cd_button_title&quot;>Install Android File Transfer app for Mac&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="215"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="88"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="85"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="86"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="85"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="86"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="85"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="86"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="86"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="85"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="82"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="86"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="85"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="86"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="86"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="86"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="85"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="86"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="84"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="84"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_search_light` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_search_light&quot;>Search&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="95"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="92"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="93"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="92"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="93"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="92"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="93"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="93"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="92"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="89"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="93"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="92"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="93"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="93"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="93"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="92"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="93"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="91"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="91"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.recents_caption_resize` appears to be unused"
-        errorLine1="    &lt;string name=&quot;recents_caption_resize&quot;>Select new task layout&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="105"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="106"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="105"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="106"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="105"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="106"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="106"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="105"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="102"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="106"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="105"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="106"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="106"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="106"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="105"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="106"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="104"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="104"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_fingerprint_dialog_app_icon` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_fingerprint_dialog_app_icon&quot;>Application icon&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="109"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="109"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="109"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="109"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="106"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="109"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="109"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="108"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_compatibility_zoom_button` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_compatibility_zoom_button&quot;>Compatibility zoom button.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="108"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="110"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="110"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_compatibility_zoom_example` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_compatibility_zoom_example&quot;>Zoom smaller to larger screen.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="109"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="111"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_bluetooth_disconnected` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_bluetooth_disconnected&quot;>Bluetooth disconnected.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="111"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="113"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_no_battery` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_no_battery&quot;>No battery.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="112"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="114"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_battery_one_bar` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_battery_one_bar&quot;>Battery one bar.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="119"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="113"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="115"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_battery_two_bars` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_battery_two_bars&quot;>Battery two bars.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="120"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="114"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="116"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_battery_three_bars` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_battery_three_bars&quot;>Battery three bars.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="287"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="121"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="119"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="119"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="119"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="119"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="115"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="119"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="119"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="119"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="119"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="119"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="117"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="117"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_battery_full` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_battery_full&quot;>Battery full.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="289"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="122"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="119"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="120"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="119"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="120"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="119"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="120"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="120"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="119"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="116"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="120"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="119"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="120"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="120"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="120"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="119"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="120"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="118"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="118"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_wifi_name` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_wifi_name&quot;>Connected to &lt;xliff:g id=&quot;wifi&quot; example=&quot;Home Network&quot;>%s&lt;/xliff:g>.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="130"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="131"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="130"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="131"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="130"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="131"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="131"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="130"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="127"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="131"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="130"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="131"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="131"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="131"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="130"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="131"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="129"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="129"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_no_wimax` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_no_wimax&quot;>No WiMAX.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="324"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="130"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="132"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_wimax_one_bar` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_wimax_one_bar&quot;>WiMAX one bar.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="326"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="137"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="131"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="133"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_wimax_two_bars` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_wimax_two_bars&quot;>WiMAX two bars.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="328"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="138"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="132"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="134"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_wimax_three_bars` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_wimax_three_bars&quot;>WiMAX three bars.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="330"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="137"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="137"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="137"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="137"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="133"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="137"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="137"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="137"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="137"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="137"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="135"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="135"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_wimax_signal_full` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_wimax_signal_full&quot;>WiMAX signal full.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="332"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="140"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="137"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="138"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="137"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="138"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="137"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="138"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="138"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="137"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="134"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="138"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="137"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="138"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="138"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="138"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="137"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="138"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="136"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="136"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_no_signal` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_no_signal&quot;>No signal.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="340"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="140"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="140"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="140"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="140"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="137"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="140"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="140"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="139"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_zero_bars` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_zero_bars&quot;>Zero bars.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="344"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="139"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="141"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_one_bar` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_one_bar&quot;>One bar.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="346"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="140"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="142"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_two_bars` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_two_bars&quot;>Two bars.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="348"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="141"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="143"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_three_bars` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_three_bars&quot;>Three bars.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="350"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="142"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="144"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_signal_full` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_signal_full&quot;>Signal full.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="352"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="143"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="145"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_desc_on` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_desc_on&quot;>On.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="355"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="150"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="144"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="146"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_desc_off` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_desc_off&quot;>Off.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="357"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="145"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="147"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_desc_connected` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_desc_connected&quot;>Connected.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="152"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="150"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="150"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="150"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="150"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="146"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="150"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="150"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="150"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="150"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="150"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="148"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="148"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_desc_connecting` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_desc_connecting&quot;>Connecting.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="361"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="153"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="150"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="150"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="150"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="150"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="147"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="150"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="150"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="149"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.data_connection_hspa` appears to be unused"
-        errorLine1="    &lt;string name=&quot;data_connection_hspa&quot;>HSPA&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="155"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="152"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="153"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="152"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="153"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="152"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="153"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="153"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="152"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="149"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="153"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="152"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="153"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="153"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="153"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="152"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="153"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="151"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="151"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_data_connection_wifi` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_data_connection_wifi&quot;>Wi-Fi&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="400"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="166"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="160"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="162"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_no_sim` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_no_sim&quot;>No SIM.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="403"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="167"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="161"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="163"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_cell_data` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_cell_data&quot;>Mobile Data&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="166"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="166"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="166"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="166"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="162"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="166"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="166"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="166"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="166"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="166"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="164"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="164"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_cell_data_on` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_cell_data_on&quot;>Mobile Data On&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="169"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="166"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="167"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="166"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="167"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="166"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="167"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="167"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="166"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="163"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="167"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="166"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="167"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="167"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="167"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="166"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="167"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="165"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="165"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_bluetooth_tether` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_bluetooth_tether&quot;>Bluetooth tethering.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="418"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="172"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="169"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="169"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="169"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="169"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="166"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="169"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="169"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="168"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_vpn_on` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_vpn_on&quot;>VPN on.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="174"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="172"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="172"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="172"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="172"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="168"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="172"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="172"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="172"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="172"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="172"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="170"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="170"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_no_sims` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_no_sims&quot;>No SIM card.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="175"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="172"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="172"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="172"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="172"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="169"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="172"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="172"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="171"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_battery_details` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_battery_details&quot;>Open battery details&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="433"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="174"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="175"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="174"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="175"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="174"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="175"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="175"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="174"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="171"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="175"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="174"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="175"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="175"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="175"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="174"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="175"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="173"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="173"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_settings_button` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_settings_button&quot;>System settings.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="442"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="174"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="176"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="176"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_notifications_button` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_notifications_button&quot;>Notifications.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="175"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="177"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_remove_notification` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_remove_notification&quot;>Clear notification.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="451"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="177"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="179"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_gps_enabled` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_gps_enabled&quot;>GPS enabled.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="454"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="184"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="184"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="184"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="184"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="178"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="184"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="184"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="184"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="184"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="180"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="180"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_gps_acquiring` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_gps_acquiring&quot;>GPS acquiring.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="457"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="185"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="185"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="185"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="185"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="179"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="184"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="185"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="185"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="185"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="182"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="185"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="183"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="181"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="181"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_work_mode` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_work_mode&quot;>@string/quick_settings_work_mode_label&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="472"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_recents_item_launched` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_recents_item_launched&quot;>Starting &lt;xliff:g id=&quot;app&quot; example=&quot;Calendar&quot;>%s&lt;/xliff:g>.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="197"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="197"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="197"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="197"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="191"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="197"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="197"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="197"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="197"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="193"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="193"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_notification_dismissed` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_notification_dismissed&quot;>Notification dismissed.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="192"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="197"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="195"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="194"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="194"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_desc_settings` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_desc_settings&quot;>Settings&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="199"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="199"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="199"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="199"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="196"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="201"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="199"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="198"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="198"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_quick_settings_wifi` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_quick_settings_wifi&quot;>&lt;xliff:g id=&quot;signal&quot; example=&quot;Three bars&quot;>%1$s&lt;/xliff:g>.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="203"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="203"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="203"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="203"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="200"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="203"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="202"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="202"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_quick_settings_mobile` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_quick_settings_mobile&quot;>Mobile &lt;xliff:g id=&quot;signal&quot; example=&quot;Three bars&quot;>%1$s&lt;/xliff:g>. &lt;xliff:g id=&quot;type&quot; example=&quot;4G&quot;>%2$s&lt;/xliff:g>. &lt;xliff:g id=&quot;network&quot; example=&quot;T-Mobile&quot;>%3$s&lt;/xliff:g>.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="203"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="205"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_quick_settings_battery` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_quick_settings_battery&quot;>Battery &lt;xliff:g id=&quot;state&quot; example=&quot;50% charging&quot;>%s&lt;/xliff:g>.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="204"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="206"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_quick_settings_airplane_off` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_quick_settings_airplane_off&quot;>Airplane mode off.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="211"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="211"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="211"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="211"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="205"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="211"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="211"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="211"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="211"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="207"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="207"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_quick_settings_airplane_on` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_quick_settings_airplane_on&quot;>Airplane mode on.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="212"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="212"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="212"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="212"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="206"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="211"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="212"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="212"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="212"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="209"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="212"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="210"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="208"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="208"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_quick_settings_bluetooth_off` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_quick_settings_bluetooth_off&quot;>Bluetooth off.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="533"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="218"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="218"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="218"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="218"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="215"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="218"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="217"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_quick_settings_bluetooth_connecting` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_quick_settings_bluetooth_connecting&quot;>Bluetooth connecting.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="223"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="223"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="223"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="223"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="217"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="223"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="223"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="223"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="223"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="219"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="219"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_quick_settings_bluetooth_connected` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_quick_settings_bluetooth_connected&quot;>Bluetooth connected.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="224"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="224"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="224"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="224"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="218"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="223"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="224"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="224"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="224"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="221"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="224"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="222"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="220"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="220"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_quick_settings_close` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_quick_settings_close&quot;>Close panel.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="232"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="229"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="232"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="229"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="232"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="232"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="229"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="229"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="226"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="232"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="232"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="232"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="229"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="232"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="230"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="228"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="228"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_quick_settings_flashlight_off` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_quick_settings_flashlight_off&quot;>Flashlight off.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="232"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="232"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="232"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="232"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="229"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="234"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="232"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="231"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_quick_settings_flashlight_on` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_quick_settings_flashlight_on&quot;>Flashlight on.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="237"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="234"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="237"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="234"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="237"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="237"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="234"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="234"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="231"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="236"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="237"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="237"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="237"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="234"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="237"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="235"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="233"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="233"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_ambient_display_charging` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_ambient_display_charging&quot;>Charging&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="246"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="248"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.data_usage_disabled_dialog_3g_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;data_usage_disabled_dialog_3g_title&quot;>2G-3G data is paused&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="253"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="253"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="253"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="253"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="247"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="253"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="253"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="253"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="253"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="249"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="249"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.data_usage_disabled_dialog_4g_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;data_usage_disabled_dialog_4g_title&quot;>4G data is paused&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="254"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="254"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="254"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="254"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="248"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="253"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="254"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="254"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="254"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="251"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="254"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="252"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="250"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="250"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.gps_notification_searching_text` appears to be unused"
-        errorLine1="    &lt;string name=&quot;gps_notification_searching_text&quot;>Searching for GPS&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="613"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="259"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="259"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="259"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="259"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="253"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="259"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="259"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="259"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="259"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="255"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="255"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.gps_notification_found_text` appears to be unused"
-        errorLine1="    &lt;string name=&quot;gps_notification_found_text&quot;>Location set by GPS&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="616"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="260"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="260"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="260"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="260"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="254"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="259"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="260"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="260"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="260"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="257"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="260"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="258"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="256"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="256"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.status_bar_notification_inspect_item_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;status_bar_notification_inspect_item_title&quot;>Notification settings&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="637"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="263"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="265"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.status_bar_notification_app_settings_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;status_bar_notification_app_settings_title&quot;>&lt;xliff:g id=&quot;app_name&quot; example=&quot;Calendar&quot;>%s&lt;/xliff:g> settings&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="641"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="264"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="266"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="266"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_rotation_lock_off` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_rotation_lock_off&quot;>Screen will rotate automatically.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="644"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="265"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="267"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="267"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_rotation_lock_off_changed` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_rotation_lock_off_changed&quot;>Screen will now rotate automatically.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="653"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="276"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="276"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="268"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="276"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="276"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="276"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="276"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="270"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_rotation_lock_on_landscape_changed` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_rotation_lock_on_landscape_changed&quot;>Screen is now locked in landscape orientation.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="656"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="269"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="271"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="271"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_rotation_lock_on_portrait_changed` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_rotation_lock_on_portrait_changed&quot;>Screen is now locked in portrait orientation.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="659"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="276"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="276"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="276"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="270"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="276"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="276"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="274"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="272"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="272"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.ethernet_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;ethernet_label&quot;>Ethernet&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="668"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="273"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="275"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="275"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_dnd_priority_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_dnd_priority_label&quot;>Priority only&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="675"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="286"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="276"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="278"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_dnd_alarms_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_dnd_alarms_label&quot;>Alarms only&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="677"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="287"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="277"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="279"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="279"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_dnd_none_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_dnd_none_label&quot;>Total silence&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="679"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="288"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="286"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="286"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="278"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="286"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="286"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="286"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="286"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="280"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_bluetooth_multiple_devices_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_bluetooth_multiple_devices_label&quot;>Bluetooth (&lt;xliff:g id=&quot;number&quot;>%d&lt;/xliff:g> Devices)&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="683"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="288"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="288"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="286"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="286"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="286"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="280"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="286"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="286"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="288"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="288"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="288"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="288"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="284"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="282"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="282"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_bluetooth_off_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_bluetooth_off_label&quot;>Bluetooth Off&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="685"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="291"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="289"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="289"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="287"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="287"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="287"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="281"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="287"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="287"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="289"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="289"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="289"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="289"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="285"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="283"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="283"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_brightness_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_brightness_label&quot;>Brightness&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="288"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="290"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="290"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_quick_settings_rotation_value` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_quick_settings_rotation_value&quot;>&lt;xliff:g name=&quot;rotation&quot; example=&quot;Portrait&quot;>%s&lt;/xliff:g> mode&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="705"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="291"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="293"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_rotation_locked_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_rotation_locked_label&quot;>Rotation locked&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="707"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="292"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="294"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_rotation_locked_portrait_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_rotation_locked_portrait_label&quot;>Portrait&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="709"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="293"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="295"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_rotation_locked_landscape_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_rotation_locked_landscape_label&quot;>Landscape&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="294"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="296"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="296"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_ime_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_ime_label&quot;>Input Method&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="295"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="297"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_location_off_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_location_off_label&quot;>Location Off&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="717"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="297"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="299"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_media_device_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_media_device_label&quot;>Media device&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="719"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="308"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="298"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="300"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_rssi_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_rssi_label&quot;>RSSI&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="721"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="299"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="301"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_rssi_emergency_only` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_rssi_emergency_only&quot;>Emergency Calls Only&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="723"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="308"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="308"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="300"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="308"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="308"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="308"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="308"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="302"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_settings_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_settings_label&quot;>Settings&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="301"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="303"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_time_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_time_label&quot;>Time&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="308"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="308"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="308"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="302"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="308"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="308"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="306"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="304"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="304"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_user_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_user_label&quot;>Me&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="303"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="305"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_user_new_user` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_user_new_user&quot;>New user&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="733"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="315"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="305"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="307"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_wifi_not_connected` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_wifi_not_connected&quot;>Not Connected&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="737"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="317"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="315"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="315"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="307"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="315"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="315"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="315"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="315"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="309"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_wifi_no_network` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_wifi_no_network&quot;>No Network&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="739"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="316"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="316"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="308"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="316"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="316"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="316"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="316"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="310"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_wifi_off_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_wifi_off_label&quot;>Wi-Fi Off&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="741"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="319"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="317"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="317"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="315"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="315"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="315"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="309"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="315"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="315"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="317"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="317"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="317"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="317"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="313"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="311"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="311"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_wifi_on_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_wifi_on_label&quot;>Wi-Fi On&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="743"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="316"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="316"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="316"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="310"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="316"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="316"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="314"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="312"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="312"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_cast_device_default_description` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_cast_device_default_description&quot;>Ready to cast&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="755"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="326"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="324"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="324"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="322"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="322"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="322"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="316"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="322"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="322"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="324"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="324"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="324"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="324"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="320"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="318"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="318"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_brightness_dialog_auto_brightness_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_brightness_dialog_auto_brightness_label&quot;>AUTO&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="761"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="327"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="327"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="319"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="327"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="327"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="327"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="327"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="321"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_color_space_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_color_space_label&quot;>Color correction mode&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="765"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="327"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="327"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="327"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="321"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="327"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="327"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="325"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="323"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="323"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_tethering_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_tethering_label&quot;>Tethering&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="777"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="335"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="335"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="333"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="333"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="333"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="327"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="333"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="333"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="335"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="335"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="335"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="335"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="331"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="329"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="329"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_notifications_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_notifications_label&quot;>Notifications&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="791"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="349"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="340"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="345"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="340"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="345"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="341"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="339"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="339"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="339"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="339"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="339"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="339"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="339"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="340"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="339"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="343"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="339"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="339"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="343"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="340"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="335"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="343"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="339"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="339"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="342"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="345"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="345"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="345"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="340"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="345"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="339"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="339"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="337"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="337"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.recents_search_bar_label` appears to be unused"
-        errorLine1="    &lt;string name=&quot;recents_search_bar_label&quot;>search&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="840"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="371"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="362"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="362"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="363"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="361"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="361"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="361"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="361"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="361"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="361"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="361"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="362"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="361"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="365"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="361"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="361"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="365"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="362"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="357"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="365"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="361"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="361"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="364"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="362"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="361"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="361"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="359"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="359"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.recents_multistack_add_stack_dialog_split_horizontal` appears to be unused"
-        errorLine1="    &lt;string name=&quot;recents_multistack_add_stack_dialog_split_horizontal&quot;>Split Horizontal&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="855"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="372"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="372"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="364"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="372"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="371"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="366"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.recents_multistack_add_stack_dialog_split_vertical` appears to be unused"
-        errorLine1="    &lt;string name=&quot;recents_multistack_add_stack_dialog_split_vertical&quot;>Split Vertical&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="857"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="371"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="365"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="372"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="369"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="367"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="367"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.recents_multistack_add_stack_dialog_split_custom` appears to be unused"
-        errorLine1="    &lt;string name=&quot;recents_multistack_add_stack_dialog_split_custom&quot;>Split Custom&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="859"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="371"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="371"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="372"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="371"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="371"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="366"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="371"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="370"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="368"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="368"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.expanded_header_battery_charged` appears to be unused"
-        errorLine1="    &lt;string name=&quot;expanded_header_battery_charged&quot;>Charged&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="871"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="385"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="371"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="373"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.expanded_header_battery_charging` appears to be unused"
-        errorLine1="    &lt;string name=&quot;expanded_header_battery_charging&quot;>Charging&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="874"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="372"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="374"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.expanded_header_battery_charging_with_time` appears to be unused"
-        errorLine1="    &lt;string name=&quot;expanded_header_battery_charging_with_time&quot;>&lt;xliff:g id=&quot;charging_time&quot; example=&quot;2 hrs 25 min&quot;>%s&lt;/xliff:g> until full&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="877"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="383"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="383"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="373"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="383"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="383"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="383"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="383"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="375"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.expanded_header_battery_not_charging` appears to be unused"
-        errorLine1="    &lt;string name=&quot;expanded_header_battery_not_charging&quot;>Not charging&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="880"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="384"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="384"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="374"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="384"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="384"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="384"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="384"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="376"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.ssl_ca_cert_warning` appears to be unused"
-        errorLine1="    &lt;string name=&quot;ssl_ca_cert_warning&quot;>Network may\nbe monitored&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="886"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="385"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="385"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="383"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="383"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="375"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="383"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="385"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="385"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="385"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="385"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="377"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.description_target_search` appears to be unused"
-        errorLine1="    &lt;string name=&quot;description_target_search&quot;>Search&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="889"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="390"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="384"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="384"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="376"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="384"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="383"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="378"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.description_direction_up` appears to be unused"
-        errorLine1="    &lt;string name=&quot;description_direction_up&quot;>Slide up for &lt;xliff:g id=&quot;target_description&quot; example=&quot;Unlock&quot;>%s&lt;/xliff:g>.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="891"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="391"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="383"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="385"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="385"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="377"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="385"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="384"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="381"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="379"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="379"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.description_direction_left` appears to be unused"
-        errorLine1="    &lt;string name=&quot;description_direction_left&quot;>&quot;Slide left for &lt;xliff:g id=&quot;target_description&quot; example=&quot;Unlock&quot;>%s&lt;/xliff:g>.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="893"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="392"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="383"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="383"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="384"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="383"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="383"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="378"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="385"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="383"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="382"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="380"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="380"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.keyguard_more_overflow_text` appears to be unused"
-        errorLine1="    &lt;string name=&quot;keyguard_more_overflow_text&quot;>+&lt;xliff:g id=&quot;number_of_notifications&quot; example=&quot;5&quot;>%d&lt;/xliff:g>&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="911"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="398"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="394"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="394"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="390"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="392"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="392"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="384"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="392"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="391"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="394"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="394"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="394"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="394"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="388"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="386"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="386"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.speed_bump_explanation` appears to be unused"
-        errorLine1="    &lt;string name=&quot;speed_bump_explanation&quot;>Less urgent notifications below&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="914"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="399"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="390"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="395"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="390"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="395"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="391"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="390"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="393"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="393"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="390"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="385"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="393"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="392"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="395"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="395"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="395"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="390"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="395"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="389"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="387"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="387"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_multi_user_switch_switcher` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_multi_user_switch_switcher&quot;>Switch user&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="970"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="417"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="413"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="413"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="411"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="411"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="403"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="411"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="413"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="413"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="413"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="413"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="405"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_multi_user_switch_switcher_with_current` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_multi_user_switch_switcher_with_current&quot;>Switch user, current user &lt;xliff:g id=&quot;current_user_name&quot; example=&quot;John Doe&quot;>%s&lt;/xliff:g>&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="973"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="418"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="414"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="414"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="412"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="412"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="404"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="412"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="411"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="414"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="414"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="414"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="414"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="406"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_multi_user_switch_inactive` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_multi_user_switch_inactive&quot;>Current user &lt;xliff:g id=&quot;current_user_name&quot; example=&quot;John Doe&quot;>%s&lt;/xliff:g>&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="976"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="419"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="415"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="415"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="411"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="413"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="413"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="405"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="413"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="412"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="415"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="415"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="415"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="415"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="409"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="407"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="407"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_multi_user_switch_quick_contact` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_multi_user_switch_quick_contact&quot;>Show profile&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="979"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="420"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="411"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="416"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="411"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="416"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="412"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="411"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="414"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="414"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="411"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="406"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="414"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="413"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="416"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="416"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="416"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="411"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="416"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="410"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="408"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="408"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.guest_notification_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;guest_notification_title&quot;>Guest user&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1018"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="433"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="429"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="429"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="419"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="429"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="429"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="429"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="429"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="421"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.guest_notification_text` appears to be unused"
-        errorLine1="    &lt;string name=&quot;guest_notification_text&quot;>To delete apps and data, remove guest user&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1021"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="434"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="430"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="430"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="420"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="430"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="430"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="430"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="430"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="422"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.guest_notification_remove_action` appears to be unused"
-        errorLine1="    &lt;string name=&quot;guest_notification_remove_action&quot;>REMOVE GUEST&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1024"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="431"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="431"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="429"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="429"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="421"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="429"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="431"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="431"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="431"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="431"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="423"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.user_logout_notification_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;user_logout_notification_title&quot;>Logout user&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1027"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="432"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="432"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="430"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="430"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="422"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="430"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="429"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="432"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="432"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="432"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="432"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="424"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.user_logout_notification_text` appears to be unused"
-        errorLine1="    &lt;string name=&quot;user_logout_notification_text&quot;>Logout current user&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1030"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="433"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="433"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="429"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="431"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="431"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="423"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="431"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="430"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="433"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="433"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="433"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="433"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="427"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="425"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="425"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.user_logout_notification_action` appears to be unused"
-        errorLine1="    &lt;string name=&quot;user_logout_notification_action&quot;>LOGOUT USER&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1033"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="429"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="434"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="429"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="434"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="430"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="429"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="432"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="432"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="429"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="424"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="432"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="431"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="434"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="434"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="434"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="429"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="434"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="428"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="426"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="426"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.battery_saver_notification_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;battery_saver_notification_title&quot;>Battery Saver is on&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1060"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="443"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="443"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="441"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="441"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="433"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="441"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="440"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="443"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="443"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="443"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="443"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="435"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.battery_saver_notification_text` appears to be unused"
-        errorLine1="    &lt;string name=&quot;battery_saver_notification_text&quot;>Reduces performance and background data&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1063"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="444"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="444"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="440"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="442"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="442"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="434"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="442"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="441"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="444"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="444"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="444"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="444"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="438"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="436"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="436"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.battery_saver_notification_action_text` appears to be unused"
-        errorLine1="    &lt;string name=&quot;battery_saver_notification_action_text&quot;>Turn off Battery Saver&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1066"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="440"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="440"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="441"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="440"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="443"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="443"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="440"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="435"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="443"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="442"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="440"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="439"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="437"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="437"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.profile_owned_footer` appears to be unused"
-        errorLine1="    &lt;string name=&quot;profile_owned_footer&quot;>Profile may be monitored&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1090"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="457"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="453"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="453"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="451"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="451"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="443"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="451"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="450"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="453"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="453"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="453"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="453"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="445"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.vpn_footer` appears to be unused"
-        errorLine1="    &lt;string name=&quot;vpn_footer&quot;>Network may be monitored&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1093"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="458"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="454"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="454"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="450"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="452"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="452"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="444"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="452"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="451"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="454"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="454"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="454"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="454"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="448"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="446"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="446"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.branded_vpn_footer` appears to be unused"
-        errorLine1="    &lt;string name=&quot;branded_vpn_footer&quot;>Network may be monitored&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1096"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="459"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="450"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="455"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="450"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="455"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="451"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="450"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="453"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="453"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="450"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="445"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="453"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="452"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="455"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="455"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="455"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="450"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="455"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="449"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="447"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="447"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.monitoring_title_profile_owned` appears to be unused"
-        errorLine1="    &lt;string name=&quot;monitoring_title_profile_owned&quot;>Profile monitoring&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1147"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="476"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="467"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="467"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="468"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="467"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="467"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="462"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="467"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="466"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="464"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="464"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.disable_vpn` appears to be unused"
-        errorLine1="    &lt;string name=&quot;disable_vpn&quot;>Disable VPN&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1163"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="481"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="477"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="477"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="473"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="475"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="475"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="467"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="475"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="474"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="477"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="477"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="477"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="477"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="471"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="469"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="469"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.disconnect_vpn` appears to be unused"
-        errorLine1="    &lt;string name=&quot;disconnect_vpn&quot;>Disconnect VPN&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1166"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="473"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="478"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="473"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="478"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="474"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="473"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="476"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="476"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="473"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="468"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="476"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="475"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="478"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="478"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="478"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="473"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="478"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="472"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="470"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="470"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.monitoring_description_do_header_generic` appears to be unused"
-        errorLine1="    &lt;string name=&quot;monitoring_description_do_header_generic&quot;>Your device is managed by &lt;xliff:g id=&quot;device_owner_app&quot; example=&quot;Google Mobile Management&quot;>%1$s&lt;/xliff:g>.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1202"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="480"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="482"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.monitoring_description_do_header_with_name` appears to be unused"
-        errorLine1="    &lt;string name=&quot;monitoring_description_do_header_with_name&quot;>&lt;xliff:g id=&quot;organization_name&quot; example=&quot;Foo, Inc.&quot;>%1$s&lt;/xliff:g> uses &lt;xliff:g id=&quot;device_owner_app&quot; example=&quot;Google Mobile Management&quot;>%2$s&lt;/xliff:g> to manage your device.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1205"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="481"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="483"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.monitoring_description_do_body` appears to be unused"
-        errorLine1="    &lt;string name=&quot;monitoring_description_do_body&quot;>Your admin can monitor and manage settings, corporate access, apps, data associated with your device, and your device\&apos;s location information.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1208"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="482"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="484"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.monitoring_description_do_learn_more_separator` appears to be unused"
-        errorLine1="    &lt;string name=&quot;monitoring_description_do_learn_more_separator&quot;>&quot; &quot;&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1211"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="483"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="485"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.monitoring_description_do_learn_more` appears to be unused"
-        errorLine1="    &lt;string name=&quot;monitoring_description_do_learn_more&quot;>Learn more&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1214"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="484"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="486"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="486"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.monitoring_description_do_body_vpn` appears to be unused"
-        errorLine1="    &lt;string name=&quot;monitoring_description_do_body_vpn&quot;>You\&apos;re connected to &lt;xliff:g id=&quot;vpn_app&quot;>%1$s&lt;/xliff:g>, which can monitor your network activity, including emails, apps, and websites.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1217"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="485"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="487"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="487"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.monitoring_description_ca_cert_settings_separator` appears to be unused"
-        errorLine1="    &lt;string name=&quot;monitoring_description_ca_cert_settings_separator&quot;>&quot; &quot;&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1226"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="488"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="490"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.monitoring_description_ca_cert_settings` appears to be unused"
-        errorLine1="    &lt;string name=&quot;monitoring_description_ca_cert_settings&quot;>Open trusted credentials&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1229"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="489"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="491"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.monitoring_description_network_logging` appears to be unused"
-        errorLine1="    &lt;string name=&quot;monitoring_description_network_logging&quot;>Your admin has turned on network logging, which monitors traffic on your device.\n\nFor more information, contact your admin.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1232"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="490"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="492"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.monitoring_description_vpn` appears to be unused"
-        errorLine1="    &lt;string name=&quot;monitoring_description_vpn&quot;>You gave an app permission to set up a VPN connection.\n\nThis app can monitor your device and network activity, including emails, apps, and websites.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1235"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="491"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="493"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="493"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.monitoring_description_vpn_profile_owned` appears to be unused"
-        errorLine1="    &lt;string name=&quot;monitoring_description_vpn_profile_owned&quot;>Your work profile is managed by &lt;xliff:g id=&quot;organization&quot;>%1$s&lt;/xliff:g>.\n\nYour admin is capable of monitoring your network activity including emails, apps, and websites.\n\nFor more information, contact your admin.\n\nYou\&apos;re also connected to a VPN, which can monitor your network activity.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1238"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="492"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="494"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.monitoring_description_app` appears to be unused"
-        errorLine1="    &lt;string name=&quot;monitoring_description_app&quot;>You\&apos;re connected to"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1244"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="494"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="496"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.monitoring_description_app_personal` appears to be unused"
-        errorLine1="    &lt;string name=&quot;monitoring_description_app_personal&quot;>You\&apos;re connected to &lt;xliff:g id=&quot;application&quot;>%1$s&lt;/xliff:g>, which can monitor your personal network activity, including emails, apps, and websites.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1249"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="495"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="497"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.branded_monitoring_description_app_personal` appears to be unused"
-        errorLine1="    &lt;string name=&quot;branded_monitoring_description_app_personal&quot;>You\&apos;re connected to &lt;xliff:g id=&quot;application&quot;>%1$s&lt;/xliff:g>, which can monitor your personal network activity, including emails, apps, and websites.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1252"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="496"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="498"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.monitoring_description_app_work` appears to be unused"
-        errorLine1="    &lt;string name=&quot;monitoring_description_app_work&quot;>Your work profile is managed by"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1255"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="497"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="499"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.monitoring_description_app_personal_work` appears to be unused"
-        errorLine1="    &lt;string name=&quot;monitoring_description_app_personal_work&quot;>Your work profile is managed by"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1261"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="498"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="500"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.keyguard_indication_trust_granted` appears to be unused"
-        errorLine1="    &lt;string name=&quot;keyguard_indication_trust_granted&quot;>Unlocked for &lt;xliff:g id=&quot;user_name&quot; example=&quot;John Doe&quot;>%1$s&lt;/xliff:g>&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1269"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="499"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="501"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="501"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.keyguard_indication_trust_managed` appears to be unused"
-        errorLine1="    &lt;string name=&quot;keyguard_indication_trust_managed&quot;>&lt;xliff:g id=&quot;trust_agent&quot; example=&quot;Smart Lock&quot;>%1$s&lt;/xliff:g> is running&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1272"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="500"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="502"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.hidden_notifications_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;hidden_notifications_title&quot;>Get notifications faster&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1278"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="516"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="502"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="504"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.hidden_notifications_text` appears to be unused"
-        errorLine1="    &lt;string name=&quot;hidden_notifications_text&quot;>See them before you unlock&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1281"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="517"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="503"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="505"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.hidden_notifications_cancel` appears to be unused"
-        errorLine1="    &lt;string name=&quot;hidden_notifications_cancel&quot;>No thanks&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1284"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="518"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="504"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="508"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="506"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="506"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.hidden_notifications_setup` appears to be unused"
-        errorLine1="    &lt;string name=&quot;hidden_notifications_setup&quot;>Set up&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1287"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="519"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="505"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="507"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.volume_zen_end_now` appears to be unused"
-        errorLine1="    &lt;string name=&quot;volume_zen_end_now&quot;>Turn off now&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1293"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="521"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="517"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="517"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="507"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="517"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="517"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="517"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="517"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="509"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_volume_expand` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_volume_expand&quot;>Expand&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1299"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="523"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="519"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="519"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="517"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="517"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="509"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="517"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="516"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="519"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="519"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="519"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="519"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="511"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_volume_collapse` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_volume_collapse&quot;>Collapse&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1302"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="524"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="520"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="520"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="516"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="518"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="518"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="510"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="518"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="517"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="520"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="520"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="520"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="520"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="514"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="512"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="512"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_output_chooser` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_output_chooser&quot;>Switch output device&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1305"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="516"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="521"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="516"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="521"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="517"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="516"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="519"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="519"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="516"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="511"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="519"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="518"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="521"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="521"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="521"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="516"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="521"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="515"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="513"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="513"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_reset_confirmation_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_reset_confirmation_title&quot;>Hide &lt;xliff:g id=&quot;tile_label&quot; example=&quot;Hotspot&quot;>%1$s&lt;/xliff:g>?&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1330"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="533"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="533"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="531"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="531"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="523"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="531"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="530"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="533"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="533"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="533"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="533"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="525"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_reset_confirmation_message` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_reset_confirmation_message&quot;>It will reappear the next time you turn it on in settings.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1333"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="538"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="534"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="534"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="530"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="532"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="532"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="524"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="532"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="531"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="534"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="534"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="534"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="534"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="528"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="526"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="526"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings_reset_confirmation_button` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings_reset_confirmation_button&quot;>Hide&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1336"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="530"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="535"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="530"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="535"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="531"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="530"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="533"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="533"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="530"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="525"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="533"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="532"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="535"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="535"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="535"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="530"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="535"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="529"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="527"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="527"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.ring_toggle_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;ring_toggle_title&quot;>Calls&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1351"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="549"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="540"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="545"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="540"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="545"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="541"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="540"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="543"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="543"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="540"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="535"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="543"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="542"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="545"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="545"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="545"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="540"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="545"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="539"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="537"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="537"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.volume_stream_muted` appears to be unused"
-        errorLine1="    &lt;string name=&quot;volume_stream_muted&quot; translatable=&quot;false&quot;>%s silent&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1361"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.volume_stream_vibrate` appears to be unused"
-        errorLine1="    &lt;string name=&quot;volume_stream_vibrate&quot; translatable=&quot;false&quot;>%s vibrate&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1362"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.volume_stream_suppressed` appears to be unused"
-        errorLine1="    &lt;string name=&quot;volume_stream_suppressed&quot; translatable=&quot;false&quot;>%1$s silent — %2$s&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1363"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.volume_stream_muted_dnd` appears to be unused"
-        errorLine1="    &lt;string name=&quot;volume_stream_muted_dnd&quot; translatable=&quot;false&quot;>%s silent — Total silence&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1364"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.volume_stream_limited_dnd` appears to be unused"
-        errorLine1="    &lt;string name=&quot;volume_stream_limited_dnd&quot; translatable=&quot;false&quot;>%s — Priority only&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1365"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.volume_stream_vibrate_dnd` appears to be unused"
-        errorLine1="    &lt;string name=&quot;volume_stream_vibrate_dnd&quot; translatable=&quot;false&quot;>%s vibrate — Priority only&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1366"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.output_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;output_title&quot;>Media output&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1385"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="551"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="553"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.output_calls_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;output_calls_title&quot;>Phone call output&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1386"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="566"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="552"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="554"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.output_none_found` appears to be unused"
-        errorLine1="    &lt;string name=&quot;output_none_found&quot;>No devices found&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1387"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="553"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="555"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.output_none_found_service_off` appears to be unused"
-        errorLine1="    &lt;string name=&quot;output_none_found_service_off&quot;>No devices found. Try turning on &lt;xliff:g id=&quot;service&quot; example=&quot;Bluetooth&quot;>%1$s&lt;/xliff:g>&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1388"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="568"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="554"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="556"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.output_service_bt` appears to be unused"
-        errorLine1="    &lt;string name=&quot;output_service_bt&quot;>Bluetooth&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1389"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="569"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="555"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="557"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.output_service_wifi` appears to be unused"
-        errorLine1="    &lt;string name=&quot;output_service_wifi&quot;>Wi-Fi&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1390"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="570"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="566"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="566"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="556"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="566"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="566"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="566"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="566"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="558"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="558"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.output_service_bt_wifi` appears to be unused"
-        errorLine1="    &lt;string name=&quot;output_service_bt_wifi&quot;>Bluetooth and Wi-Fi&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1391"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="571"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="557"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="559"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.show_battery_percentage` appears to be unused"
-        errorLine1="    &lt;string name=&quot;show_battery_percentage&quot;>Show embedded battery percentage&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1397"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="569"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="566"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="569"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="559"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="566"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="569"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="569"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="569"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="569"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="561"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.show_battery_percentage_summary` appears to be unused"
-        errorLine1="    &lt;string name=&quot;show_battery_percentage_summary&quot;>Show battery level percentage inside the status bar icon when not charging&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1400"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="570"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="570"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="566"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="568"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="568"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="560"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="568"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="570"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="570"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="570"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="570"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="564"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="562"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="562"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.quick_settings` appears to be unused"
-        errorLine1="    &lt;string name=&quot;quick_settings&quot;>Quick Settings&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1403"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="566"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="571"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="568"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="571"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="566"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="569"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="569"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="566"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="561"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="569"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="568"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="571"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="571"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="571"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="566"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="571"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="563"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.overview` appears to be unused"
-        errorLine1="    &lt;string name=&quot;overview&quot;>Overview&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1409"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="577"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="568"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="570"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="569"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="568"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="571"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="571"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="568"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="563"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="571"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="570"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="568"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="567"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="565"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="565"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.add_tile` appears to be unused"
-        errorLine1="    &lt;string name=&quot;add_tile&quot;>Add tile&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1433"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="585"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="581"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="578"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="581"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="577"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="579"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="579"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="571"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="579"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="578"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="581"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="581"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="581"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="581"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="575"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="573"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="573"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.broadcast_tile` appears to be unused"
-        errorLine1="    &lt;string name=&quot;broadcast_tile&quot;>Broadcast Tile&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1436"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="586"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="577"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="582"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="579"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="582"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="578"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="577"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="580"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="580"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="577"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="572"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="580"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="579"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="582"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="582"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="582"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="577"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="582"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="576"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="574"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="574"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.regrettable_lack_of_easter_egg` appears to be unused"
-        errorLine1="    &lt;string name=&quot;regrettable_lack_of_easter_egg&quot;>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1439"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.activity_not_found` appears to be unused"
-        errorLine1="    &lt;string name=&quot;activity_not_found&quot;>Application is not installed on your device&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1486"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="587"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="589"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.clock_seconds` appears to be unused"
-        errorLine1="    &lt;string name=&quot;clock_seconds&quot;>Show clock seconds&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1489"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="588"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="590"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.clock_seconds_desc` appears to be unused"
-        errorLine1="    &lt;string name=&quot;clock_seconds_desc&quot;>Show clock seconds in the status bar. May impact battery life.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1491"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="589"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="591"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.qs_rearrange` appears to be unused"
-        errorLine1="    &lt;string name=&quot;qs_rearrange&quot;>Rearrange Quick Settings&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1494"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="590"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="592"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.show_brightness` appears to be unused"
-        errorLine1="    &lt;string name=&quot;show_brightness&quot;>Show brightness in Quick Settings&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1496"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="591"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="595"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="593"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="593"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.qs_paging` appears to be unused"
-        errorLine1="    &lt;string name=&quot;qs_paging&quot; translatable=&quot;false&quot;>Use the new Quick Settings&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1498"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.experimental` appears to be unused"
-        errorLine1="    &lt;string name=&quot;experimental&quot;>Experimental&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1502"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="592"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="594"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="594"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.qs_customize` appears to be unused"
-        errorLine1="    &lt;string name=&quot;qs_customize&quot; translatable=&quot;false&quot;>Allow long-press customize in Quick Settings&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1504"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.qs_customize_info` appears to be unused"
-        errorLine1="    &lt;string name=&quot;qs_customize_info&quot; translatable=&quot;false&quot;>Info&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1505"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.qs_customize_remove` appears to be unused"
-        errorLine1="    &lt;string name=&quot;qs_customize_remove&quot; translatable=&quot;false&quot;>Remove&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1506"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.no_tiles_add` appears to be unused"
-        errorLine1="    &lt;string name=&quot;no_tiles_add&quot; translatable=&quot;false&quot;>No tiles to add&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1507"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.show_silently` appears to be unused"
-        errorLine1="    &lt;string name=&quot;show_silently&quot;>Show notifications silently&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1520"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="610"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="596"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="598"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.block` appears to be unused"
-        errorLine1="    &lt;string name=&quot;block&quot;>Block all notifications&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1522"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="611"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="607"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="607"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="597"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="607"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="607"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="607"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="607"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="599"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.do_not_silence` appears to be unused"
-        errorLine1="    &lt;string name=&quot;do_not_silence&quot;>Don\&apos;t silence&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1524"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="612"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="598"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="600"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="600"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.do_not_silence_block` appears to be unused"
-        errorLine1="    &lt;string name=&quot;do_not_silence_block&quot;>Don\&apos;t silence or block&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1526"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="613"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="609"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="609"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="607"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="607"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="599"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="607"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="609"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="609"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="609"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="609"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="601"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.tuner_full_importance_settings_on` appears to be unused"
-        errorLine1="    &lt;string name=&quot;tuner_full_importance_settings_on&quot;>On&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1530"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="615"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="611"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="611"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="607"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="609"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="609"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="601"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="609"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="611"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="611"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="611"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="611"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="605"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="603"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="603"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.tuner_full_importance_settings_off` appears to be unused"
-        errorLine1="    &lt;string name=&quot;tuner_full_importance_settings_off&quot;>Off&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1531"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="616"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="607"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="612"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="609"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="612"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="607"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="610"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="610"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="607"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="602"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="610"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="609"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="612"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="612"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="612"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="607"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="612"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="604"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.notification_header_default_channel` appears to be unused"
-        errorLine1="    &lt;string name=&quot;notification_header_default_channel&quot;>Notifications&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1558"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="618"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="609"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="614"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="611"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="614"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="610"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="609"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="612"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="612"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="609"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="604"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="612"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="611"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="614"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="614"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="614"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="609"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="614"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="608"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="606"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="606"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.notification_channel_switch_accessibility` appears to be unused"
-        errorLine1="    &lt;string name=&quot;notification_channel_switch_accessibility&quot;>Allow notifications from this channel&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1614"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="639"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="635"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="635"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="631"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="633"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="633"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="625"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="633"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="635"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="635"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="635"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="635"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="629"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="627"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="627"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.notification_done` appears to be unused"
-        errorLine1="    &lt;string name=&quot;notification_done&quot;>Done&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1622"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="642"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="633"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="638"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="635"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="638"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="634"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="633"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="636"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="636"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="633"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="628"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="636"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="635"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="638"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="638"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="638"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="633"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="638"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="632"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="630"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="630"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.battery_panel_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;battery_panel_title&quot;>Battery usage&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1660"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="666"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="658"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="653"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="658"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="650"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="656"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="656"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="644"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="656"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="653"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="658"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="658"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="658"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="658"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="648"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="646"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="646"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.battery_detail_charging_summary` appears to be unused"
-        errorLine1="    &lt;string name=&quot;battery_detail_charging_summary&quot;>Battery Saver not available during charging&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1663"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="667"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="652"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="659"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="654"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="659"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="652"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="657"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="657"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="652"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="645"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="657"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="654"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="659"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="659"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="659"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="652"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="659"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="647"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.battery_detail_switch_summary` appears to be unused"
-        errorLine1="    &lt;string name=&quot;battery_detail_switch_summary&quot;>Reduces performance and background data&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1669"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="669"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="654"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="661"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="656"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="661"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="653"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="654"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="659"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="659"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="654"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="647"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="659"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="656"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="661"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="661"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="661"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="654"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="661"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="651"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="649"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="649"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.keyboard_shortcut_group_applications_youtube` appears to be unused"
-        errorLine1="    &lt;string name=&quot;keyboard_shortcut_group_applications_youtube&quot;>YouTube&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1754"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="710"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="702"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="702"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="700"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="700"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="688"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="700"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="702"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="702"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="702"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="702"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="690"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.tuner_full_zen_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;tuner_full_zen_title&quot;>Show with volume controls&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1759"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="712"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="696"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="702"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="702"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="690"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="702"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="694"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="692"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="692"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.volume_up_silent` appears to be unused"
-        errorLine1="    &lt;string name=&quot;volume_up_silent&quot;>Exit do not disturb on volume up&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1769"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="715"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="700"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="707"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="702"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="707"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="700"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="705"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="705"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="700"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="693"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="705"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="702"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="707"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="707"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="707"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="700"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="707"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="695"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.clock` appears to be unused"
-        errorLine1="    &lt;string name=&quot;clock&quot;>Clock&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1775"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="717"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="702"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="709"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="709"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="701"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="702"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="707"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="707"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="702"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="695"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="707"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="709"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="709"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="709"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="702"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="709"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="699"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="697"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="697"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_data_saver_off` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_data_saver_off&quot;>Data Saver is off&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1797"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="709"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="716"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="716"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="708"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="709"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="714"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="714"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="709"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="702"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="714"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="716"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="716"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="716"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="709"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="716"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="706"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="704"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="704"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.nav_bar_default` appears to be unused"
-        errorLine1="    &lt;string name=&quot;nav_bar_default&quot;> (default)&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1819"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="731"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="716"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="723"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="718"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="723"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="715"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="716"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="721"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="721"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="716"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="709"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="721"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="718"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="723"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="723"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="723"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="716"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="723"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="713"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="711"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="711"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.menu_ime` appears to be unused"
-        errorLine1="    &lt;string name=&quot;menu_ime&quot;>Keyboard switcher&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1851"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="744"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="736"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="731"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="736"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="728"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="734"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="734"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="722"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="734"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="731"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="736"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="736"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="736"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="736"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="726"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="724"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="724"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.save` appears to be unused"
-        errorLine1="    &lt;string name=&quot;save&quot;>Save&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1853"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="745"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="730"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="737"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="732"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="737"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="730"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="735"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="735"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="730"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="723"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="735"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="732"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="737"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="737"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="737"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="730"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="737"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="725"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.adjust_button_width` appears to be unused"
-        errorLine1="    &lt;string name=&quot;adjust_button_width&quot;>Adjust button width&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1858"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="747"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="732"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="739"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="734"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="739"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="731"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="732"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="737"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="737"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="732"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="725"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="737"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="734"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="739"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="739"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="739"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="732"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="739"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="729"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="727"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="727"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.accessibility_quick_settings_alarm_set` appears to be unused"
-        errorLine1="    &lt;string name=&quot;accessibility_quick_settings_alarm_set&quot;>Alarm set.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="1985"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="798"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="783"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="790"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="785"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="790"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="782"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="779"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="779"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="779"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="779"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="779"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="780"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="780"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="780"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="780"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="780"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="780"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="780"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="783"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="780"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="788"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="780"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="780"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="788"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="783"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="776"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="788"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="780"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="780"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="785"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="790"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="790"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="790"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="783"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="790"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="780"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="780"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="778"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="778"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.pip_phone_minimize` appears to be unused"
-        errorLine1="    &lt;string name=&quot;pip_phone_minimize&quot;>Minimize&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="2024"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="807"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="799"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="799"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="791"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="788"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="788"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="788"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="788"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="788"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="789"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="789"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="789"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="789"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="789"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="789"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="789"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="789"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="797"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="789"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="789"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="797"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="785"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="797"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="789"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="789"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="799"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="799"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="799"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="799"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="789"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="789"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="787"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="787"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.pip_notification_title` appears to be unused"
-        errorLine1="    &lt;string name=&quot;pip_notification_title&quot;>&lt;xliff:g id=&quot;name&quot; example=&quot;Google Maps&quot;>%s&lt;/xliff:g> is in picture-in-picture&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="2039"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="812"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="797"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="804"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="799"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="804"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="796"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="797"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="802"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="802"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="797"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="790"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="802"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="799"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="804"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="804"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="804"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="797"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="804"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="792"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="792"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.pip_notification_message` appears to be unused"
-        errorLine1="    &lt;string name=&quot;pip_notification_message&quot;>If you don\&apos;t want &lt;xliff:g id=&quot;name&quot; example=&quot;Google Maps&quot;>%s&lt;/xliff:g> to use this feature, tap to open settings and turn it off.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="2042"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="813"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="798"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="805"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="800"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="805"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="797"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="794"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="795"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="795"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="795"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="795"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="795"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="795"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="795"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="798"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="795"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="803"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="795"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="795"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="803"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="798"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="791"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="803"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="795"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="795"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="800"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="805"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="805"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="805"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="798"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="805"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="795"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="795"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="793"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="793"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.change_theme_reboot` appears to be unused"
-        errorLine1="    &lt;string name=&quot;change_theme_reboot&quot; translatable=&quot;false&quot;>Changing the theme requires a restart.&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="2057"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.theme` appears to be unused"
-        errorLine1="    &lt;string name=&quot;theme&quot; translatable=&quot;false&quot;>Theme&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="2059"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.default_theme` appears to be unused"
-        errorLine1="    &lt;string name=&quot;default_theme&quot; translatable=&quot;false&quot;>Default&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="2061"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.qs_dnd_until` appears to be unused"
-        errorLine1="    &lt;string name=&quot;qs_dnd_until&quot;>Until &lt;xliff:g name=&quot;time&quot;>%s&lt;/xliff:g>&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="2169"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="856"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="841"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="848"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="843"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="848"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="840"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="841"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="846"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="846"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="841"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="834"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="846"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="843"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="848"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="848"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="848"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="841"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="848"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="836"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.qs_dnd_keep` appears to be unused"
-        errorLine1="    &lt;string name=&quot;qs_dnd_keep&quot;>Keep&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="2172"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="857"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="842"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="849"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="844"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="849"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="841"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="842"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="847"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="847"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="842"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="835"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="847"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="844"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="849"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="849"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="849"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="842"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="849"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="837"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="837"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.string.qs_dnd_replace` appears to be unused"
-        errorLine1="    &lt;string name=&quot;qs_dnd_replace&quot;>Replace&lt;/string>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/strings.xml"
-            line="2175"
-            column="13"/>
-        <location
-            file="res/values-af/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-am/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-ar/strings.xml"
-            line="858"
-            column="13"/>
-        <location
-            file="res/values-as/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-az/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-b+sr+Latn/strings.xml"
-            line="843"
-            column="13"/>
-        <location
-            file="res/values-be/strings.xml"
-            line="850"
-            column="13"/>
-        <location
-            file="res/values-bg/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-bn/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-bs/strings.xml"
-            line="845"
-            column="13"/>
-        <location
-            file="res/values-ca/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-cs/strings.xml"
-            line="850"
-            column="13"/>
-        <location
-            file="res/values-da/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-de/strings.xml"
-            line="842"
-            column="13"/>
-        <location
-            file="res/values-el/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-en-rAU/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-en-rCA/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-en-rGB/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-en-rIN/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="839"
-            column="13"/>
-        <location
-            file="res/values-es/strings.xml"
-            line="840"
-            column="13"/>
-        <location
-            file="res/values-es-rUS/strings.xml"
-            line="840"
-            column="13"/>
-        <location
-            file="res/values-et/strings.xml"
-            line="840"
-            column="13"/>
-        <location
-            file="res/values-eu/strings.xml"
-            line="840"
-            column="13"/>
-        <location
-            file="res/values-fa/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-fi/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-fr/strings.xml"
-            line="840"
-            column="13"/>
-        <location
-            file="res/values-fr-rCA/strings.xml"
-            line="840"
-            column="13"/>
-        <location
-            file="res/values-gl/strings.xml"
-            line="840"
-            column="13"/>
-        <location
-            file="res/values-gu/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-hi/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-hr/strings.xml"
-            line="843"
-            column="13"/>
-        <location
-            file="res/values-hu/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-hy/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-in/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-is/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-it/strings.xml"
-            line="840"
-            column="13"/>
-        <location
-            file="res/values-iw/strings.xml"
-            line="848"
-            column="13"/>
-        <location
-            file="res/values-ja/strings.xml"
-            line="840"
-            column="13"/>
-        <location
-            file="res/values-ka/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-kk/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-km/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-kn/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-ko/strings.xml"
-            line="840"
-            column="13"/>
-        <location
-            file="res/values-ky/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-lo/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-lt/strings.xml"
-            line="848"
-            column="13"/>
-        <location
-            file="res/values-lv/strings.xml"
-            line="843"
-            column="13"/>
-        <location
-            file="res/values-mk/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-ml/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-mn/strings.xml"
-            line="836"
-            column="13"/>
-        <location
-            file="res/values-mr/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-ms/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-my/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-nb/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-ne/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-nl/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-or/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-pa/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-pl/strings.xml"
-            line="848"
-            column="13"/>
-        <location
-            file="res/values-pt/strings.xml"
-            line="840"
-            column="13"/>
-        <location
-            file="res/values-pt-rBR/strings.xml"
-            line="840"
-            column="13"/>
-        <location
-            file="res/values-pt-rPT/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-ro/strings.xml"
-            line="845"
-            column="13"/>
-        <location
-            file="res/values-ru/strings.xml"
-            line="850"
-            column="13"/>
-        <location
-            file="res/values-si/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-sk/strings.xml"
-            line="850"
-            column="13"/>
-        <location
-            file="res/values-sl/strings.xml"
-            line="850"
-            column="13"/>
-        <location
-            file="res/values-sq/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-sr/strings.xml"
-            line="843"
-            column="13"/>
-        <location
-            file="res/values-sv/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-sw/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-ta/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-te/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-th/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-tl/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-tr/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-uk/strings.xml"
-            line="850"
-            column="13"/>
-        <location
-            file="res/values-ur/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-uz/strings.xml"
-            line="840"
-            column="13"/>
-        <location
-            file="res/values-vi/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-zh-rCN/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-zh-rHK/strings.xml"
-            line="840"
-            column="13"/>
-        <location
-            file="res/values-zh-rTW/strings.xml"
-            line="838"
-            column="13"/>
-        <location
-            file="res/values-zu/strings.xml"
-            line="838"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.style.SearchPanelCircle` appears to be unused"
-        errorLine1="    &lt;style name=&quot;SearchPanelCircle&quot;>"
-        errorLine2="           ~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/styles.xml"
-            line="369"
-            column="12"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.sun2` appears to be unused"
-        errorLine1="&lt;vector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/sun2.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.system_in` appears to be unused"
-        errorLine1="&lt;set xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/anim/system_in.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.anim.system_out` appears to be unused"
-        errorLine1="&lt;set xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/anim/system_out.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.layout.tuner_zen_mode_panel` appears to be unused"
-        errorLine1="&lt;com.android.systemui.tuner.TunerZenModePanel"
-        errorLine2="^">
-        <location
-            file="res/layout/tuner_zen_mode_panel.xml"
-            line="18"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.tv_pip_outline` appears to be unused"
-        errorLine1="&lt;shape xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/drawable/tv_pip_outline.xml"
-            line="17"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UnusedResources"
-        message="The resource `R.drawable.volume_dialog_background` appears to be unused"
-        errorLine1="&lt;shape xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; >"
-        errorLine2="^">
-        <location
-            file="res/drawable/volume_dialog_background.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="UselessParent"
-        message="This `FrameLayout` layout or its `FrameLayout` parent is useless; transfer the `background` attribute to the other view"
-        errorLine1="    &lt;FrameLayout"
-        errorLine2="    ^">
-        <location
-            file="res/layout/brightness_mirror.xml"
-            line="24"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="UselessParent"
-        message="This `FrameLayout` layout or its `FrameLayout` parent is possibly useless"
-        errorLine1="    &lt;FrameLayout"
-        errorLine2="    ^">
-        <location
-            file="res/layout-sw600dp/navigation_layout_rot90.xml"
-            line="22"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="UnusedNamespace"
-        message="Unused namespace `systemui`"
-        errorLine1="    xmlns:systemui=&quot;http://schemas.android.com/apk/res/com.android.systemui&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/keyguard_bottom_area.xml"
-            line="20"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="UnusedNamespace"
-        message="Unused namespace `systemui`"
-        errorLine1="    xmlns:systemui=&quot;http://schemas.android.com/apk/res/com.android.systemui&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/status_bar.xml"
-            line="23"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="TypographyEllipsis"
-        message="Replace &quot;...&quot; with ellipsis character (…, &amp;#8230;) ?"
-        errorLine1="    &lt;string name=&quot;quick_settings_connecting&quot;>Connecting...&lt;/string>"
-        errorLine2="                                             ^">
-        <location
-            file="res/values/strings.xml"
-            line="775"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="TypographyQuotes"
-        message="Replace straight quotes (&quot;) with directional quotes (“”, &amp;#8220; and &amp;#8221;) ?"
-        errorLine1="    &lt;string name=&quot;pip_close&quot; msgid=&quot;3480680679023423574&quot;>&quot;\&quot;Кадр в кадре\&quot; – выйти&quot;&lt;/string>"
-        errorLine2="                                                         ^">
-        <location
-            file="res/values-ru/strings_tv.xml"
-            line="24"
-            column="58"/>
-    </issue>
-
-    <issue
-        id="IconDipSize"
-        message="The image `ic_sysbar_lights_out_dot_large.png` varies significantly in its density-independent (dip) size across the various density versions: drawable-mdpi/ic_sysbar_lights_out_dot_large.png: 10x9 dp (10x9 px), drawable-xhdpi/ic_sysbar_lights_out_dot_large.png: 8x6 dp (15x11 px), drawable-hdpi/ic_sysbar_lights_out_dot_large.png: 6x8 dp (9x12 px), drawable-xxhdpi/ic_sysbar_lights_out_dot_large.png: 5x5 dp (15x16 px)">
-        <location
-            file="res/drawable-xxhdpi/ic_sysbar_lights_out_dot_large.png"/>
-        <location
-            file="res/drawable-hdpi/ic_sysbar_lights_out_dot_large.png"/>
-        <location
-            file="res/drawable-xhdpi/ic_sysbar_lights_out_dot_large.png"/>
-        <location
-            file="res/drawable-mdpi/ic_sysbar_lights_out_dot_large.png"/>
-    </issue>
-
-    <issue
-        id="IconDipSize"
-        message="The image `ic_sysbar_lights_out_dot_large.png` varies significantly in its density-independent (dip) size across the various density versions: drawable-sw600dp-mdpi/ic_sysbar_lights_out_dot_large.png: 11x8 dp (11x8 px), drawable-sw600dp-xhdpi/ic_sysbar_lights_out_dot_large.png: 9x8 dp (18x15 px), drawable-sw600dp-hdpi/ic_sysbar_lights_out_dot_large.png: 7x8 dp (11x12 px), drawable-sw600dp-xxhdpi/ic_sysbar_lights_out_dot_large.png: 6x7 dp (19x21 px)">
-        <location
-            file="res/drawable-sw600dp-xxhdpi/ic_sysbar_lights_out_dot_large.png"/>
-        <location
-            file="res/drawable-sw600dp-hdpi/ic_sysbar_lights_out_dot_large.png"/>
-        <location
-            file="res/drawable-sw600dp-xhdpi/ic_sysbar_lights_out_dot_large.png"/>
-        <location
-            file="res/drawable-sw600dp-mdpi/ic_sysbar_lights_out_dot_large.png"/>
-    </issue>
-
-    <issue
-        id="IconDipSize"
-        message="The image `ic_sysbar_lights_out_dot_small.png` varies significantly in its density-independent (dip) size across the various density versions: drawable-mdpi/ic_sysbar_lights_out_dot_small.png: 8x9 dp (8x9 px), drawable-xhdpi/ic_sysbar_lights_out_dot_small.png: 6x7 dp (11x13 px), drawable-hdpi/ic_sysbar_lights_out_dot_small.png: 5x4 dp (7x6 px), drawable-xxhdpi/ic_sysbar_lights_out_dot_small.png: 4x4 dp (13x12 px)">
-        <location
-            file="res/drawable-xxhdpi/ic_sysbar_lights_out_dot_small.png"/>
-        <location
-            file="res/drawable-hdpi/ic_sysbar_lights_out_dot_small.png"/>
-        <location
-            file="res/drawable-xhdpi/ic_sysbar_lights_out_dot_small.png"/>
-        <location
-            file="res/drawable-mdpi/ic_sysbar_lights_out_dot_small.png"/>
-    </issue>
-
-    <issue
-        id="IconDensities"
-        message="Missing the following drawables in `drawable-hdpi`: recents_task_shadow.9.png, remote.png">
-        <location
-            file="res/drawable-hdpi"/>
-    </issue>
-
-    <issue
-        id="IconDensities"
-        message="Missing the following drawables in `drawable-mdpi`: recents_task_shadow.9.png, remote.png">
-        <location
-            file="res/drawable-mdpi"/>
-    </issue>
-
-    <issue
-        id="IconDensities"
-        message="Missing the following drawables in `drawable-xhdpi`: recents_task_shadow.9.png (found in drawable-xxhdpi)">
-        <location
-            file="res/drawable-xhdpi"/>
-    </issue>
-
-    <issue
-        id="IconDensities"
-        message="Missing the following drawables in `drawable-xxhdpi`: ic_cancel_white_24dp.png, ic_dismiss_outline.png, remote.png">
-        <location
-            file="res/drawable-xxhdpi"/>
-    </issue>
-
-    <issue
-        id="IconDensities"
-        message="Missing the following drawables in `drawable-xxxhdpi`: ic_cancel_white_24dp.png, ic_dismiss_outline.png, ic_notification_overlay.9.png, ic_qs_brightness_auto_off_alpha.png, ic_qs_brightness_auto_on_alpha.png... (10 more)">
-        <location
-            file="res/drawable-xxxhdpi"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/app_ops_info.xml"
-            line="39"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/assist_orb.xml"
-            line="38"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView android:id=&quot;@+id/user_avatar&quot;"
-        errorLine2="    ^">
-        <location
-            file="res/layout/car_fullscreen_user_pod.xml"
-            line="28"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/car_qs_footer.xml"
-            line="41"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/car_qs_footer.xml"
-            line="49"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/connected_device_signal.xml"
-            line="33"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/global_actions_item.xml"
-            line="31"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView android:id=&quot;@+id/global_screenshot_background&quot;"
-        errorLine2="    ^">
-        <location
-            file="res/layout/global_screenshot.xml"
-            line="19"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView android:id=&quot;@+id/global_screenshot&quot;"
-        errorLine2="    ^">
-        <location
-            file="res/layout/global_screenshot.xml"
-            line="24"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView android:id=&quot;@+id/global_screenshot_flash&quot;"
-        errorLine2="    ^">
-        <location
-            file="res/layout/global_screenshot.xml"
-            line="31"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/keyboard_shortcut_app_item.xml"
-            line="26"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="&lt;ImageView xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/layout/keyboard_shortcuts_key_icon_view.xml"
-            line="18"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="            &lt;ImageView android:id=&quot;@+id/multi_user_avatar&quot;"
-        errorLine2="            ^">
-        <location
-            file="res/layout/keyguard_status_bar.xml"
-            line="50"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="            &lt;ImageView"
-        errorLine2="            ^">
-        <location
-            file="res/layout/mland.xml"
-            line="45"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageButton"
-        errorLine2="        ^">
-        <location
-            file="res/layout/mland.xml"
-            line="73"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageButton"
-        errorLine2="        ^">
-        <location
-            file="res/layout/mland.xml"
-            line="92"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/mobile_signal_group.xml"
-            line="31"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/mobile_signal_group.xml"
-            line="39"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/mobile_signal_group.xml"
-            line="48"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/nav_control_widget.xml"
-            line="28"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/nav_control_widget.xml"
-            line="41"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/nav_control_widget.xml"
-            line="54"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="&lt;ImageView xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
-        errorLine2="^">
-        <location
-            file="res/layout/navigation_bar_app_item.xml"
-            line="21"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/notification_info.xml"
-            line="38"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/notification_snooze.xml"
-            line="42"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="&lt;ImageView"
-        errorLine2="^">
-        <location
-            file="res/layout/pip_menu_action.xml"
-            line="16"
-            column="1"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/preference_widget_settings.xml"
-            line="36"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/qs_detail_header.xml"
-            line="47"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/qs_detail_item.xml"
-            line="27"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/qs_detail_items.xml"
-            line="42"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="                &lt;ImageView"
-        errorLine2="                ^">
-        <location
-            file="res/layout/qs_footer_impl.xml"
-            line="93"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView android:id=&quot;@+id/restricted_padlock&quot;"
-        errorLine2="        ^">
-        <location
-            file="res/layout/qs_tile_label.xml"
-            line="50"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/qs_tile_label.xml"
-            line="59"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/qs_user_detail_item.xml"
-            line="58"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/quick_settings_header_info.xml"
-            line="43"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/quick_settings_header_info.xml"
-            line="69"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/recents.xml"
-            line="37"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/recents_task_view_lock_to_app.xml"
-            line="29"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/rounded_corners.xml"
-            line="21"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/rounded_corners.xml"
-            line="28"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons.xml"
-            line="48"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons.xml"
-            line="55"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons.xml"
-            line="65"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons.xml"
-            line="91"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons.xml"
-            line="98"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons.xml"
-            line="108"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons.xml"
-            line="134"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons.xml"
-            line="141"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons.xml"
-            line="151"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="44"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="51"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="61"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="84"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="91"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="101"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="125"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="132"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="142"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="44"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="52"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="63"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="87"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="95"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="106"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="130"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="138"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="149"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView android:id=&quot;@+id/shelf_menu_anchor_anchor&quot;"
-        errorLine2="    ^">
-        <location
-            file="res/layout/shelf_menu_anchor.xml"
-            line="20"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/signal_cluster_view.xml"
-            line="60"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/signal_cluster_view.xml"
-            line="68"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/signal_cluster_view.xml"
-            line="95"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/signal_cluster_view.xml"
-            line="124"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/status_bar.xml"
-            line="34"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="            &lt;ImageView"
-        errorLine2="            ^">
-        <location
-            file="res/layout/status_bar_mobile_signal_group.xml"
-            line="39"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="            &lt;ImageView"
-        errorLine2="            ^">
-        <location
-            file="res/layout/status_bar_mobile_signal_group.xml"
-            line="47"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/status_bar_mobile_signal_group.xml"
-            line="56"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="            &lt;ImageView"
-        errorLine2="            ^">
-        <location
-            file="res/layout/status_bar_wifi_group.xml"
-            line="39"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="            &lt;ImageView"
-        errorLine2="            ^">
-        <location
-            file="res/layout/status_bar_wifi_group.xml"
-            line="47"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView android:id=&quot;@+id/backdrop_back&quot;"
-        errorLine2="        ^">
-        <location
-            file="res/layout/super_status_bar.xml"
-            line="35"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView android:id=&quot;@+id/backdrop_front&quot;"
-        errorLine2="        ^">
-        <location
-            file="res/layout/super_status_bar.xml"
-            line="39"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/tuner_shortcut_item.xml"
-            line="26"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/tuner_widget_settings_switch.xml"
-            line="24"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView android:id=&quot;@+id/button&quot;"
-        errorLine2="    ^">
-        <location
-            file="res/layout/tv_pip_control_button.xml"
-            line="23"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="    &lt;ImageView"
-        errorLine2="    ^">
-        <location
-            file="res/layout/wireless_charging_layout.xml"
-            line="26"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="ContentDescription"
-        message="[Accessibility] Missing `contentDescription` attribute on image"
-        errorLine1="        &lt;ImageView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/zen_mode_panel.xml"
-            line="136"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="RelativeOverlap"
-        message="`@id/group_name` can overlap `@id/info` if @id/group_name grows due to localized text expansion"
-        errorLine1="        &lt;TextView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/notification_info.xml"
-            line="64"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="RelativeOverlap"
-        message="`@id/undo` can overlap `@id/expand_button` if @string/snooze_undo grows due to localized text expansion"
-        errorLine1="        &lt;TextView"
-        errorLine2="        ^">
-        <location
-            file="res/layout/notification_snooze.xml"
-            line="51"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="RtlCompat"
-        message="Inconsistent alignment specification between `textAlignment` and `gravity` attributes: was `fill_horizontal|center_vertical`, expected `start`"
-        errorLine1="        android:textAlignment=&quot;viewStart&quot; />"
-        errorLine2="                               ~~~~~~~~~">
-        <location
-            file="res/layout/foreground_service_item.xml"
-            line="46"
-            column="32"/>
-        <location
-            file="res/layout/foreground_service_item.xml"
-            line="42"
-            column="33"/>
-    </issue>
-
-    <issue
-        id="RtlCompat"
-        message="Inconsistent alignment specification between `textAlignment` and `gravity` attributes: was `center_vertical`, expected `start`"
-        errorLine1="        android:textAlignment=&quot;viewStart&quot;"
-        errorLine2="                               ~~~~~~~~~">
-        <location
-            file="res/layout/heads_up_status_bar_layout.xml"
-            line="42"
-            column="32"/>
-        <location
-            file="res/layout/heads_up_status_bar_layout.xml"
-            line="45"
-            column="33"/>
-    </issue>
-
-    <issue
-        id="RtlCompat"
-        message="Inconsistent alignment specification between `textAlignment` and `gravity` attributes: was `center_vertical`, expected `start`"
-        errorLine1="        android:textAlignment=&quot;viewStart&quot;"
-        errorLine2="                               ~~~~~~~~~">
-        <location
-            file="res/layout/switch_bar.xml"
-            line="38"
-            column="32"/>
-        <location
-            file="res/layout/switch_bar.xml"
-            line="32"
-            column="33"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
-        errorLine1="        android:paddingStart=&quot;@dimen/battery_level_padding_start&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/battery_percentage_view.xml"
-            line="28"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingLeft` you should probably also define `paddingRight` for right-to-left symmetry"
-        errorLine1="        android:paddingLeft=&quot;30dp&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_navigation_bar.xml"
-            line="33"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingLeft` you should probably also define `paddingRight` for right-to-left symmetry"
-        errorLine1="        android:paddingLeft=&quot;30dp&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_navigation_bar_unprovisioned.xml"
-            line="33"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
-        errorLine1="        android:paddingStart=&quot;6dp&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/heads_up_status_bar_layout.xml"
-            line="43"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
-        errorLine1="    android:paddingEnd=&quot;@dimen/group_overflow_number_padding&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/hybrid_overflow_number.xml"
-            line="23"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
-        errorLine1="            android:paddingEnd=&quot;12dp&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/keyboard_shortcut_app_item.xml"
-            line="40"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
-        errorLine1="            android:paddingEnd=&quot;@dimen/system_icons_keyguard_padding_end&quot; >"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/keyguard_status_bar.xml"
-            line="41"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
-        errorLine1="            android:paddingEnd=&quot;2dp&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/mobile_signal_group.xml"
-            line="37"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
-        errorLine1="            android:paddingEnd=&quot;2dp&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/mobile_signal_group.xml"
-            line="44"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
-        errorLine1="    android:paddingEnd=&quot;8dp&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/qs_detail_buttons.xml"
-            line="20"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
-        errorLine1="            android:paddingStart=&quot;@dimen/qs_detail_header_text_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/qs_detail_header.xml"
-            line="40"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
-        errorLine1="            android:paddingStart=&quot;16dp&quot;>"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/qs_footer_impl.xml"
-            line="49"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingLeft` you should probably also define `paddingRight` for right-to-left symmetry"
-        errorLine1="            android:paddingLeft=&quot;@dimen/screen_pinning_request_inner_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="56"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingLeft` you should probably also define `paddingRight` for right-to-left symmetry"
-        errorLine1="            android:paddingLeft=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="65"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingLeft` you should probably also define `paddingRight` for right-to-left symmetry"
-        errorLine1="            android:paddingLeft=&quot;@dimen/screen_pinning_request_inner_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="96"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingLeft` you should probably also define `paddingRight` for right-to-left symmetry"
-        errorLine1="            android:paddingLeft=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="106"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingLeft` you should probably also define `paddingRight` for right-to-left symmetry"
-        errorLine1="            android:paddingLeft=&quot;@dimen/screen_pinning_request_inner_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="137"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingLeft` you should probably also define `paddingRight` for right-to-left symmetry"
-        errorLine1="            android:paddingLeft=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="147"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingRight` you should probably also define `paddingLeft` for right-to-left symmetry"
-        errorLine1="            android:paddingRight=&quot;@dimen/screen_pinning_request_inner_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="58"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingRight` you should probably also define `paddingLeft` for right-to-left symmetry"
-        errorLine1="            android:paddingRight=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="68"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingRight` you should probably also define `paddingLeft` for right-to-left symmetry"
-        errorLine1="            android:paddingRight=&quot;@dimen/screen_pinning_request_inner_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="101"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingRight` you should probably also define `paddingLeft` for right-to-left symmetry"
-        errorLine1="            android:paddingRight=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="111"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingRight` you should probably also define `paddingLeft` for right-to-left symmetry"
-        errorLine1="            android:paddingRight=&quot;@dimen/screen_pinning_request_inner_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="144"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingRight` you should probably also define `paddingLeft` for right-to-left symmetry"
-        errorLine1="            android:paddingRight=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="153"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
-        errorLine1="    android:paddingEnd=&quot;@dimen/signal_cluster_battery_padding&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/signal_cluster_view.xml"
-            line="27"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
-        errorLine1="        android:paddingEnd=&quot;6dp&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/signal_cluster_view.xml"
-            line="33"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
-        errorLine1="            android:paddingEnd=&quot;2dp&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/signal_cluster_view.xml"
-            line="66"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
-        errorLine1="            android:paddingEnd=&quot;2dp&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/signal_cluster_view.xml"
-            line="73"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
-        errorLine1="        android:paddingStart=&quot;8dp&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/slice_permission_request.xml"
-            line="31"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
-        errorLine1="        android:paddingStart=&quot;8dp&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/slice_permission_request.xml"
-            line="39"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
-        errorLine1="        android:paddingStart=&quot;@dimen/status_bar_padding_start&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/status_bar.xml"
-            line="38"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
-        errorLine1="                android:paddingEnd=&quot;2dp&quot;"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/status_bar_mobile_signal_group.xml"
-            line="45"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
-        errorLine1="                android:paddingEnd=&quot;2dp&quot;"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/status_bar_mobile_signal_group.xml"
-            line="52"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
-        errorLine1="                android:paddingEnd=&quot;2dp&quot;"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/status_bar_wifi_group.xml"
-            line="45"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
-        errorLine1="                android:paddingEnd=&quot;2dp&quot;"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/status_bar_wifi_group.xml"
-            line="52"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
-        errorLine1="        android:paddingStart=&quot;48dp&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/switch_bar.xml"
-            line="33"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="RtlSymmetry"
-        message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
-        errorLine1="        android:paddingEnd=&quot;@dimen/signal_cluster_battery_padding&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/system_icons.xml"
-            line="27"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Use &quot;`start`&quot; instead of &quot;`left`&quot; to ensure correct behavior in right-to-left locales"
-        errorLine1="        android:gravity=&quot;left&quot;"
-        errorLine2="                         ~~~~">
-        <location
-            file="res/layout/car_navigation_bar.xml"
-            line="32"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:paddingLeft` with `android:paddingStart=&quot;30dp&quot;` to better support right-to-left layouts"
-        errorLine1="        android:paddingLeft=&quot;30dp&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_navigation_bar.xml"
-            line="33"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Use &quot;`end`&quot; instead of &quot;`right`&quot; to ensure correct behavior in right-to-left locales"
-        errorLine1="        android:gravity=&quot;right&quot;"
-        errorLine2="                         ~~~~~">
-        <location
-            file="res/layout/car_navigation_bar.xml"
-            line="65"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Redundant attribute `paddingRight`; already defining `paddingEnd` with `targetSdkVersion` 28"
-        errorLine1="            android:paddingRight=&quot;20dp&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_navigation_bar.xml"
-            line="88"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Use &quot;`start`&quot; instead of &quot;`left`&quot; to ensure correct behavior in right-to-left locales"
-        errorLine1="        android:gravity=&quot;left&quot;"
-        errorLine2="                         ~~~~">
-        <location
-            file="res/layout/car_navigation_bar_unprovisioned.xml"
-            line="32"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:paddingLeft` with `android:paddingStart=&quot;30dp&quot;` to better support right-to-left layouts"
-        errorLine1="        android:paddingLeft=&quot;30dp&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/car_navigation_bar_unprovisioned.xml"
-            line="33"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Use &quot;`end`&quot; instead of &quot;`right`&quot; to ensure correct behavior in right-to-left locales"
-        errorLine1="    android:layout_gravity=&quot;top|right&quot;"
-        errorLine2="                            ~~~~~~~~~">
-        <location
-            file="res/layout/global_actions_wrapped.xml"
-            line="6"
-            column="29"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Use &quot;`end`&quot; instead of &quot;`right`&quot; to ensure correct behavior in right-to-left locales"
-        errorLine1="        android:layout_gravity=&quot;top|right&quot;"
-        errorLine2="                                ~~~~~~~~~">
-        <location
-            file="res/layout/global_actions_wrapped.xml"
-            line="19"
-            column="33"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Use &quot;`end`&quot; instead of &quot;`right`&quot; to ensure correct behavior in right-to-left locales"
-        errorLine1="        android:layout_gravity=&quot;top|right&quot;"
-        errorLine2="                                ~~~~~~~~~">
-        <location
-            file="res/layout/global_actions_wrapped.xml"
-            line="30"
-            column="33"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:paddingLeft` with `android:paddingStart=&quot;@dimen/qs_detail_header_padding&quot;` to better support right-to-left layouts"
-        errorLine1="    android:paddingLeft=&quot;@dimen/qs_detail_header_padding&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/qs_detail_header.xml"
-            line="21"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:layout_marginLeft` with `android:layout_marginStart=&quot;@dimen/restricted_padlock_pading&quot;` to better support right-to-left layouts"
-        errorLine1="            android:layout_marginLeft=&quot;@dimen/restricted_padlock_pading&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/qs_tile_label.xml"
-            line="55"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:layout_marginLeft` with `android:layout_marginStart=&quot;@dimen/restricted_padlock_pading&quot;` to better support right-to-left layouts"
-        errorLine1="                android:layout_marginLeft=&quot;@dimen/restricted_padlock_pading&quot;"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/qs_user_detail_item.xml"
-            line="64"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Use &quot;`start`&quot; instead of &quot;`left`&quot; to ensure correct behavior in right-to-left locales"
-        errorLine1="        android:layout_gravity=&quot;left|top&quot;"
-        errorLine2="                                ~~~~~~~~">
-        <location
-            file="res/layout/rounded_corners.xml"
-            line="25"
-            column="33"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Use &quot;`end`&quot; instead of &quot;`right`&quot; to ensure correct behavior in right-to-left locales"
-        errorLine1="        android:layout_gravity=&quot;right|bottom&quot;"
-        errorLine2="                                ~~~~~~~~~~~~">
-        <location
-            file="res/layout/rounded_corners.xml"
-            line="33"
-            column="33"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:paddingLeft` with `android:paddingStart=&quot;@dimen/screen_pinning_request_inner_padding&quot;` to better support right-to-left layouts"
-        errorLine1="            android:paddingLeft=&quot;@dimen/screen_pinning_request_inner_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="56"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:paddingLeft` with `android:paddingStart=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;` to better support right-to-left layouts"
-        errorLine1="            android:paddingLeft=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="65"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:paddingLeft` with `android:paddingStart=&quot;@dimen/screen_pinning_request_inner_padding&quot;` to better support right-to-left layouts"
-        errorLine1="            android:paddingLeft=&quot;@dimen/screen_pinning_request_inner_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="96"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:paddingLeft` with `android:paddingStart=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;` to better support right-to-left layouts"
-        errorLine1="            android:paddingLeft=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="106"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:paddingLeft` with `android:paddingStart=&quot;@dimen/screen_pinning_request_inner_padding&quot;` to better support right-to-left layouts"
-        errorLine1="            android:paddingLeft=&quot;@dimen/screen_pinning_request_inner_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="137"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:paddingLeft` with `android:paddingStart=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;` to better support right-to-left layouts"
-        errorLine1="            android:paddingLeft=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_land.xml"
-            line="147"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:layout_marginLeft` with `android:layout_marginStart=&quot;@dimen/screen_pinning_request_seascape_padding_negative&quot;` to better support right-to-left layouts"
-        errorLine1="            android:layout_marginLeft=&quot;@dimen/screen_pinning_request_seascape_padding_negative&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="49"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:layout_marginLeft` with `android:layout_marginStart=&quot;@dimen/screen_pinning_request_seascape_button_offset&quot;` to better support right-to-left layouts"
-        errorLine1="            android:layout_marginLeft=&quot;@dimen/screen_pinning_request_seascape_button_offset&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="57"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:paddingRight` with `android:paddingEnd=&quot;@dimen/screen_pinning_request_inner_padding&quot;` to better support right-to-left layouts"
-        errorLine1="            android:paddingRight=&quot;@dimen/screen_pinning_request_inner_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="58"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:paddingRight` with `android:paddingEnd=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;` to better support right-to-left layouts"
-        errorLine1="            android:paddingRight=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="68"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:layout_marginLeft` with `android:layout_marginStart=&quot;@dimen/screen_pinning_request_seascape_padding_negative&quot;` to better support right-to-left layouts"
-        errorLine1="            android:layout_marginLeft=&quot;@dimen/screen_pinning_request_seascape_padding_negative&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="92"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:layout_marginLeft` with `android:layout_marginStart=&quot;@dimen/screen_pinning_request_seascape_button_offset&quot;` to better support right-to-left layouts"
-        errorLine1="            android:layout_marginLeft=&quot;@dimen/screen_pinning_request_seascape_button_offset&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="100"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:paddingRight` with `android:paddingEnd=&quot;@dimen/screen_pinning_request_inner_padding&quot;` to better support right-to-left layouts"
-        errorLine1="            android:paddingRight=&quot;@dimen/screen_pinning_request_inner_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="101"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:paddingRight` with `android:paddingEnd=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;` to better support right-to-left layouts"
-        errorLine1="            android:paddingRight=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="111"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:layout_marginLeft` with `android:layout_marginStart=&quot;@dimen/screen_pinning_request_seascape_padding_negative&quot;` to better support right-to-left layouts"
-        errorLine1="            android:layout_marginLeft=&quot;@dimen/screen_pinning_request_seascape_padding_negative&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="135"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:layout_marginLeft` with `android:layout_marginStart=&quot;@dimen/screen_pinning_request_seascape_button_offset&quot;` to better support right-to-left layouts"
-        errorLine1="            android:layout_marginLeft=&quot;@dimen/screen_pinning_request_seascape_button_offset&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="143"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:paddingRight` with `android:paddingEnd=&quot;@dimen/screen_pinning_request_inner_padding&quot;` to better support right-to-left layouts"
-        errorLine1="            android:paddingRight=&quot;@dimen/screen_pinning_request_inner_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="144"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:paddingRight` with `android:paddingEnd=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;` to better support right-to-left layouts"
-        errorLine1="            android:paddingRight=&quot;@dimen/screen_pinning_request_nav_icon_padding&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_buttons_sea.xml"
-            line="153"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Use &quot;`end`&quot; instead of &quot;`right`&quot; to ensure correct behavior in right-to-left locales"
-        errorLine1="    android:gravity=&quot;right|center_vertical&quot;"
-        errorLine2="                     ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_land_phone.xml"
-            line="22"
-            column="22"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Use &quot;`start`&quot; instead of &quot;`left`&quot; to ensure correct behavior in right-to-left locales"
-        errorLine1="    android:gravity=&quot;left|center_vertical&quot;"
-        errorLine2="                     ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/screen_pinning_request_sea_phone.xml"
-            line="22"
-            column="22"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Use &quot;`end`&quot; instead of &quot;`right`&quot; to ensure correct behavior in right-to-left locales"
-        errorLine1="        android:layout_gravity=&quot;center_vertical|right&quot;"
-        errorLine2="                                ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/volume_dialog.xml"
-            line="28"
-            column="33"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:paddingRight` with `android:paddingEnd=&quot;@dimen/volume_dialog_panel_transparent_padding_right&quot;` to better support right-to-left layouts"
-        errorLine1="        android:paddingRight=&quot;@dimen/volume_dialog_panel_transparent_padding_right&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/volume_dialog.xml"
-            line="30"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:paddingLeft` with `android:paddingStart=&quot;@dimen/volume_dialog_panel_transparent_padding&quot;` to better support right-to-left layouts"
-        errorLine1="        android:paddingLeft=&quot;@dimen/volume_dialog_panel_transparent_padding&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/volume_dialog.xml"
-            line="33"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Use &quot;`end`&quot; instead of &quot;`right`&quot; to ensure correct behavior in right-to-left locales"
-        errorLine1="            android:layout_gravity=&quot;right&quot;"
-        errorLine2="                                    ~~~~~">
-        <location
-            file="res/layout/volume_dialog.xml"
-            line="43"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="RtlHardcoded"
-        message="Consider replacing `android:layout_marginRight` with `android:layout_marginEnd=&quot;@dimen/volume_dialog_stream_padding&quot;` to better support right-to-left layouts"
-        errorLine1="                     android:layout_marginRight=&quot;@dimen/volume_dialog_stream_padding&quot;"
-        errorLine2="                     ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/volume_dialog.xml"
-            line="59"
-            column="22"/>
-    </issue>
-
-</issues>
diff --git a/packages/SystemUI/tools/lint/lint.xml b/packages/SystemUI/tools/lint/lint.xml
deleted file mode 100644
index 76773e8..0000000
--- a/packages/SystemUI/tools/lint/lint.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<lint>
-
-    <!-- Translations are done in separate CLs from source changes, so typically it's not actionable
-         by CL authors -->
-    <issue id="MissingTranslation" severity="ignore" />
-    <issue id="ExtraTranslation" severity="ignore" />
-
-    <!-- SystemUI is a priviledged app -->
-    <issue id="ProtectedPermissions" severity="ignore" />
-
-    <!-- SystemUI doesn't have launcher presence -->
-    <issue id="MissingApplicationIcon" severity="ignore" />
-
-    <!-- Make system inserts these attributes -->
-    <issue id="UsesMinSdkAttributes" severity="ignore" />
-    <issue id="MissingVersion" severity="ignore" />
-
-    <!-- Translation import automatically generates all of them -->
-    <issue id="UnusedQuantity" severity="ignore" />
-    <!-- This lint check misses the format used in TextUtils.expandTemplate (^1),
-         so it's not very useful (b/37128132) -->
-    <issue id="ImpliedQuantity" severity="ignore" />
-    <!-- SystemUI's SDK version is always latest so these are not relevant -->
-    <issue id="UnusedAttribute" severity="ignore" />
-    <issue id="NewApi" severity="ignore" />
-
-    <!-- We don't care about WebP for now (having a lint for optiPNG will be great though) -->
-    <issue id="ConvertToWebp" severity="ignore" />
-
-    <!-- b/37129369: MissingRegistered doesn't take libraries into account -->
-    <issue id="MissingRegistered" severity="ignore" />
-
-
-    <!-- We don't care about app indexing -->
-    <issue id="GoogleAppIndexingWarning" severity="ignore" />
-    <issue id="GoogleAppIndexingUrlError" severity="ignore" />
-
-    <!-- Issues under out/ typically comes from libraries -->
-    <issue id="ClickableViewAccessibility" severity="error">
-        <ignore regexp=".*/out/soong/.intermediates/frameworks/base/packages/SystemUI/SystemUI-core/android_common/combined/.*" />
-    </issue>
-
-    <!-- Turn on stop ship check -->
-    <issue id="StopShip" severity="warning" />
-
-
-    <issue id="UnusedResources" severity="error">
-        <!-- Nested script references are not picked up by lint -->
-        <ignore regexp="res/xml/wizard_script.*\.xml" />
-        <!-- Ignore translation files -->
-        <ignore regexp="res/values(-[a-zA-Z0-9]+)*-(\w\w|b+[a-zA-Z0-9+]+)(-[a-zA-Z0-9]+)*/strings.xml" />
-        <!-- Ignore translations arrays that are no longer used-->
-        <ignore regexp="res/values(-[a-zA-Z0-9]+)*-(\w\w|b+[a-zA-Z0-9+]+)(-[a-zA-Z0-9]+)*/arrays.xml" />
-    </issue>
-
-    <!-- Ignore translations when linting strings -->
-    <issue id="TypographyQuotes" severity="error">
-        <ignore regexp="res/values(-[a-zA-Z0-9]+)*-(\w\w|b+[a-zA-Z0-9+]+)(-[a-zA-Z0-9]+)*/strings.xml" />
-        <ignore regexp="res/values(-[a-zA-Z0-9]+)*-(\w\w|b+[a-zA-Z0-9+]+)(-[a-zA-Z0-9]+)*/arrays.xml" />
-    </issue>
-    <issue id="TypographyEllipsis" severity="error">
-        <ignore regexp="res/values(-[a-zA-Z0-9]+)*-(\w\w|b+[a-zA-Z0-9+]+)(-[a-zA-Z0-9]+)*/strings.xml" />
-        <ignore regexp="res/values(-[a-zA-Z0-9]+)*-(\w\w|b+[a-zA-Z0-9+]+)(-[a-zA-Z0-9]+)*/arrays.xml" />
-    </issue>
-    <issue id="TypographyDashes" severity="error">
-        <ignore regexp="res/values(-[a-zA-Z0-9]+)*-(\w\w|b+[a-zA-Z0-9+]+)(-[a-zA-Z0-9]+)*/strings.xml" />
-        <ignore regexp="res/values(-[a-zA-Z0-9]+)*-(\w\w|b+[a-zA-Z0-9+]+)(-[a-zA-Z0-9]+)*/arrays.xml" />
-    </issue>
-
-    <issue id="Wakelock" severity="error">
-        <ignore regexp=".*/out/soong/.intermediates/frameworks/base/packages/SystemUI/SystemUI-core/android_common/classes/android/support" />
-    </issue>
-
-    <issue id="InconsistentArrays" severity="ignore" />
-    <issue id="StringFormatCount" severity="ignore" />
-</lint>
diff --git a/packages/SystemUI/tools/lint/run_lint.sh b/packages/SystemUI/tools/lint/run_lint.sh
deleted file mode 100755
index 10d9e83..0000000
--- a/packages/SystemUI/tools/lint/run_lint.sh
+++ /dev/null
@@ -1,59 +0,0 @@
-#! /bin/bash
-
-if [[ $# -ne 2 ]]; then
-    echo "Error: Incorrect number of arguments" >&2
-    echo "Usage: ./run_lint.sh <repo_root> <CL_SHA>" >&2
-    exit 100
-fi
-
-git show --name-only --pretty=format: $2 | grep packages/SystemUI/ > /dev/null
-exitcode=$?
-if [[ exitcode -eq 1 ]];  then
-    exit 0
-fi
-
-if [[ -z $ANDROID_BUILD_TOP ]]; then
-    echo "Error: ANDROID_BUILD_TOP must be set" >&2
-    echo "Try setting up your environment first:" >&2
-    echo "    source build/envsetup.sh && lunch <target>" >&2
-    exit 101
-fi
-
-# TODO: Run lint as part of the build so we can specify the dependency properly
-systemuijarpath="out/soong/.intermediates/frameworks/base/packages/SystemUI/SystemUI-core/android_common/combined/SystemUI-core.jar"
-if [[ ! -f $ANDROID_BUILD_TOP/$systemuijarpath ]]; then
-    echo "Error: Classes.jar file not found" >&2
-    echo "Try building that jar file manually:" >&2
-    echo "    m -j16 out/soong/.intermediates/frameworks/base/packages/SystemUI/SystemUI-core/android_common/combined/SystemUI-core.jar" >&2
-    exit 102
-fi
-
-REPO_ROOT=$1
-${REPO_ROOT}/prebuilts/devtools/tools/lint \
-       . \
-       --exitcode \
-       -Werror \
-       --config ${REPO_ROOT}/frameworks/base/packages/SystemUI/tools/lint/lint.xml \
-       --html ${REPO_ROOT}/out/lint_output.html \
-       --baseline ${REPO_ROOT}/frameworks/base/packages/SystemUI/tools/lint/baseline.xml \
-       --remove-fixed
-exitcode=$?
-if [[ exitcode -eq 1 ]];  then
-    cat >&2 <<EOF
-
-Please check the HTML results file and fix the errors.
-If the error cannot be fixed immediately, there are 3 possible resolutions:
-1. Use tools:ignore or @SuppressLint annotation. This is preferred
-   for cases where the lint violation is intended, so that reviewers
-   can review whether the suppression is appropriate.
-2. Use tools/lint.xml to ignore a lint check which we don't care
-   about for any file, or checks that are not actionable by the
-   CL author (e.g. translation issues)
-3. If there are lint errors that should be fixed, but cannot be done
-   immediately for some reason, run ./tools/lint/update_baseline.sh to
-   add them to baseline.xml.
-
-EOF
-fi
-
-exit $exitcode
diff --git a/packages/SystemUI/tools/lint/update_baseline.sh b/packages/SystemUI/tools/lint/update_baseline.sh
deleted file mode 100755
index aa0cd808..0000000
--- a/packages/SystemUI/tools/lint/update_baseline.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#! /bin/bash
-
-if [[ $PWD != *"/frameworks/base/packages/SystemUI" ]]; then
-    echo "Please run this in frameworks/base/packages/SystemUI" >&2
-    exit 1
-fi
-
-# Empty the baseline file so the baseline-generation run below do not ignore any existing errors.
-echo '' > tools/lint/baseline.xml
-
-lint . -Werror --exitcode --config tools/lint/lint.xml --html /tmp/lint_output.html \
-  --baseline tools/lint/baseline.xml --remove-fixed &
-
-# b/37579990 - The file needs to be removed *while* lint is running
-sleep 0.5
-rm tools/lint/baseline.xml
-
-wait
diff --git a/proto/src/metrics_constants/OWNERS b/proto/src/metrics_constants/OWNERS
index 7009282..b032841 100644
--- a/proto/src/metrics_constants/OWNERS
+++ b/proto/src/metrics_constants/OWNERS
@@ -1,4 +1,3 @@
 cwren@android.com
-yanglu@google.com
 yaochen@google.com
 yro@google.com
diff --git a/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodAwareTestRunner.java b/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodAwareTestRunner.java
index 3ebef02..b616766 100644
--- a/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodAwareTestRunner.java
+++ b/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodAwareTestRunner.java
@@ -23,13 +23,10 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
-import android.os.Bundle;
 import android.platform.test.annotations.RavenwoodTestRunnerInitializing;
 import android.platform.test.annotations.internal.InnerRunner;
 import android.util.Log;
 
-import androidx.test.platform.app.InstrumentationRegistry;
-
 import com.android.ravenwood.common.RavenwoodCommonUtils;
 
 import org.junit.rules.TestRule;
@@ -285,11 +282,6 @@
     private boolean onBefore(Description description, Scope scope, Order order) {
         Log.v(TAG, "onBefore: description=" + description + ", " + scope + ", " + order);
 
-        if (scope == Scope.Instance && order == Order.Outer) {
-            // Start of a test method.
-            mState.enterTestMethod(description);
-        }
-
         final var classDescription = getDescription();
 
         // Class-level annotations are checked by the runner already, so we only check
@@ -299,6 +291,12 @@
                 return false;
             }
         }
+
+        if (scope == Scope.Instance && order == Order.Outer) {
+            // Start of a test method.
+            mState.enterTestMethod(description);
+        }
+
         return true;
     }
 
@@ -314,8 +312,7 @@
 
         if (scope == Scope.Instance && order == Order.Outer) {
             // End of a test method.
-            mState.exitTestMethod();
-
+            mState.exitTestMethod(description);
         }
 
         // If RUN_DISABLED_TESTS is set, and the method did _not_ throw, make it an error.
diff --git a/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodRunnerState.java b/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodRunnerState.java
index 70bc52b..705186e 100644
--- a/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodRunnerState.java
+++ b/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodRunnerState.java
@@ -81,12 +81,15 @@
         RavenwoodRuntimeEnvironmentController.exitTestClass();
     }
 
+    /** Called when a test method is about to start */
     public void enterTestMethod(Description description) {
         mMethodDescription = description;
-        RavenwoodRuntimeEnvironmentController.initForMethod();
+        RavenwoodRuntimeEnvironmentController.enterTestMethod(description);
     }
 
-    public void exitTestMethod() {
+    /** Called when a test method finishes */
+    public void exitTestMethod(Description description) {
+        RavenwoodRuntimeEnvironmentController.exitTestMethod(description);
         mMethodDescription = null;
     }
 
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 f205d23..d935626 100644
--- a/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodRuntimeEnvironmentController.java
+++ b/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodRuntimeEnvironmentController.java
@@ -51,6 +51,7 @@
 import android.os.Bundle;
 import android.os.HandlerThread;
 import android.os.Looper;
+import android.os.Message;
 import android.os.Process_ravenwood;
 import android.os.ServiceManager;
 import android.os.ServiceManager.ServiceNotFoundException;
@@ -74,6 +75,7 @@
 import com.android.server.LocalServices;
 import com.android.server.compat.PlatformCompat;
 
+import org.junit.AssumptionViolatedException;
 import org.junit.internal.management.ManagementFactory;
 import org.junit.runner.Description;
 
@@ -81,6 +83,7 @@
 import java.io.IOException;
 import java.io.PrintStream;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
@@ -93,6 +96,7 @@
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.function.Supplier;
+import java.util.stream.Collectors;
 
 /**
  * Responsible for initializing and the environment.
@@ -107,32 +111,60 @@
     @SuppressWarnings("UnusedVariable")
     private static final PrintStream sStdErr = System.err;
 
-    private static final String MAIN_THREAD_NAME = "RavenwoodMain";
+    private static final String MAIN_THREAD_NAME = "Ravenwood:Main";
+    private static final String TESTS_THREAD_NAME = "Ravenwood:Test";
+
     private static final String LIBRAVENWOOD_INITIALIZER_NAME = "ravenwood_initializer";
     private static final String RAVENWOOD_NATIVE_RUNTIME_NAME = "ravenwood_runtime";
 
     private static final String ANDROID_LOG_TAGS = "ANDROID_LOG_TAGS";
     private static final String RAVENWOOD_ANDROID_LOG_TAGS = "RAVENWOOD_" + ANDROID_LOG_TAGS;
 
+    static volatile Thread sTestThread;
+    static volatile Thread sMainThread;
+
     /**
      * When enabled, attempt to dump all thread stacks just before we hit the
      * overall Tradefed timeout, to aid in debugging deadlocks.
+     *
+     * Note, this timeout will _not_ stop the test, as there isn't really a clean way to do it.
+     * It'll merely print stacktraces.
      */
     private static final boolean ENABLE_TIMEOUT_STACKS =
-            "1".equals(System.getenv("RAVENWOOD_ENABLE_TIMEOUT_STACKS"));
+            !"0".equals(System.getenv("RAVENWOOD_ENABLE_TIMEOUT_STACKS"));
 
-    private static final int TIMEOUT_MILLIS = 9_000;
+    private static final boolean TOLERATE_LOOPER_ASSERTS =
+            !"0".equals(System.getenv("RAVENWOOD_TOLERATE_LOOPER_ASSERTS"));
+
+    static final int DEFAULT_TIMEOUT_SECONDS = 10;
+    private static final int TIMEOUT_MILLIS = getTimeoutSeconds() * 1000;
+
+    static int getTimeoutSeconds() {
+        var e = System.getenv("RAVENWOOD_TIMEOUT_SECONDS");
+        if (e == null || e.isEmpty()) {
+            return DEFAULT_TIMEOUT_SECONDS;
+        }
+        return Integer.parseInt(e);
+    }
+
 
     private static final ScheduledExecutorService sTimeoutExecutor =
-            Executors.newScheduledThreadPool(1);
+            Executors.newScheduledThreadPool(1, (Runnable r) -> {
+                Thread t = Executors.defaultThreadFactory().newThread(r);
+                t.setName("Ravenwood:TimeoutMonitor");
+                t.setDaemon(true);
+                return t;
+            });
 
-    private static ScheduledFuture<?> sPendingTimeout;
+    private static volatile ScheduledFuture<?> sPendingTimeout;
 
     /**
      * When enabled, attempt to detect uncaught exceptions from background threads.
      */
     private static final boolean ENABLE_UNCAUGHT_EXCEPTION_DETECTION =
-            "1".equals(System.getenv("RAVENWOOD_ENABLE_UNCAUGHT_EXCEPTION_DETECTION"));
+            !"0".equals(System.getenv("RAVENWOOD_ENABLE_UNCAUGHT_EXCEPTION_DETECTION"));
+
+    private static final boolean DIE_ON_UNCAUGHT_EXCEPTION = true;
 
     /**
      * When set, an unhandled exception was discovered (typically on a background thread), and we
@@ -141,12 +173,6 @@
     private static final AtomicReference<Throwable> sPendingUncaughtException =
             new AtomicReference<>();
 
-    private static final Thread.UncaughtExceptionHandler sUncaughtExceptionHandler =
-            (thread, throwable) -> {
-                // Remember the first exception we discover
-                sPendingUncaughtException.compareAndSet(null, throwable);
-            };
-
     // TODO: expose packCallingIdentity function in libbinder and use it directly
     // See: packCallingIdentity in frameworks/native/libs/binder/IPCThreadState.cpp
     private static long packBinderIdentityToken(
@@ -187,6 +213,8 @@
      * Initialize the global environment.
      */
     public static void globalInitOnce() {
+        sTestThread = Thread.currentThread();
+        Thread.currentThread().setName(TESTS_THREAD_NAME);
         synchronized (sInitializationLock) {
             if (!sInitialized) {
                 // globalInitOnce() is called from class initializer, which cause
@@ -194,6 +222,7 @@
                 sInitialized = true;
 
                 // This is the first call.
+                final long start = System.currentTimeMillis();
                 try {
                     globalInitInner();
                 } catch (Throwable th) {
@@ -202,6 +231,9 @@
                     sExceptionFromGlobalInit = th;
                     SneakyThrow.sneakyThrow(th);
                 }
+                final long end = System.currentTimeMillis();
+                // TODO Show user/system time too
+                Log.e(TAG, "globalInit() took " + (end - start) + "ms");
             } else {
                 // Subsequent calls. If the first call threw, just throw the same error, to prevent
                 // the test from running.
@@ -220,7 +252,8 @@
         RavenwoodCommonUtils.log(TAG, "globalInitInner()");
 
         if (ENABLE_UNCAUGHT_EXCEPTION_DETECTION) {
-            Thread.setDefaultUncaughtExceptionHandler(sUncaughtExceptionHandler);
+            Thread.setDefaultUncaughtExceptionHandler(
+                    RavenwoodRuntimeEnvironmentController::reportUncaughtExceptions);
         }
 
         // Some process-wide initialization:
@@ -304,6 +337,7 @@
         ActivityManager.init$ravenwood(SYSTEM.getIdentifier());
 
         final var main = new HandlerThread(MAIN_THREAD_NAME);
+        sMainThread = main;
         main.start();
         Looper.setMainLooperForTest(main.getLooper());
 
@@ -350,9 +384,20 @@
         var systemServerContext =
                 new RavenwoodContext(ANDROID_PACKAGE_NAME, main, systemResourcesLoader);
 
-        sInstrumentation = new Instrumentation();
-        sInstrumentation.basicInit(instContext, targetContext, null);
-        InstrumentationRegistry.registerInstance(sInstrumentation, Bundle.EMPTY);
+        var instArgs = Bundle.EMPTY;
+        RavenwoodUtils.runOnMainThreadSync(() -> {
+            try {
+                // TODO We should get the instrumentation class name from the build file or
+                // somewhere.
+                var InstClass = Class.forName("android.app.Instrumentation");
+                sInstrumentation = (Instrumentation) InstClass.getConstructor().newInstance();
+                sInstrumentation.basicInit(instContext, targetContext, null);
+                sInstrumentation.onCreate(instArgs);
+            } catch (Exception e) {
+                SneakyThrow.sneakyThrow(e);
+            }
+        });
+        InstrumentationRegistry.registerInstance(sInstrumentation, instArgs);
 
         RavenwoodSystemServer.init(systemServerContext);
 
@@ -399,22 +444,46 @@
 
         SystemProperties.clearChangeCallbacksForTest();
 
-        if (ENABLE_TIMEOUT_STACKS) {
-            sPendingTimeout = sTimeoutExecutor.schedule(
-                    RavenwoodRuntimeEnvironmentController::dumpStacks,
-                    TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
-        }
-        if (ENABLE_UNCAUGHT_EXCEPTION_DETECTION) {
-            maybeThrowPendingUncaughtException(false);
-        }
+        maybeThrowPendingUncaughtException();
     }
 
     /**
-     * Partially reset and initialize before each test method invocation
+     * Called when a test method is about to be started.
      */
-    public static void initForMethod() {
+    public static void enterTestMethod(Description description) {
         // TODO(b/375272444): this is a hacky workaround to ensure binder identity
         Binder.restoreCallingIdentity(sCallingIdentity);
+
+        scheduleTimeout();
+    }
+
+    /**
+     * Called when a test method finished.
+     */
+    public static void exitTestMethod(Description description) {
+        cancelTimeout();
+        maybeThrowPendingUncaughtException();
+    }
+
+    private static void scheduleTimeout() {
+        if (!ENABLE_TIMEOUT_STACKS) {
+            return;
+        }
+        cancelTimeout();
+
+        sPendingTimeout = sTimeoutExecutor.schedule(
+                RavenwoodRuntimeEnvironmentController::onTestTimedOut,
+                TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
+    }
+
+    private static void cancelTimeout() {
+        if (!ENABLE_TIMEOUT_STACKS) {
+            return;
+        }
+        var pt = sPendingTimeout;
+        if (pt != null) {
+            pt.cancel(false);
+        }
     }
 
     private static void initializeCompatIds() {
@@ -473,15 +542,36 @@
     }
 
     /**
+     * Return if an exception is benign and okay to continue running the main looper even
+     * if we detect it.
+     */
+    private static boolean isThrowableBenign(Throwable th) {
+        return th instanceof AssertionError || th instanceof AssumptionViolatedException;
+    }
+
+    static void dispatchMessage(Message msg) {
+        try {
+            msg.getTarget().dispatchMessage(msg);
+        } catch (Throwable th) {
+            var desc = String.format("Detected %s on looper thread %s", th.getClass().getName(),
+                    Thread.currentThread());
+            sStdErr.println(desc);
+            if (TOLERATE_LOOPER_ASSERTS && isThrowableBenign(th)) {
+                sStdErr.printf("*** Continuing the test because it's %s ***\n",
+                        th.getClass().getSimpleName());
+                var e = new Exception(desc, th);
+                sPendingUncaughtException.compareAndSet(null, e);
+                return;
+            }
+            throw th;
+        }
+    }
+
+    /**
      * A callback when a test class finishes its execution, mostly only for debugging.
      */
     public static void exitTestClass() {
-        if (ENABLE_TIMEOUT_STACKS) {
-            sPendingTimeout.cancel(false);
-        }
-        if (ENABLE_UNCAUGHT_EXCEPTION_DETECTION) {
-            maybeThrowPendingUncaughtException(true);
-        }
+        maybeThrowPendingUncaughtException();
     }
 
     public static void logTestRunner(String label, Description description) {
@@ -491,35 +581,70 @@
                 + "(" + description.getTestClass().getName() + ")");
     }
 
-    private static void dumpStacks() {
-        final PrintStream out = System.err;
-        out.println("-----BEGIN ALL THREAD STACKS-----");
-        final Map<Thread, StackTraceElement[]> stacks = Thread.getAllStackTraces();
-        for (Map.Entry<Thread, StackTraceElement[]> stack : stacks.entrySet()) {
-            out.println();
-            Thread t = stack.getKey();
-            out.println(t.toString() + " ID=" + t.getId());
-            for (StackTraceElement e : stack.getValue()) {
-                out.println("\tat " + e);
-            }
+    private static void maybeThrowPendingUncaughtException() {
+        final Throwable pending = sPendingUncaughtException.getAndSet(null);
+        if (pending != null) {
+            throw new IllegalStateException("Found an uncaught exception", pending);
         }
-        out.println("-----END ALL THREAD STACKS-----");
     }
 
     /**
-     * If there's a pending uncaught exception, consume and throw it now. Typically used to
-     * report an exception on a background thread as a failure for the currently running test.
+     * Prints the stack trace from all threads.
      */
-    private static void maybeThrowPendingUncaughtException(boolean duringReset) {
-        final Throwable pending = sPendingUncaughtException.getAndSet(null);
-        if (pending != null) {
-            if (duringReset) {
-                throw new IllegalStateException(
-                        "Found an uncaught exception during this test", pending);
-            } else {
-                throw new IllegalStateException(
-                        "Found an uncaught exception before this test started", pending);
+    private static void onTestTimedOut() {
+        sStdErr.println("********* SLOW TEST DETECTED ********");
+        dumpStacks(null, null);
+    }
+
+    private static final Object sDumpStackLock = new Object();
+
+    /**
+     * Prints the stack trace from all threads.
+     */
+    private static void dumpStacks(
+            @Nullable Thread exceptionThread, @Nullable Throwable throwable) {
+        cancelTimeout();
+        synchronized (sDumpStackLock) {
+            final PrintStream out = sStdErr;
+            out.println("-----BEGIN ALL THREAD STACKS-----");
+
+            var stacks = Thread.getAllStackTraces();
+            var threads = stacks.keySet().stream().sorted(
+                    Comparator.comparingLong(Thread::getId)).collect(Collectors.toList());
+
+            // Put the test and the main thread at the top.
+            var testThread = sTestThread;
+            var mainThread = sMainThread;
+            if (mainThread != null) {
+                threads.remove(mainThread);
+                threads.add(0, mainThread);
             }
+            if (testThread != null) {
+                threads.remove(testThread);
+                threads.add(0, testThread);
+            }
+            // Put the exception thread at the top.
+            // Also inject the stacktrace from the exception.
+            if (exceptionThread != null) {
+                threads.remove(exceptionThread);
+                threads.add(0, exceptionThread);
+                stacks.put(exceptionThread, throwable.getStackTrace());
+            }
+            for (var th : threads) {
+                out.println();
+
+                out.print("Thread");
+                if (th == exceptionThread) {
+                    out.print(" [** EXCEPTION THREAD **]");
+                }
+                out.print(": " + th.getName() + " / " + th);
+                out.println();
+
+                for (StackTraceElement e :  stacks.get(th)) {
+                    out.println("\tat " + e);
+                }
+            }
+            out.println("-----END ALL THREAD STACKS-----");
         }
     }
 
@@ -545,13 +670,17 @@
                 () -> Class.forName("org.mockito.Matchers"));
     }
 
-    // TODO: use the real UiAutomation class instead of a mock
-    private static UiAutomation createMockUiAutomation() {
-        sAdoptedPermissions = Collections.emptySet();
-        var mock = mock(UiAutomation.class, inv -> {
+    static <T> T makeDefaultThrowMock(Class<T> clazz) {
+        return mock(clazz, inv -> {
             HostTestUtils.onThrowMethodCalled();
             return null;
         });
+    }
+
+    // TODO: use the real UiAutomation class instead of a mock
+    private static UiAutomation createMockUiAutomation() {
+        sAdoptedPermissions = Collections.emptySet();
+        var mock = makeDefaultThrowMock(UiAutomation.class);
         doAnswer(inv -> {
             sAdoptedPermissions = UiAutomation.ALL_PERMISSIONS;
             return null;
@@ -586,6 +715,23 @@
         }
     }
 
+    private static void reportUncaughtExceptions(Thread th, Throwable e) {
+        sStdErr.printf("Uncaught exception detected: %s: %s\n",
+                th, RavenwoodCommonUtils.getStackTraceString(e));
+
+        doBugreport(th, e, DIE_ON_UNCAUGHT_EXCEPTION);
+    }
+
+    private static void doBugreport(
+            @Nullable Thread exceptionThread, @Nullable Throwable throwable,
+            boolean killSelf) {
+        // TODO: Print more information
+        dumpStacks(exceptionThread, throwable);
+        if (killSelf) {
+            System.exit(13);
+        }
+    }
+
     private static void dumpJavaProperties() {
         Log.v(TAG, "JVM properties:");
         dumpMap(System.getProperties());
@@ -601,7 +747,6 @@
             Log.v(TAG, "  " + key + "=" + map.get(key));
         }
     }
-
     private static void dumpOtherInfo() {
         Log.v(TAG, "Other key information:");
         var jloc = Locale.getDefault();
diff --git a/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodSystemProperties.java b/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodSystemProperties.java
index 70c161c1..819d93a 100644
--- a/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodSystemProperties.java
+++ b/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodSystemProperties.java
@@ -26,6 +26,7 @@
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Set;
@@ -45,6 +46,9 @@
     /** The default values. */
     static final Map<String, String> sDefaultValues = new HashMap<>();
 
+    static final Set<String> sReadableKeys = new HashSet<>();
+    static final Set<String> sWritableKeys = new HashSet<>();
+
     private static final String[] PARTITIONS = {
             "bootimage",
             "odm",
@@ -88,9 +92,24 @@
         ravenwoodProps.forEach((key, origValue) -> {
             final String value;
 
-            // If a value starts with "$$$", then this is a reference to the device-side value.
             if (origValue.startsWith("$$$")) {
+                // If a value starts with "$$$", then:
+                // - If it's "$$$r", the key is allowed to read.
+                // - If it's "$$$w", the key is allowed to write.
+                // - Otherwise, it's a reference to the device-side value.
+                // In case of $$$r and $$$w, if the key ends with a '.', then it'll be treaded
+                // as a prefix match.
                 var deviceKey = origValue.substring(3);
+                if ("r".equals(deviceKey)) {
+                    sReadableKeys.add(key);
+                    Log.v(TAG, key + " (readable)");
+                    return;
+                } else if ("w".equals(deviceKey)) {
+                    sWritableKeys.add(key);
+                    Log.v(TAG, key + " (writable)");
+                    return;
+                }
+
                 var deviceValue = deviceProps.get(deviceKey);
                 if (deviceValue == null) {
                     throw new RuntimeException("Failed to initialize system properties. Key '"
@@ -131,50 +150,38 @@
         sDefaultValues.forEach(RavenwoodRuntimeNative::setSystemProperty);
     }
 
+    private static boolean checkAllowedInner(String key, Set<String> allowed) {
+        if (allowed.contains(key)) {
+            return true;
+        }
+
+        // Also search for a prefix match.
+        for (var k : allowed) {
+            if (k.endsWith(".") && key.startsWith(k)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private static boolean checkAllowed(String key, Set<String> allowed) {
+        return checkAllowedInner(key, allowed) || checkAllowedInner(getKeyRoot(key), allowed);
+    }
+
     private static boolean isKeyReadable(String key) {
-        // All writable keys are also readable
-        if (isKeyWritable(key)) return true;
-
-        final String root = getKeyRoot(key);
-
-        // This set is carefully curated to help identify situations where a test may
-        // accidentally depend on a default value of an obscure property whose owner hasn't
-        // decided how Ravenwood should behave.
-        if (root.startsWith("boot.")) return true;
-        if (root.startsWith("build.")) return true;
-        if (root.startsWith("product.")) return true;
-        if (root.startsWith("soc.")) return true;
-        if (root.startsWith("system.")) return true;
-
         // All core values should be readable
-        if (sDefaultValues.containsKey(key)) return true;
-
-        // Hardcoded allowlist
-        return switch (key) {
-            case "gsm.version.baseband",
-                 "no.such.thing",
-                 "qemu.sf.lcd_density",
-                 "ro.bootloader",
-                 "ro.hardware",
-                 "ro.hw_timeout_multiplier",
-                 "ro.odm.build.media_performance_class",
-                 "ro.sf.lcd_density",
-                 "ro.treble.enabled",
-                 "ro.vndk.version",
-                 "ro.icu.data.path" -> true;
-            default -> false;
-        };
+        if (sDefaultValues.containsKey(key)) {
+            return true;
+        }
+        if (checkAllowed(key, sReadableKeys)) {
+            return true;
+        }
+        // All writable keys are also readable
+        return isKeyWritable(key);
     }
 
     private static boolean isKeyWritable(String key) {
-        final String root = getKeyRoot(key);
-
-        if (root.startsWith("debug.")) return true;
-
-        // For PropertyInvalidatedCache
-        if (root.startsWith("cache_key.")) return true;
-
-        return false;
+        return checkAllowed(key, sWritableKeys);
     }
 
     static boolean isKeyAccessible(String key, boolean write) {
diff --git a/ravenwood/junit-src/android/platform/test/ravenwood/RavenwoodUtils.java b/ravenwood/junit-src/android/platform/test/ravenwood/RavenwoodUtils.java
index 19c1bff..3e2c405 100644
--- a/ravenwood/junit-src/android/platform/test/ravenwood/RavenwoodUtils.java
+++ b/ravenwood/junit-src/android/platform/test/ravenwood/RavenwoodUtils.java
@@ -15,7 +15,20 @@
  */
 package android.platform.test.ravenwood;
 
+import static com.android.ravenwood.common.RavenwoodCommonUtils.ReflectedMethod.reflectMethod;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.os.Handler;
+import android.os.Looper;
+
 import com.android.ravenwood.common.RavenwoodCommonUtils;
+import com.android.ravenwood.common.SneakyThrow;
+
+import java.util.concurrent.Callable;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.function.Supplier;
 
 /**
  * Utilities for writing (bivalent) ravenwood tests.
@@ -47,4 +60,129 @@
     public static void loadJniLibrary(String libname) {
         RavenwoodCommonUtils.loadJniLibrary(libname);
     }
+
+    private class MainHandlerHolder {
+        static Handler sMainHandler = new Handler(Looper.getMainLooper());
+    }
+
+    /**
+     * Returns the main thread handler.
+     */
+    public static Handler getMainHandler() {
+        return MainHandlerHolder.sMainHandler;
+    }
+
+    /**
+     * Run a Callable on Handler and wait for it to complete.
+     */
+    @Nullable
+    public static <T> T runOnHandlerSync(@NonNull Handler h, @NonNull Callable<T> c) {
+        var result = new AtomicReference<T>();
+        var thrown = new AtomicReference<Throwable>();
+        var latch = new CountDownLatch(1);
+        h.post(() -> {
+            try {
+                result.set(c.call());
+            } catch (Throwable th) {
+                thrown.set(th);
+            }
+            latch.countDown();
+        });
+        try {
+            latch.await();
+        } catch (InterruptedException e) {
+            throw new RuntimeException("Interrupted while waiting on the Runnable", e);
+        }
+        var th = thrown.get();
+        if (th != null) {
+            SneakyThrow.sneakyThrow(th);
+        }
+        return result.get();
+    }
+
+
+    /**
+     * Run a Runnable on Handler and wait for it to complete.
+     */
+    @Nullable
+    public static void runOnHandlerSync(@NonNull Handler h, @NonNull Runnable r) {
+        runOnHandlerSync(h, () -> {
+            r.run();
+            return null;
+        });
+    }
+
+    /**
+     * Run a Callable on main thread and wait for it to complete.
+     */
+    @Nullable
+    public static <T> T runOnMainThreadSync(@NonNull Callable<T> c) {
+        return runOnHandlerSync(getMainHandler(), c);
+    }
+
+    /**
+     * Run a Runnable on main thread and wait for it to complete.
+     */
+    @Nullable
+    public static void runOnMainThreadSync(@NonNull Runnable r) {
+        runOnHandlerSync(getMainHandler(), r);
+    }
+
+    public static class MockitoHelper {
+        private MockitoHelper() {
+        }
+
+        /**
+         * Allow verifyZeroInteractions to work on ravenwood. It was replaced with a different
+         * method on. (Maybe we should do it in Ravenizer.)
+         */
+        public static void verifyZeroInteractions(Object... mocks) {
+            if (RavenwoodRule.isOnRavenwood()) {
+                // Mockito 4 or later
+                reflectMethod("org.mockito.Mockito", "verifyNoInteractions", Object[].class)
+                        .callStatic(new Object[]{mocks});
+            } else {
+                // Mockito 2
+                reflectMethod("org.mockito.Mockito", "verifyZeroInteractions", Object[].class)
+                        .callStatic(new Object[]{mocks});
+            }
+        }
+    }
+
+
+    /**
+     * Wrap the given {@link Supplier} to become memoized.
+     *
+     * The underlying {@link Supplier} will only be invoked once, and that result will be cached
+     * and returned for any future requests.
+     */
+    static <T> Supplier<T> memoize(ThrowingSupplier<T> supplier) {
+        return new Supplier<>() {
+            private T mInstance;
+
+            @Override
+            public T get() {
+                synchronized (this) {
+                    if (mInstance == null) {
+                        mInstance = create();
+                    }
+                    return mInstance;
+                }
+            }
+
+            private T create() {
+                try {
+                    return supplier.get();
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+            }
+        };
+    }
+
+    /** Used by {@link #memoize(ThrowingSupplier)}  */
+    public interface ThrowingSupplier<T> {
+        /** */
+        T get() throws Exception;
+    }
 }
diff --git a/ravenwood/runtime-common-src/com/android/ravenwood/common/RavenwoodCommonUtils.java b/ravenwood/runtime-common-src/com/android/ravenwood/common/RavenwoodCommonUtils.java
index a967a3f..893b354 100644
--- a/ravenwood/runtime-common-src/com/android/ravenwood/common/RavenwoodCommonUtils.java
+++ b/ravenwood/runtime-common-src/com/android/ravenwood/common/RavenwoodCommonUtils.java
@@ -26,10 +26,12 @@
 import java.io.PrintStream;
 import java.io.PrintWriter;
 import java.io.StringWriter;
+import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Member;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
 import java.util.Arrays;
+import java.util.Objects;
 import java.util.function.Supplier;
 
 public class RavenwoodCommonUtils {
@@ -329,4 +331,70 @@
     public static <T> T withDefault(@Nullable T value, @Nullable T def) {
         return value != null ? value : def;
     }
+
+    /**
+     * Utility for calling a method with reflections. Used to call a method by name.
+     * Note, this intentionally does _not_ support non-public methods, as we generally
+     * shouldn't violate java visibility in ravenwood.
+     *
+     * @param <TTHIS> class owning the method.
+     */
+    public static class ReflectedMethod<TTHIS> {
+        private final Class<TTHIS> mThisClass;
+        private final Method mMethod;
+
+        private ReflectedMethod(Class<TTHIS> thisClass, Method method) {
+            mThisClass = thisClass;
+            mMethod = method;
+        }
+
+        /** Factory method. */
+        @SuppressWarnings("unchecked")
+        public static <TTHIS> ReflectedMethod<TTHIS> reflectMethod(
+                @NonNull Class<TTHIS> clazz, @NonNull String methodName,
+                @NonNull Class<?>... argTypes) {
+            try {
+                return new ReflectedMethod(clazz, clazz.getMethod(methodName, argTypes));
+            } catch (NoSuchMethodException e) {
+                throw new RuntimeException(e);
+            }
+        }
+
+        /** Factory method. */
+        @SuppressWarnings("unchecked")
+        public static <TTHIS> ReflectedMethod<TTHIS> reflectMethod(
+                @NonNull String className, @NonNull String methodName,
+                @NonNull Class<?>... argTypes) {
+            try {
+                return reflectMethod((Class<TTHIS>) Class.forName(className), methodName, argTypes);
+            } catch (ClassNotFoundException e) {
+                throw new RuntimeException(e);
+            }
+        }
+
+        /** Call the instance method */
+        @SuppressWarnings("unchecked")
+        public <RET> RET call(@NonNull TTHIS thisObject, @NonNull Object... args) {
+            try {
+                return (RET) mMethod.invoke(Objects.requireNonNull(thisObject), args);
+            } catch (InvocationTargetException | IllegalAccessException e) {
+                throw new RuntimeException(e);
+            }
+        }
+
+        /** Call the static method */
+        @SuppressWarnings("unchecked")
+        public <RET> RET callStatic(@NonNull Object... args) {
+            try {
+                return (RET) mMethod.invoke(null, args);
+            } catch (InvocationTargetException | IllegalAccessException e) {
+                throw new RuntimeException(e);
+            }
+        }
+    }
+
+    /** Handy method to create an array */
+    public static <T> T[] arr(@NonNull T... objects) {
+        return objects;
+    }
 }
diff --git a/ravenwood/runtime-helper-src/framework/android/util/Log_ravenwood.java b/ravenwood/runtime-helper-src/framework/android/util/Log_ravenwood.java
index 7ab9cda..855a4ff 100644
--- a/ravenwood/runtime-helper-src/framework/android/util/Log_ravenwood.java
+++ b/ravenwood/runtime-helper-src/framework/android/util/Log_ravenwood.java
@@ -21,7 +21,6 @@
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.os.RuntimeInit;
 import com.android.ravenwood.RavenwoodRuntimeNative;
-import com.android.ravenwood.common.RavenwoodCommonUtils;
 
 import java.io.PrintStream;
 import java.text.SimpleDateFormat;
@@ -164,7 +163,7 @@
      * Return the "real" {@code System.out} if it's been swapped by {@code RavenwoodRuleImpl}, so
      * that we don't end up in a recursive loop.
      */
-    private static PrintStream getRealOut() {
+    public static PrintStream getRealOut() {
         if (RuntimeInit.sOut$ravenwood != null) {
             return RuntimeInit.sOut$ravenwood;
         } else {
diff --git a/ravenwood/runtime-helper-src/libcore-fake/dalvik/system/VMRuntime.java b/ravenwood/runtime-helper-src/libcore-fake/dalvik/system/VMRuntime.java
index eaadac6..50cfd3b 100644
--- a/ravenwood/runtime-helper-src/libcore-fake/dalvik/system/VMRuntime.java
+++ b/ravenwood/runtime-helper-src/libcore-fake/dalvik/system/VMRuntime.java
@@ -57,4 +57,12 @@
     public int getTargetSdkVersion() {
         return RavenwoodRuntimeState.sTargetSdkLevel;
     }
+
+    /** Ignored on ravenwood. */
+    public void registerNativeAllocation(long bytes) {
+    }
+
+    /** Ignored on ravenwood. */
+    public void registerNativeFree(long bytes) {
+    }
 }
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 cf1a513..985e00e 100644
--- a/ravenwood/runtime-helper-src/libcore-fake/libcore/util/NativeAllocationRegistry.java
+++ b/ravenwood/runtime-helper-src/libcore-fake/libcore/util/NativeAllocationRegistry.java
@@ -97,6 +97,9 @@
         if (referent == null) {
             throw new IllegalArgumentException("referent is null");
         }
+        if (mFreeFunction == 0) {
+            return () -> {}; // do nothing
+        }
         if (nativePtr == 0) {
             throw new IllegalArgumentException("nativePtr is null");
         }
diff --git a/ravenwood/runtime-helper-src/libcore-fake/libcore/util/NonNull.java b/ravenwood/runtime-helper-src/libcore-fake/libcore/util/NonNull.java
index db3cd8ed..1153a77 100644
--- a/ravenwood/runtime-helper-src/libcore-fake/libcore/util/NonNull.java
+++ b/ravenwood/runtime-helper-src/libcore-fake/libcore/util/NonNull.java
@@ -35,14 +35,4 @@
 @Retention(SOURCE)
 @Target({FIELD, METHOD, PARAMETER, TYPE_USE})
 @libcore.api.IntraCoreApi
-public @interface NonNull {
-   /**
-    * Min Android API level (inclusive) to which this annotation is applied.
-    */
-   int from() default Integer.MIN_VALUE;
-
-   /**
-    * Max Android API level to which this annotation is applied.
-    */
-   int to() default Integer.MAX_VALUE;
-}
+public @interface NonNull {}
diff --git a/ravenwood/runtime-helper-src/libcore-fake/libcore/util/Nullable.java b/ravenwood/runtime-helper-src/libcore-fake/libcore/util/Nullable.java
index 3371978..295f083 100644
--- a/ravenwood/runtime-helper-src/libcore-fake/libcore/util/Nullable.java
+++ b/ravenwood/runtime-helper-src/libcore-fake/libcore/util/Nullable.java
@@ -35,14 +35,4 @@
 @Retention(SOURCE)
 @Target({FIELD, METHOD, PARAMETER, TYPE_USE})
 @libcore.api.IntraCoreApi
-public @interface Nullable {
-   /**
-    * Min Android API level (inclusive) to which this annotation is applied.
-    */
-   int from() default Integer.MIN_VALUE;
-
-   /**
-    * Max Android API level to which this annotation is applied.
-    */
-   int to() default Integer.MAX_VALUE;
-}
+public @interface Nullable {}
diff --git a/ravenwood/scripts/add-annotations.sh b/ravenwood/scripts/add-annotations.sh
index 3e86037..8c394f5 100755
--- a/ravenwood/scripts/add-annotations.sh
+++ b/ravenwood/scripts/add-annotations.sh
@@ -35,7 +35,7 @@
 # We add this line to each methods found.
 # Note, if we used a single @, that'd be handled as an at file. Use
 # the double-at instead.
-annotation="@@android.platform.test.annotations.DisabledOnRavenwood"
+annotation="@@android.platform.test.annotations.DisabledOnRavenwood(reason = \"bulk-disabled by script\")"
 while getopts "t:" opt; do
 case "$opt" in
     t)
diff --git a/ravenwood/tests/coretest/Android.bp b/ravenwood/tests/coretest/Android.bp
index 9dd7cc6..182a7cf 100644
--- a/ravenwood/tests/coretest/Android.bp
+++ b/ravenwood/tests/coretest/Android.bp
@@ -33,3 +33,34 @@
     },
     auto_gen_config: true,
 }
+
+// Same as RavenwoodCoreTest, but it excludes tests using platform-parametric-runner-lib,
+// because that modules has too many dependencies and slow to build incrementally.
+android_ravenwood_test {
+    name: "RavenwoodCoreTest-light",
+
+    static_libs: [
+        "androidx.annotation_annotation",
+        "androidx.test.ext.junit",
+        "androidx.test.rules",
+
+        // This library should be removed by Ravenizer
+        "mockito-target-minus-junit4",
+    ],
+    libs: [
+        // We access internal private classes
+        "ravenwood-junit-impl",
+    ],
+    srcs: [
+        "test/**/*.java",
+        "test/**/*.kt",
+    ],
+
+    exclude_srcs: [
+        "test/com/android/ravenwoodtest/runnercallbacktests/*",
+    ],
+    ravenizer: {
+        strip_mockito: true,
+    },
+    auto_gen_config: true,
+}
diff --git a/ravenwood/tests/coretest/test/com/android/ravenwoodtest/coretest/RavenwoodMainThreadTest.java b/ravenwood/tests/coretest/test/com/android/ravenwoodtest/coretest/RavenwoodMainThreadTest.java
new file mode 100644
index 0000000..68387d7
--- /dev/null
+++ b/ravenwood/tests/coretest/test/com/android/ravenwoodtest/coretest/RavenwoodMainThreadTest.java
@@ -0,0 +1,82 @@
+/*
+ * 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.ravenwoodtest.coretest;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.junit.Assert.assertThrows;
+import static org.junit.Assert.fail;
+import static org.junit.Assume.assumeTrue;
+
+import android.platform.test.ravenwood.RavenwoodUtils;
+
+import org.junit.Test;
+
+import java.util.concurrent.atomic.AtomicReference;
+
+public class RavenwoodMainThreadTest {
+    private static final boolean RUN_UNSAFE_TESTS =
+            "1".equals(System.getenv("RAVENWOOD_RUN_UNSAFE_TESTS"));
+
+    @Test
+    public void testRunOnMainThread() {
+        AtomicReference<Thread> thr = new AtomicReference<>();
+        RavenwoodUtils.runOnMainThreadSync(() -> {
+            thr.set(Thread.currentThread());
+        });
+        var th = thr.get();
+        assertThat(th).isNotNull();
+        assertThat(th).isNotEqualTo(Thread.currentThread());
+    }
+
+    /**
+     * Sleep a long time on the main thread. This test would then "pass", but Ravenwood
+     * should show the stack traces.
+     *
+     * This is "unsafe" because this test is slow.
+     */
+    @Test
+    public void testUnsafeMainThreadHang() {
+        assumeTrue(RUN_UNSAFE_TESTS);
+
+        // The test should time out.
+        RavenwoodUtils.runOnMainThreadSync(() -> {
+            try {
+                Thread.sleep(30_000);
+            } catch (InterruptedException e) {
+                fail("Interrupted");
+            }
+        });
+    }
+
+    /**
+     * AssertionError on the main thread would be swallowed and reported "normally".
+     * (Other kinds of exceptions would be caught by the unhandled exception handler, and kills
+     * the process)
+     *
+     * This is "unsafe" only because this feature can be disabled via the env var.
+     */
+    @Test
+    public void testUnsafeAssertFailureOnMainThread() {
+        assumeTrue(RUN_UNSAFE_TESTS);
+
+        assertThrows(AssertionError.class, () -> {
+            RavenwoodUtils.runOnMainThreadSync(() -> {
+                fail();
+            });
+        });
+    }
+}
diff --git a/ravenwood/tests/coretest/test/com/android/ravenwoodtest/coretest/RavenwoodReflectorTest.java b/ravenwood/tests/coretest/test/com/android/ravenwoodtest/coretest/RavenwoodReflectorTest.java
new file mode 100644
index 0000000..421fb50
--- /dev/null
+++ b/ravenwood/tests/coretest/test/com/android/ravenwoodtest/coretest/RavenwoodReflectorTest.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 com.android.ravenwoodtest.coretest;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import com.android.ravenwood.common.RavenwoodCommonUtils.ReflectedMethod;
+
+import org.junit.Test;
+
+/**
+ * Tests for {@link ReflectedMethod}.
+ */
+public class RavenwoodReflectorTest {
+    /** test target */
+    public class Target {
+        private final int mVar;
+
+        /** test target */
+        public Target(int var) {
+            mVar = var;
+        }
+
+        /** test target */
+        public int foo(int x) {
+            return x + mVar;
+        }
+
+        /** test target */
+        public static int bar(int x) {
+            return x + 1;
+        }
+    }
+
+    /** Test for a non-static method call */
+    @Test
+    public void testNonStatic() {
+        var obj = new Target(5);
+
+        var m = ReflectedMethod.reflectMethod(Target.class, "foo", int.class);
+        assertThat((int) m.call(obj, 2)).isEqualTo(7);
+    }
+
+    /** Test for a static method call */
+    @Test
+    public void testStatic() {
+        var m = ReflectedMethod.reflectMethod(Target.class, "bar", int.class);
+        assertThat((int) m.callStatic(1)).isEqualTo(2);
+    }
+}
diff --git a/ravenwood/tests/coretest/test/com/android/ravenwoodtest/coretest/RavenwoodSystemPropertiesTest.java b/ravenwood/tests/coretest/test/com/android/ravenwoodtest/coretest/RavenwoodSystemPropertiesTest.java
new file mode 100644
index 0000000..454f5a9
--- /dev/null
+++ b/ravenwood/tests/coretest/test/com/android/ravenwoodtest/coretest/RavenwoodSystemPropertiesTest.java
@@ -0,0 +1,65 @@
+/*
+ * 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.ravenwoodtest.coretest;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.junit.Assert.fail;
+
+import android.os.SystemProperties;
+
+import org.junit.Test;
+
+public class RavenwoodSystemPropertiesTest {
+    @Test
+    public void testRead() {
+        assertThat(SystemProperties.get("ro.board.first_api_level")).isEqualTo("1");
+    }
+
+    @Test
+    public void testWrite() {
+        SystemProperties.set("debug.xxx", "5");
+        assertThat(SystemProperties.get("debug.xxx")).isEqualTo("5");
+    }
+
+    private static void assertException(String expectedMessage, Runnable r) {
+        try {
+            r.run();
+            fail("Excepted exception with message '" + expectedMessage + "' but wasn't thrown");
+        } catch (RuntimeException e) {
+            if (e.getMessage().contains(expectedMessage)) {
+                return;
+            }
+            fail("Excepted exception with message '" + expectedMessage + "' but was '"
+                    + e.getMessage() +  "'");
+        }
+    }
+
+
+    @Test
+    public void testReadDisallowed() {
+        assertException("Read access to system property 'nonexisitent' denied", () -> {
+            SystemProperties.get("nonexisitent");
+        });
+    }
+
+    @Test
+    public void testWriteDisallowed() {
+        assertException("failed to set system property \"ro.board.first_api_level\" ", () -> {
+            SystemProperties.set("ro.board.first_api_level", "2");
+        });
+    }
+}
diff --git a/ravenwood/tests/minimum-test/test/com/android/ravenwoodtest/RavenwoodMinimumTest.java b/ravenwood/tests/minimum-test/test/com/android/ravenwoodtest/RavenwoodMinimumTest.java
index 30abaa2..b1a40f0 100644
--- a/ravenwood/tests/minimum-test/test/com/android/ravenwoodtest/RavenwoodMinimumTest.java
+++ b/ravenwood/tests/minimum-test/test/com/android/ravenwoodtest/RavenwoodMinimumTest.java
@@ -16,28 +16,27 @@
 package com.android.ravenwoodtest;
 
 import android.platform.test.annotations.IgnoreUnderRavenwood;
-import android.platform.test.ravenwood.RavenwoodRule;
 
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
 import org.junit.Assert;
-import org.junit.Rule;
+import org.junit.Assume;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
 @RunWith(AndroidJUnit4.class)
 public class RavenwoodMinimumTest {
-    @Rule
-    public final RavenwoodRule mRavenwood = new RavenwoodRule.Builder()
-            .setProcessApp()
-            .build();
-
     @Test
     public void testSimple() {
         Assert.assertTrue(android.os.Process.isApplicationUid(android.os.Process.myUid()));
     }
 
     @Test
+    public void testAssumeNot() {
+        Assume.assumeFalse(android.os.Process.isApplicationUid(android.os.Process.myUid()));
+    }
+
+    @Test
     @IgnoreUnderRavenwood
     public void testIgnored() {
         throw new RuntimeException("Shouldn't be executed under ravenwood");
diff --git a/ravenwood/texts/ravenwood-build.prop b/ravenwood/texts/ravenwood-build.prop
index 37c50f1..512b459 100644
--- a/ravenwood/texts/ravenwood-build.prop
+++ b/ravenwood/texts/ravenwood-build.prop
@@ -8,9 +8,41 @@
 ro.soc.model=Ravenwood
 ro.debuggable=1
 
-# For the graphics stack
-ro.hwui.max_texture_allocation_size=104857600
 persist.sys.locale=en-US
+ro.product.locale=en-US
+
+ro.hwui.max_texture_allocation_size=104857600
+
+# Allowlist control:
+# This set is carefully curated to help identify situations where a test may
+# accidentally depend on a default value of an obscure property whose owner hasn't
+# decided how Ravenwood should behave.
+
+boot.=$$$r
+build.=$$$r
+product.=$$$r
+soc.=$$$r
+system.=$$$r
+wm.debug.=$$$r
+wm.extensions.=$$$r
+
+gsm.version.baseband=$$$r
+no.such.thing=$$$r
+qemu.sf.lcd_density=$$$r
+ro.bootloader=$$$r
+ro.hardware=$$$r
+ro.hw_timeout_multiplier=$$$r
+ro.odm.build.media_performance_class=$$$r
+ro.sf.lcd_density=$$$r
+ro.treble.enabled=$$$r
+ro.vndk.version=$$$r
+ro.icu.data.path=$$$r
+
+# Writable keys
+debug.=$$$w
+
+# For PropertyInvalidatedCache
+cache_key.=$$$w
 
 # The ones starting with "ro.product" or "ro.build" will be copied to all "partitions" too.
 # See RavenwoodSystemProperties.
diff --git a/ravenwood/texts/ravenwood-framework-policies.txt b/ravenwood/texts/ravenwood-framework-policies.txt
index 0695316..5c17662 100644
--- a/ravenwood/texts/ravenwood-framework-policies.txt
+++ b/ravenwood/texts/ravenwood-framework-policies.txt
@@ -50,8 +50,10 @@
 class android.telephony.PinResult keepclass  # no-pta
 
 # Just enough to support mocking, no further functionality
-class android.content.BroadcastReceiver keep  # no-pta
-    method <init> ()V keep
+class android.content.BroadcastReceiver allow-annotation
+    method <init> ()V allow-annotation
+
+# TODO: Convert the following policies to "allow-annotation".
 class android.content.Context keep  # no-pta
     method <init> ()V keep
     method getSystemService (Ljava/lang/Class;)Ljava/lang/Object; keep  # no-pta
diff --git a/ravenwood/texts/ravenwood-services-jarjar-rules.txt b/ravenwood/texts/ravenwood-services-jarjar-rules.txt
index 8fdd340..64a0e25 100644
--- a/ravenwood/texts/ravenwood-services-jarjar-rules.txt
+++ b/ravenwood/texts/ravenwood-services-jarjar-rules.txt
@@ -5,7 +5,7 @@
 
 # Rename all other service internals so that tests can continue to statically
 # link services code when owners aren't ready to support on Ravenwood
-rule com.android.server.** repackaged.@0
+rule com.android.server.** repackaged.services.@0
 
 # TODO: support AIDL generated Parcelables via hoststubgen
-rule android.hardware.power.stats.** repackaged.@0
+rule android.hardware.power.stats.** repackaged.services.@0
diff --git a/ravenwood/texts/ravenwood-standard-options.txt b/ravenwood/texts/ravenwood-standard-options.txt
index 0edc348..2336575 100644
--- a/ravenwood/texts/ravenwood-standard-options.txt
+++ b/ravenwood/texts/ravenwood-standard-options.txt
@@ -36,6 +36,9 @@
 --ignore-annotation
     android.ravenwood.annotation.RavenwoodIgnore
 
+--partially-allowed-annotation
+    android.ravenwood.annotation.RavenwoodPartiallyAllowlisted
+
 --substitute-annotation
     android.ravenwood.annotation.RavenwoodReplace
 
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/util/MediaSmartspaceLoggerKosmos.kt b/ravenwood/tools/hoststubgen/annotations-src/android/hosttest/annotation/HostSideTestPartiallyAllowlisted.java
similarity index 60%
copy from packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/util/MediaSmartspaceLoggerKosmos.kt
copy to ravenwood/tools/hoststubgen/annotations-src/android/hosttest/annotation/HostSideTestPartiallyAllowlisted.java
index c63dec5..49b5938 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/media/controls/util/MediaSmartspaceLoggerKosmos.kt
+++ b/ravenwood/tools/hoststubgen/annotations-src/android/hosttest/annotation/HostSideTestPartiallyAllowlisted.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2024 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -13,11 +13,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package android.hosttest.annotation;
 
-package com.android.systemui.media.controls.util
+import static java.lang.annotation.ElementType.TYPE;
 
-import com.android.systemui.kosmos.Kosmos
-import org.mockito.Mockito.mock
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
 
-var Kosmos.mediaSmartspaceLogger by Kosmos.Fixture { MediaSmartspaceLogger() }
-val Kosmos.mockMediaSmartspaceLogger by Kosmos.Fixture { mock(MediaSmartspaceLogger::class.java) }
+@Target({TYPE})
+@Retention(RetentionPolicy.CLASS)
+public @interface HostSideTestPartiallyAllowlisted {
+}
diff --git a/ravenwood/tools/hoststubgen/hoststubgen-standard-options.txt b/ravenwood/tools/hoststubgen/hoststubgen-standard-options.txt
index 9c46a16..0625412 100644
--- a/ravenwood/tools/hoststubgen/hoststubgen-standard-options.txt
+++ b/ravenwood/tools/hoststubgen/hoststubgen-standard-options.txt
@@ -20,6 +20,9 @@
 --keep-class-annotation
     android.hosttest.annotation.HostSideTestWholeClassKeep
 
+--partially-allowed-annotation
+    android.hosttest.annotation.HostSideTestPartiallyAllowlisted
+
 --throw-annotation
     android.hosttest.annotation.HostSideTestThrow
 
diff --git a/ravenwood/tools/hoststubgen/hoststubgen-test-policy-override.txt b/ravenwood/tools/hoststubgen/hoststubgen-test-policy-override.txt
deleted file mode 100644
index 000771a..0000000
--- a/ravenwood/tools/hoststubgen/hoststubgen-test-policy-override.txt
+++ /dev/null
@@ -1,82 +0,0 @@
-# *************************************************************************************************
-# This file contains "policies" for HostStubGen used by its automated tests.
-# For the "real" Ravenwood policies, see the frameworks/base/ravenwood/texts/ directory.
-# *************************************************************************************************
-
-# --------------------------------------------------------------------------------------------------
-# Directions on auto-generated classes, where we can't use Java annotations (yet).
-# --------------------------------------------------------------------------------------------------
-class android.Manifest stubclass
-class android.R        stubclass
-class android.os.PersistableBundleProto	keepclass
-
-# This is in module-utils, where using a HostStubGen annotation would be complicated, so we
-# add a direction here rather than using a java annotation.
-# The build file says it's deprecated, anyway...? Figure out what to do with it.
-class com.android.internal.util.Preconditions keepclass
-
-# --------------------------------------------------------------------------------------------------
-# Actual framework classes
-# --------------------------------------------------------------------------------------------------
-
-# Put basic exception classes in the "impl" jar.
-# We don't put them in stub yet (until something actually needs them).
-class android.os.DeadObjectException          keepclass
-class android.os.DeadSystemRuntimeException   keepclass
-class android.os.NetworkOnMainThreadException keepclass
-class android.os.RemoteException              keepclass
-class android.os.ServiceSpecificException     keepclass
-class android.util.AndroidException           keepclass
-class android.util.AndroidRuntimeException    keepclass
-class android.os.DeadSystemException          keepclass
-
-
-# For now, we only want to expose ArrayMap and Log, but they and their tests depend on
-# more classes.
-
-class android.util.ArrayMap             stubclass
-
-# Used by ArrayMap. No need to put them in the stub, but we need them in impl.
-class android.util.MapCollections         keepclass
-class android.util.ContainerHelpers       keepclass
-class android.util.EmptyArray             stubclass
-class com.android.internal.util.XmlUtils  keepclass
-class com.android.internal.util.FastMath  keepclass
-class android.util.MathUtils              keepclass
-
-
-class android.util.Log          stubclass
-class android.util.Slog         stubclass
-# We don't use Log's native code, yet. Instead, the following line enables the Java substitution.
-# Comment it out to disable Java substitution of Log's native methods.
-class android.util.Log	!com.android.hoststubgen.nativesubstitution.Log_host
-
-# Used by log
-class com.android.internal.util.FastPrintWriter         keepclass
-class com.android.internal.util.LineBreakBufferedWriter keepclass
-
-class android.util.EventLog stubclass
-class android.util.EventLog !com.android.hoststubgen.nativesubstitution.EventLog_host
-class android.util.EventLog$Event stubclass
-
-# Expose Context because it's referred to by AndroidTestCase, but don't need to expose any of
-# its members.
-class android.content.Context        keep
-
-# Expose Parcel, Parcel and there relevant classes, which are used by ArrayMapTets.
-class android.os.Parcelable     StubClass
-class android.os.Parcel         StubClass
-class android.os.Parcel         !com.android.hoststubgen.nativesubstitution.Parcel_host
-
-class android.os.IBinder        stubClass
-class android.os.IInterface     stubclass
-
-class android.os.BadParcelableException     stubclass
-class android.os.BadTypeParcelableException stubclass
-
-class android.os.BaseBundle        stubclass
-class android.os.Bundle            stubclass
-class android.os.PersistableBundle stubclass
-
-class android.os.MessageQueue stubclass
-class android.os.MessageQueue !com.android.hoststubgen.nativesubstitution.MessageQueue_host
diff --git a/ravenwood/tools/hoststubgen/invoketest/hoststubgen-invoke-test.sh b/ravenwood/tools/hoststubgen/invoketest/hoststubgen-invoke-test.sh
index 084448d..da1e40a 100755
--- a/ravenwood/tools/hoststubgen/invoketest/hoststubgen-invoke-test.sh
+++ b/ravenwood/tools/hoststubgen/invoketest/hoststubgen-invoke-test.sh
@@ -47,6 +47,7 @@
 OUTJAR=$TEMP/host.jar
 
 ANNOTATION_FILTER=$TEMP/annotation-filter.txt
+POLICY_FILE=$TEMP/policy-file.txt
 
 HOSTSTUBGEN_OUT=$TEMP/output.txt
 
@@ -66,12 +67,14 @@
 run_hoststubgen() {
   local test_name="$1"
   local annotation_filter="$2"
+  local policy="$3"
 
   echo "# Test: $test_name"
 
   cleanup_temp
 
   local filter_arg=""
+  local policy_arg=""
 
   if [[ "$annotation_filter" != "" ]] ; then
     echo "$annotation_filter" > $ANNOTATION_FILTER
@@ -80,6 +83,13 @@
     cat $ANNOTATION_FILTER
   fi
 
+  if [[ "$policy" != "" ]] ; then
+    echo "$policy" > $POLICY_FILE
+    policy_arg="--policy-override-file $POLICY_FILE"
+    echo "=== policy ==="
+    cat $POLICY_FILE
+  fi
+
   local out_arg=""
 
   if [[ "$OUTJAR" != "" ]] ; then
@@ -108,7 +118,10 @@
           android.hosttest.annotation.HostSideTestClassLoadHook \
       --keep-static-initializer-annotation \
           android.hosttest.annotation.HostSideTestStaticInitializerKeep \
+      --partially-allowed-annotation \
+          android.hosttest.annotation.HostSideTestPartiallyAllowlisted \
       $filter_arg \
+      $policy_arg \
       $EXTRA_ARGS \
       |& tee $HOSTSTUBGEN_OUT
   HOSTSTUBGEN_RC=${PIPESTATUS[0]}
@@ -132,10 +145,11 @@
 }
 
 run_hoststubgen_for_success() {
+  local test_name="$1"
   run_hoststubgen "$@"
 
   if (( $HOSTSTUBGEN_RC != 0 )) ; then
-    echo "HostStubGen expected to finish successfully, but failed with $rc"
+    echo "HostStubGen expected to finish successfully, but failed with $HOSTSTUBGEN_RC: Test=$test_name"
     return 1
   fi
 
@@ -151,7 +165,7 @@
   run_hoststubgen "$test_name" "$@"
 
   if (( $HOSTSTUBGEN_RC == 0 )) ; then
-    echo "HostStubGen expected to fail, but it didn't fail"
+    echo "HostStubGen expected to fail, but it didn't fail. Test=$test_name"
     return 1
   fi
 
@@ -161,24 +175,31 @@
 
 # Start the tests...
 
+# These classes require special care, so let's delete them in most tests...
+DELETE_PARTIAL_ANNOTATION_CLASSESS='
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted remove
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad remove
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad remove
+'
+
 # Pass "" as a filter to _not_ add `--annotation-allowed-classes-file`.
-run_hoststubgen_for_success "No annotation filter" ""
+run_hoststubgen_for_success "No annotation filter" "" "$DELETE_PARTIAL_ANNOTATION_CLASSESS"
 
 # Now, we use " ", so we do add `--annotation-allowed-classes-file`.
 run_hoststubgen_for_failure "No classes are allowed to have annotations" \
     "not allowed to have Ravenwood annotations" \
-    " "
+    " " "$DELETE_PARTIAL_ANNOTATION_CLASSESS"
 
 run_hoststubgen_for_success "All classes allowed (wildcard)" \
     "
 * # Allow all classes
-"
+" "$DELETE_PARTIAL_ANNOTATION_CLASSESS"
 
 run_hoststubgen_for_failure "All classes disallowed (wildcard)" \
     "not allowed to have Ravenwood annotations" \
     "
 !* # Disallow all classes
-"
+" "$DELETE_PARTIAL_ANNOTATION_CLASSESS"
 
 run_hoststubgen_for_failure "Some classes not allowed (1)" \
     "not allowed to have Ravenwood annotations" \
@@ -186,7 +207,7 @@
 android.hosttest.*
 com.android.hoststubgen.*
 com.supported.*
-"
+" "$DELETE_PARTIAL_ANNOTATION_CLASSESS"
 
 run_hoststubgen_for_failure "Some classes not allowed (2)" \
     "not allowed to have Ravenwood annotations" \
@@ -194,7 +215,7 @@
 android.hosttest.*
 com.android.hoststubgen.*
 com.unsupported.*
-"
+" "$DELETE_PARTIAL_ANNOTATION_CLASSESS"
 
 run_hoststubgen_for_success "All classes allowed (package wildcard)" \
     "
@@ -202,27 +223,109 @@
 com.android.hoststubgen.*
 com.supported.*
 com.unsupported.*
-"
+" "$DELETE_PARTIAL_ANNOTATION_CLASSESS"
 
 run_hoststubgen_for_failure "One specific class disallowed" \
     "TinyFrameworkAnnotations is not allowed to have Ravenwood annotations" \
     "
 !com.android.hoststubgen.test.tinyframework.TinyFrameworkAnnotations
 * # All other classes allowed
-"
+" "$DELETE_PARTIAL_ANNOTATION_CLASSESS"
 
 run_hoststubgen_for_success "One specific class disallowed, but it doesn't use annotations" \
     "
 !com.android.hoststubgen.test.tinyframework.TinyFrameworkForTextPolicy
 * # All other classes allowed
-"
+" "$DELETE_PARTIAL_ANNOTATION_CLASSESS"
 
-OUTJAR="" run_hoststubgen_for_success "No output generation" ""
+OUTJAR="" run_hoststubgen_for_success "No output generation" "" "$DELETE_PARTIAL_ANNOTATION_CLASSESS"
 
 EXTRA_ARGS="--in-jar abc" run_hoststubgen_for_failure "Duplicate arg" \
     "Duplicate or conflicting argument found: --in-jar" \
     ""
 
+# ---------------------------------------------------------------------------------------------
+# Tests for "partially-allowlisted".
+# ---------------------------------------------------------------------------------------------
+
+# Allowlist used by hoststubgen-test-tiny-test.
+ALLOWLIST='
+com.android.hoststubgen.test.tinyframework.*
+com.supported.*
+com.unsupported.*
+!*
+'
+
+run_hoststubgen_for_success 'The settings used by hoststubgen-test-tiny-test' \
+    "$ALLOWLIST" \
+    '
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted allow-annotation
+    method foo2 allow-annotation
+
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad remove
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad remove
+'
+
+run_hoststubgen_for_failure 'PartiallyAllowlisted does not have allow-annotation' \
+    "PartiallyAllowlisted has annotation android.hosttest.annotation.HostSideTestPartiallyAllowlisted, but" \
+    "$ALLOWLIST" \
+    '
+#class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted allow-annotation
+#    method foo2 allow-annotation
+
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad remove
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad remove
+'
+
+
+run_hoststubgen_for_failure 'PartiallyAllowlisted.foo2 does not have allow-annotation' \
+    "foo2(I)I is not allowed to have Ravenwood annotations. (Class is partially allowlisted.)" \
+    "$ALLOWLIST" \
+    '
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted allow-annotation
+#    method foo2 allow-annotation
+
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad remove
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad remove
+'
+
+run_hoststubgen_for_failure 'Partially-allowlisted classes cannot have class-wide policies' \
+    "PartialWithWholeClass_bad has class wide annotation android.hosttest.annotation.HostSideTestWholeClassKeep" \
+    "$ALLOWLIST" \
+    '
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted allow-annotation
+    method foo2 allow-annotation
+
+# Now with allow-annotation
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad allow-annotation
+
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad remove
+'
+
+run_hoststubgen_for_failure 'Partially-allowlisted classes cannot have class-wide policies' \
+    "PartiallyAllowlistedWithoutAnnot_bad must have android.hosttest.annotation.HostSideTestPartiallyAllowlisted" \
+    "$ALLOWLIST" \
+    '
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted allow-annotation
+    method foo2 allow-annotation
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad remove
+
+# Now with allow-annotation
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad allow-annotation
+'
+
+run_hoststubgen_for_success 'The settings used by hoststubgen-test-tiny-test' \
+    "$ALLOWLIST" \
+    '
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted allow-annotation
+    method foo2 allow-annotation
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad remove
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad remove
+
+# NoAnnotations has no annotations at all. Setting "allow-annotation" to it is okay even though
+# it does not have an @HostSideTestPartiallyAllowlisted, because it does nott have any other annotations anyway.
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$NoAnnotations allow-annotation
+'
 
 echo "All tests passed"
 exit 0
diff --git a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/HostStubGen.kt b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/HostStubGen.kt
index 83a7069..7e294ed 100644
--- a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/HostStubGen.kt
+++ b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/HostStubGen.kt
@@ -151,7 +151,7 @@
             filter
         )
 
-        val annotationAllowedClassesFilter = options.annotationAllowedClassesFile.get.let { file ->
+        val annotationAllowedPredicate = options.annotationAllowedClassesFile.get.let { file ->
             if (file == null) {
                 ClassPredicate.newConstantPredicate(true) // Allow all classes
             } else {
@@ -160,7 +160,7 @@
         }
 
         // Next, Java annotation based filter.
-        filter = AnnotationBasedFilter(
+        val annotFilter = AnnotationBasedFilter(
             errors,
             allClasses,
             options.keepAnnotations,
@@ -172,10 +172,12 @@
             options.redirectAnnotations,
             options.redirectionClassAnnotations,
             options.classLoadHookAnnotations,
+            options.partiallyAllowedAnnotations,
             options.keepStaticInitializerAnnotations,
-            annotationAllowedClassesFilter,
+            annotationAllowedPredicate,
             filter
         )
+        filter = annotFilter
 
         // Next, "text based" filter, which allows to override polices without touching
         // the target code.
@@ -183,6 +185,7 @@
             val builder = TextFileFilterPolicyBuilder(allClasses, filter)
             options.policyOverrideFiles.forEach(builder::parse)
             filter = builder.createOutputFilter()
+            annotFilter.annotationAllowedMembers = builder.annotationAllowedMembersFilter
         }
 
         // Apply the implicit filter.
diff --git a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/HostStubGenOptions.kt b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/HostStubGenOptions.kt
index 297420d..1ab88d2 100644
--- a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/HostStubGenOptions.kt
+++ b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/HostStubGenOptions.kt
@@ -86,6 +86,7 @@
         var removeAnnotations: MutableSet<String> = mutableSetOf(),
         var ignoreAnnotations: MutableSet<String> = mutableSetOf(),
         var keepClassAnnotations: MutableSet<String> = mutableSetOf(),
+        var partiallyAllowedAnnotations: MutableSet<String> = mutableSetOf(),
         var redirectAnnotations: MutableSet<String> = mutableSetOf(),
 
         var substituteAnnotations: MutableSet<String> = mutableSetOf(),
@@ -181,6 +182,9 @@
                         "--keep-class-annotation" ->
                             ret.keepClassAnnotations.addUniqueAnnotationArg()
 
+                        "--partially-allowed-annotation" ->
+                            ret.partiallyAllowedAnnotations.addUniqueAnnotationArg()
+
                         "--throw-annotation" ->
                             ret.throwAnnotations.addUniqueAnnotationArg()
 
@@ -287,6 +291,7 @@
               removeAnnotations=$removeAnnotations,
               ignoreAnnotations=$ignoreAnnotations,
               keepClassAnnotations=$keepClassAnnotations,
+              partiallyAllowedAnnotations=$partiallyAllowedAnnotations,
               substituteAnnotations=$substituteAnnotations,
               nativeSubstituteAnnotations=$redirectionClassAnnotations,
               classLoadHookAnnotations=$classLoadHookAnnotations,
diff --git a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/asm/AsmUtils.kt b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/asm/AsmUtils.kt
index f47aaba..b41ce0f 100644
--- a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/asm/AsmUtils.kt
+++ b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/asm/AsmUtils.kt
@@ -191,7 +191,14 @@
 }
 
 fun String.toHumanReadableClassName(): String {
-    return this.replace('/', '.')
+    var ret = this
+    if (ret.startsWith("L")) {
+        ret = ret.substring(1)
+    }
+    if (ret.endsWith(";")) {
+        ret = ret.substring(0, ret.length - 1)
+    }
+    return ret.replace('/', '.')
 }
 
 fun String.toHumanReadableMethodName(): String {
@@ -261,18 +268,45 @@
 }
 
 /**
+ * Write bytecode to pop the 2 uninitialized instances out of the stack
+ * after performing constructor redirection.
+ */
+fun adjustStackForConstructorRedirection(writer: MethodVisitor) {
+    // Stack: { uninitialized, uninitialized, obj }
+    writer.visitInsn(Opcodes.SWAP)
+    // Stack: { uninitialized, obj, uninitialized }
+    writer.visitInsn(Opcodes.POP)
+    // Stack: { uninitialized, obj }
+    writer.visitInsn(Opcodes.SWAP)
+    // Stack: { obj, uninitialized }
+    writer.visitInsn(Opcodes.POP)
+    // Stack: { obj }
+
+    // We end up with only the desired object on the stack
+}
+
+/**
  * Given a method descriptor, insert an [argType] as the first argument to it.
  */
 fun prependArgTypeToMethodDescriptor(methodDescriptor: String, classInternalName: String): String {
     val returnType = Type.getReturnType(methodDescriptor)
     val argTypes = Type.getArgumentTypes(methodDescriptor).toMutableList()
 
-    argTypes.add(0, Type.getType("L" + classInternalName + ";"))
+    argTypes.add(0, Type.getType("L$classInternalName;"))
 
     return Type.getMethodDescriptor(returnType, *argTypes.toTypedArray())
 }
 
 /**
+ * Given a method descriptor, change the return type to [classInternalName].
+ */
+fun changeMethodDescriptorReturnType(methodDescriptor: String, classInternalName: String): String {
+    val argTypes = Type.getArgumentTypes(methodDescriptor)
+    val returnType = Type.getType("L$classInternalName;")
+    return Type.getMethodDescriptor(returnType, *argTypes)
+}
+
+/**
  * Return the "visibility" modifier from an `access` integer.
  *
  * (see https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.1-200-E.1)
diff --git a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/AnnotationBasedFilter.kt b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/AnnotationBasedFilter.kt
index 9b5d602..73c72a2 100644
--- a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/AnnotationBasedFilter.kt
+++ b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/AnnotationBasedFilter.kt
@@ -53,10 +53,19 @@
     redirectAnnotations_: Set<String>,
     redirectionClassAnnotations_: Set<String>,
     classLoadHookAnnotations_: Set<String>,
+    partiallyAllowlistedClassAnnotations_: Set<String>,
     keepStaticInitializerAnnotations_: Set<String>,
     private val annotationAllowedClassesFilter: ClassPredicate,
     fallback: OutputFilter,
 ) : DelegatingFilter(fallback) {
+
+    /**
+     * This is a filter chain to check if an entity (class/member) has a "allow-annotation"
+     * policy.
+     */
+    var annotationAllowedMembers: OutputFilter =
+        ConstantFilter(FilterPolicy.Remove, "default disallowed")
+
     private val keepAnnotations = convertToInternalNames(keepAnnotations_)
     private val keepClassAnnotations = convertToInternalNames(keepClassAnnotations_)
     private val throwAnnotations = convertToInternalNames(throwAnnotations_)
@@ -67,6 +76,9 @@
     private val redirectionClassAnnotations =
         convertToInternalNames(redirectionClassAnnotations_)
     private val classLoadHookAnnotations = convertToInternalNames(classLoadHookAnnotations_)
+    private val partiallyAllowlistedClassAnnotations =
+        convertToInternalNames(partiallyAllowlistedClassAnnotations_)
+
     private val keepStaticInitializerAnnotations =
         convertToInternalNames(keepStaticInitializerAnnotations_)
 
@@ -79,17 +91,22 @@
             redirectAnnotations +
             substituteAnnotations
 
-    /** All the annotations we use. */
-    private val allAnnotations = visibilityAnnotations +
+    /**
+     * Annotations that require "fully" allowlisting.
+     */
+    private val allowlistRequiringAnnotations = visibilityAnnotations +
             redirectionClassAnnotations +
             classLoadHookAnnotations +
             keepStaticInitializerAnnotations
+            // partiallyAllowlistedClassAnnotations // This is excluded.
 
     /**
-     * All the annotations we use. Note, this one is in a [convertToJvmNames] format unlike
-     * other ones, because of how it's used.
+     * We always keep these types.
+     *
+     * Note, this one is in a [convertToJvmNames] format unlike other ones, because of how it's
+     * used.
      */
-    private val allAnnotationClasses: Set<String> = convertToJvmNames(
+    private val alwaysKeepClasses: Set<String> = convertToJvmNames(
         keepAnnotations_ +
                 keepClassAnnotations_ +
                 throwAnnotations_ +
@@ -98,6 +115,7 @@
                 substituteAnnotations_ +
                 redirectionClassAnnotations_ +
                 classLoadHookAnnotations_ +
+                partiallyAllowlistedClassAnnotations_ +
                 keepStaticInitializerAnnotations_
     )
 
@@ -122,7 +140,7 @@
 
     override fun getPolicyForClass(className: String): FilterPolicyWithReason {
         // If it's any of the annotations, then always keep it.
-        if (allAnnotationClasses.contains(className)) {
+        if (alwaysKeepClasses.contains(className)) {
             return FilterPolicy.KeepClass.withReason("HostStubGen Annotation")
         }
 
@@ -197,13 +215,34 @@
         val classLoadHooks: List<String>
 
         init {
-            val allowAnnotation = annotationAllowedClassesFilter.matches(cn.name)
-            detectInvalidAnnotations(
-                cn.name, allowAnnotation,
+            // First, check if the class has "partially-allowed" policy.
+            // This filter chain contains
+            val annotationPartiallyAllowedClass =
+                annotationAllowedMembers.getPolicyForClass(cn.name).policy ==
+                        FilterPolicy.AnnotationAllowed
+
+            // If a class is partially-allowlisted, then it's not fully-allowlisted.
+            // Otherwise, just use annotationAllowedClassesFilter.
+            val fullyAllowAnnotation = !annotationPartiallyAllowedClass &&
+                annotationAllowedClassesFilter.matches(cn.name)
+            detectInvalidAnnotations(isClass = true,
+                cn.name, fullyAllowAnnotation, annotationPartiallyAllowedClass,
+                annotationPartiallyAllowedClass,
                 cn.visibleAnnotations, cn.invisibleAnnotations,
                 "class", cn.name
             )
-            classPolicy = cn.findAnyAnnotation(visibilityAnnotations)?.policy
+
+            val classAnnot = cn.findAnyAnnotation(visibilityAnnotations)
+            classPolicy = classAnnot?.policy
+
+            classPolicy?.let { policy ->
+                if (policy.policy.isClassWide && annotationPartiallyAllowedClass) {
+                    errors.onErrorFound("Class ${cn.name.toHumanReadableClassName()}" +
+                            " has class wide annotation" +
+                            " ${classAnnot?.desc?.toHumanReadableClassName()}" +
+                            ", which can't be used in a partially-allowlisted class")
+                }
+            }
             redirectionClass = cn.findAnyAnnotation(redirectionClassAnnotations)?.let { an ->
                 getAnnotationField(an, "value")?.let { resolveRelativeClass(cn, it) }
             }
@@ -216,8 +255,10 @@
             }
 
             for (fn in cn.fields ?: emptyList()) {
-                detectInvalidAnnotations(
-                    cn.name, allowAnnotation,
+                val partiallyAllowAnnotation = false // No partial allowlisting on fields (yet)
+                detectInvalidAnnotations(isClass = false,
+                    cn.name, fullyAllowAnnotation, partiallyAllowAnnotation,
+                    annotationPartiallyAllowedClass,
                     fn.visibleAnnotations, fn.invisibleAnnotations,
                     "field", cn.name, fn.name
                 )
@@ -227,8 +268,12 @@
             }
 
             for (mn in cn.methods ?: emptyList()) {
-                detectInvalidAnnotations(
-                    cn.name, allowAnnotation,
+                val partiallyAllowAnnotation =
+                    annotationAllowedMembers.getPolicyForMethod(cn.name, mn.name, mn.desc).policy ==
+                            FilterPolicy.AnnotationAllowed
+                detectInvalidAnnotations(isClass = false,
+                    cn.name, fullyAllowAnnotation, partiallyAllowAnnotation,
+                    annotationPartiallyAllowedClass,
                     mn.visibleAnnotations, mn.invisibleAnnotations,
                     "method", cn.name, mn.name, mn.desc
                 )
@@ -263,8 +308,11 @@
          * to avoid unnecessary string concatenations.
          */
         private fun detectInvalidAnnotations(
+            isClass: Boolean,
             className: String,
-            allowAnnotation: Boolean,
+            fullyAllowAnnotation: Boolean,
+            partiallyAllowAnnotation: Boolean,
+            classPartiallyAllowAnnotation: Boolean,
             visibles: List<AnnotationNode>?,
             invisibles: List<AnnotationNode>?,
             type: String,
@@ -272,13 +320,26 @@
             name2: String = "",
             name3: String = "",
         ) {
+            // Lazily create the description.
+            val desc = { getItemDescription(type, name1, name2, name3) }
+
+            val partiallyAllowlistAnnotation =
+                findAnyAnnotation(partiallyAllowlistedClassAnnotations, visibles, invisibles)
+            partiallyAllowlistAnnotation?.let { anot ->
+                if (!partiallyAllowAnnotation) {
+                    errors.onErrorFound(desc() +
+                            " has annotation ${anot.desc?.toHumanReadableClassName()}, but" +
+                            " doesn't have" +
+                            " '${FilterPolicy.AnnotationAllowed.policyStringOrPrefix}' policy.'")
+                }
+            }
             var count = 0
             var visibleCount = 0
             for (an in visibles ?: emptyList()) {
                 if (visibilityAnnotations.contains(an.desc)) {
                     visibleCount++
                 }
-                if (allAnnotations.contains(an.desc)) {
+                if (allowlistRequiringAnnotations.contains(an.desc)) {
                     count++
                 }
             }
@@ -286,28 +347,54 @@
                 if (visibilityAnnotations.contains(an.desc)) {
                     visibleCount++
                 }
-                if (allAnnotations.contains(an.desc)) {
+                if (allowlistRequiringAnnotations.contains(an.desc)) {
                     count++
                 }
             }
-            if (count > 0 && !allowAnnotation) {
+            // Special case -- if it's a class, and has an "allow-annotation" policy
+            // *and* if it actually has an annotation, then it must have the
+            // "PartiallyAllowlisted" annotation.
+            // Conversely, even if it has an "allow-annotation" policy, it's okay
+            // if it doesn't have the annotation, as long as it doesn't have any
+            // annotations.
+            if (isClass && count > 0 && partiallyAllowAnnotation) {
+                if (partiallyAllowlistAnnotation == null) {
+                    val requiredAnnot = partiallyAllowlistedClassAnnotations.firstOrNull()
+                    throw InvalidAnnotationException(
+                        "${desc()} must have ${requiredAnnot?.toHumanReadableClassName()} to use" +
+                                " annotations")
+                }
+            }
+
+            if (count > 0 && !(fullyAllowAnnotation || partiallyAllowAnnotation)) {
+                val extInfo = if (classPartiallyAllowAnnotation) {
+                    " (Class is partially allowlisted.)"
+                } else {""}
                 throw InvalidAnnotationException(
-                    "Class ${className.toHumanReadableClassName()} is not allowed to have " +
-                            "Ravenwood annotations. Contact g/ravenwood for more details."
+                    "${desc()} is not allowed to have " +
+                            "Ravenwood annotations.$extInfo Contact g/ravenwood for more details."
                 )
             }
             if (visibleCount > 1) {
-                val description = if (name2 == "" && name3 == "") {
-                    "$type $name1"
-                } else {
-                    "$type $name1.$name2$name3"
-                }
                 throw InvalidAnnotationException(
-                    "Found more than one visibility annotations on $description"
+                    "Found more than one visibility annotations on ${desc()}"
                 )
             }
         }
 
+        private fun getItemDescription(
+            type: String,
+            name1: String,
+            name2: String,
+            name3: String,
+        ): String {
+            return if (name2 == "" && name3 == "") {
+                "$type $name1"
+            } else {
+                "$type $name1.$name2$name3"
+            }
+        }
+
         /**
          * Return the (String) value of 'value' parameter from an annotation.
          */
diff --git a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/FilterPolicy.kt b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/FilterPolicy.kt
index 2f2f81b..81c26ff 100644
--- a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/FilterPolicy.kt
+++ b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/FilterPolicy.kt
@@ -15,44 +15,51 @@
  */
 package com.android.hoststubgen.filters
 
-enum class FilterPolicy {
+enum class FilterPolicy(val policyStringOrPrefix: String) {
     /**
      * Keep the item in the jar file.
      */
-    Keep,
+    Keep("keep"),
 
     /**
      * Only usable with classes. Keep the class in the jar, and also all its members.
      * Each member can have another policy to override it.
      */
-    KeepClass,
+    KeepClass("keepclass"),
 
     /**
      * Only usable with methods. Replace a method with a "substitution" method.
      */
-    Substitute,
+    Substitute("@"), // @ is a prefix
 
     /**
      * Only usable with methods. Redirect a method to a method in the substitution class.
      */
-    Redirect,
+    Redirect("redirect"),
 
     /**
      * Only usable with methods. The item will be kept in the impl jar file, but when called,
      * it'll throw.
      */
-    Throw,
+    Throw("throw"),
 
     /**
      * Only usable with methods. The item will be kept in the impl jar file, but when called,
      * it'll no-op.
      */
-    Ignore,
+    Ignore("ignore"),
 
     /**
      * Remove the item completely.
      */
-    Remove;
+    Remove("remove"),
+
+    /**
+     * Special policy used for "partial annotation allowlisting". This policy must not be
+     * used in the "main" filter chain. (which would be detected by [SanitizationFilter].)
+     * It's used in a separate filter chain used by [AnnotationBasedFilter].
+     */
+    AnnotationAllowed("allow-annotation");
 
     val needsInOutput: Boolean
         get() {
@@ -66,7 +73,7 @@
     val isUsableWithClasses: Boolean
         get() {
             return when (this) {
-                Keep, KeepClass, Remove -> true
+                Keep, KeepClass, Remove, AnnotationAllowed -> true
                 else -> false
             }
         }
@@ -75,6 +82,7 @@
     val isUsableWithFields: Boolean
         get() {
             return when (this) {
+                // AnnotationAllowed isn't supported on fields (yet). We could support it if needed.
                 Keep, Remove -> true
                 else -> false
             }
@@ -102,7 +110,7 @@
     val isSupported: Boolean
         get() {
             return when (this) {
-                Keep, KeepClass, Substitute, Redirect -> true
+                Keep, KeepClass, Substitute, Redirect, AnnotationAllowed -> true
                 else -> false
             }
         }
@@ -115,6 +123,25 @@
             }
         }
 
+    val isClassWide: Boolean
+        get() {
+            return when (this) {
+                Remove, KeepClass -> true
+                else -> false
+            }
+        }
+
+    /**
+     * Internal policies must not be used in the main filter chain.
+     */
+    val isInternalPolicy: Boolean
+        get() {
+            return when (this) {
+                AnnotationAllowed -> true
+                else -> false
+            }
+        }
+
     /**
      * Convert KeepClass to Keep, or return itself.
      */
diff --git a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/FilterRemapper.kt b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/FilterRemapper.kt
index c5a2f9f..bba4681 100644
--- a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/FilterRemapper.kt
+++ b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/FilterRemapper.kt
@@ -15,6 +15,7 @@
  */
 package com.android.hoststubgen.filters
 
+import com.android.hoststubgen.log
 import org.objectweb.asm.commons.Remapper
 
 /**
@@ -23,19 +24,25 @@
 class FilterRemapper(val filter: OutputFilter) : Remapper() {
     private val cache = mutableMapOf<String, String>()
 
-    override fun mapType(typeInternalName: String?): String? {
+
+    override fun map(typeInternalName: String?): String? {
         if (typeInternalName == null) {
             return null
         }
 
         cache[typeInternalName]?.let {
+            // log.d("Cached rename from $typeInternalName to $it")
             return it
         }
 
-        var mapped = filter.remapType(typeInternalName) ?: typeInternalName
+        var mapped = filter.remapType(typeInternalName)
+        if (mapped != null) {
+            log.d("Renaming type $typeInternalName to $mapped")
+        } else {
+            // log.d("Not renaming type $typeInternalName")
+        }
+        mapped = mapped ?: typeInternalName
         cache[typeInternalName] = mapped
         return mapped
     }
-
-    // TODO Do we need to implement mapPackage(), etc too?
 }
\ No newline at end of file
diff --git a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/SanitizationFilter.kt b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/SanitizationFilter.kt
index 18a1e16..4375c65 100644
--- a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/SanitizationFilter.kt
+++ b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/SanitizationFilter.kt
@@ -16,6 +16,7 @@
 package com.android.hoststubgen.filters
 
 import com.android.hoststubgen.HostStubGenErrors
+import com.android.hoststubgen.HostStubGenInternalException
 import com.android.hoststubgen.asm.ClassNodes
 import com.android.hoststubgen.asm.toHumanReadableClassName
 import com.android.hoststubgen.log
@@ -28,12 +29,30 @@
     private val classes: ClassNodes,
     fallback: OutputFilter
 ) : DelegatingFilter(fallback) {
+    private fun validate(policy: FilterPolicyWithReason): FilterPolicyWithReason {
+        // "Internal" policies shouldn't be used in the "main" filter chain.
+        // They're for filter chains for other purposes.
+        if (policy.policy.isInternalPolicy) {
+            throw HostStubGenInternalException(
+                "Policy $policy must not be used in the \"real\" filter chain.")
+        }
+        return policy
+    }
+
+    override fun getPolicyForClass(className: String): FilterPolicyWithReason {
+        return validate(super.getPolicyForClass(className))
+    }
+
+    override fun getPolicyForField(className: String, fieldName: String): FilterPolicyWithReason {
+        return validate(super.getPolicyForField(className, fieldName))
+    }
+
     override fun getPolicyForMethod(
         className: String,
         methodName: String,
         descriptor: String
     ): FilterPolicyWithReason {
-        val policy = super.getPolicyForMethod(className, methodName, descriptor)
+        val policy = validate(super.getPolicyForMethod(className, methodName, descriptor))
         if (policy.policy == FilterPolicy.Redirect) {
             // Check whether the hosting class has a redirection class
             if (getRedirectionClass(className) == null) {
diff --git a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/TextFileFilterPolicyParser.kt b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/TextFileFilterPolicyParser.kt
index 9782f3d..dd353e9 100644
--- a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/TextFileFilterPolicyParser.kt
+++ b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/TextFileFilterPolicyParser.kt
@@ -100,7 +100,6 @@
         methodName: String,
         methodDesc: String,
         replaceSpec: TextFilePolicyMethodReplaceFilter.MethodCallReplaceSpec,
-        policy: FilterPolicyWithReason,
     )
 }
 
@@ -122,6 +121,25 @@
         mutableListOf<TextFilePolicyMethodReplaceFilter.MethodCallReplaceSpec>()
 
     /**
+     * Fields for a filter chain used for "partial allowlisting", which are used by
+     * [AnnotationBasedFilter].
+     */
+    private val annotationAllowedInMemoryFilter: InMemoryOutputFilter
+    val annotationAllowedMembersFilter: OutputFilter
+
+    private val annotationAllowedPolicy = FilterPolicy.AnnotationAllowed.withReason(FILTER_REASON)
+
+    init {
+        // Create a filter that checks "partial allowlisting".
+        var aaf: OutputFilter = ConstantFilter(FilterPolicy.Remove, "default disallowed")
+
+        aaf = InMemoryOutputFilter(classes, aaf)
+        annotationAllowedInMemoryFilter = aaf
+
+        annotationAllowedMembersFilter = annotationAllowedInMemoryFilter
+    }
+
+    /**
      * Parse a given policy file. This method can be called multiple times to read from
      * multiple files. To get the resulting filter, use [createOutputFilter]
      */
@@ -153,6 +171,11 @@
 
     private inner class Processor : PolicyFileProcessor {
         override fun onPackage(name: String, policy: FilterPolicyWithReason) {
+            if (policy.policy == FilterPolicy.AnnotationAllowed) {
+                throw ParseException("${FilterPolicy.AnnotationAllowed.policyStringOrPrefix}" +
+                        " on `package` isn't supported yet.")
+                return
+            }
             packageFilter.addPolicy(name, policy)
         }
 
@@ -169,6 +192,11 @@
         }
 
         override fun onSimpleClassPolicy(className: String, policy: FilterPolicyWithReason) {
+            if (policy.policy == FilterPolicy.AnnotationAllowed) {
+                annotationAllowedInMemoryFilter.setPolicyForClass(
+                    className, annotationAllowedPolicy)
+                return
+            }
             imf.setPolicyForClass(className, policy)
         }
 
@@ -224,6 +252,11 @@
             methodDesc: String,
             policy: FilterPolicyWithReason,
         ) {
+            if (policy.policy == FilterPolicy.AnnotationAllowed) {
+                annotationAllowedInMemoryFilter.setPolicyForMethod(
+                    className, methodName, methodDesc, annotationAllowedPolicy)
+                return
+            }
             imf.setPolicyForMethod(className, methodName, methodDesc, policy)
         }
 
@@ -252,9 +285,10 @@
             methodName: String,
             methodDesc: String,
             replaceSpec: TextFilePolicyMethodReplaceFilter.MethodCallReplaceSpec,
-            policy: FilterPolicyWithReason,
         ) {
-            imf.setPolicyForMethod(className, methodName, methodDesc, policy)
+            // Keep the source method, because the target method may call it.
+            imf.setPolicyForMethod(className, methodName, methodDesc,
+                FilterPolicy.Keep.withReason(FILTER_REASON))
             methodReplaceSpec.add(replaceSpec)
         }
     }
@@ -375,14 +409,15 @@
 
     private fun parsePolicy(s: String): FilterPolicy {
         return when (s.lowercase()) {
-            "k", "keep" -> FilterPolicy.Keep
-            "t", "throw" -> FilterPolicy.Throw
-            "r", "remove" -> FilterPolicy.Remove
-            "kc", "keepclass" -> FilterPolicy.KeepClass
-            "i", "ignore" -> FilterPolicy.Ignore
-            "rdr", "redirect" -> FilterPolicy.Redirect
+            "k", FilterPolicy.Keep.policyStringOrPrefix -> FilterPolicy.Keep
+            "t", FilterPolicy.Throw.policyStringOrPrefix -> FilterPolicy.Throw
+            "r", FilterPolicy.Remove.policyStringOrPrefix -> FilterPolicy.Remove
+            "kc", FilterPolicy.KeepClass.policyStringOrPrefix -> FilterPolicy.KeepClass
+            "i", FilterPolicy.Ignore.policyStringOrPrefix -> FilterPolicy.Ignore
+            "rdr", FilterPolicy.Redirect.policyStringOrPrefix -> FilterPolicy.Redirect
+            FilterPolicy.AnnotationAllowed.policyStringOrPrefix -> FilterPolicy.AnnotationAllowed
             else -> {
-                if (s.startsWith("@")) {
+                if (s.startsWith(FilterPolicy.Substitute.policyStringOrPrefix)) {
                     FilterPolicy.Substitute
                 } else {
                     throw ParseException("Invalid policy \"$s\"")
@@ -607,7 +642,6 @@
                     methodName,
                     signature,
                     spec,
-                    policyWithReason,
                 )
             } else {
                 // It's an in-class replace.
diff --git a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/TextFilePolicyRemapperFilter.kt b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/TextFilePolicyRemapperFilter.kt
index a78c655..bc90d12 100644
--- a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/TextFilePolicyRemapperFilter.kt
+++ b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/filters/TextFilePolicyRemapperFilter.kt
@@ -15,7 +15,6 @@
  */
 package com.android.hoststubgen.filters
 
-import com.android.hoststubgen.log
 import java.util.regex.Pattern
 
 /**
@@ -34,17 +33,12 @@
         val typeInternalNamePrefix: String,
     )
 
-    private val cache = mutableMapOf<String, String>()
-
     override fun remapType(className: String): String? {
-        var mapped: String = className
         typeRenameSpecs.forEach {
             if (it.typeInternalNamePattern.matcher(className).matches()) {
-                mapped = it.typeInternalNamePrefix + className
-                log.d("Renaming type $className to $mapped")
+                return it.typeInternalNamePrefix + className
             }
         }
-        cache[className] = mapped
-        return mapped
+        return null
     }
 }
diff --git a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/utils/ClassPredicate.kt b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/utils/ClassPredicate.kt
index 810dd71..4c53bc8 100644
--- a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/utils/ClassPredicate.kt
+++ b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/utils/ClassPredicate.kt
@@ -22,7 +22,9 @@
 import java.io.File
 
 /**
- * General purpose filter for class names.
+ * General purpose class "selector", which returns a boolean for a given class name.
+ *
+ * (It's used to check if a class is in the "annotations allowed classes" allowlist.)
  */
 class ClassPredicate private constructor(
     private val defaultResult: Boolean,
diff --git a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/visitors/ImplGeneratingAdapter.kt b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/visitors/ImplGeneratingAdapter.kt
index 70e7d46..b8a3576 100644
--- a/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/visitors/ImplGeneratingAdapter.kt
+++ b/ravenwood/tools/hoststubgen/src/com/android/hoststubgen/visitors/ImplGeneratingAdapter.kt
@@ -17,7 +17,10 @@
 
 import com.android.hoststubgen.asm.CLASS_INITIALIZER_DESC
 import com.android.hoststubgen.asm.CLASS_INITIALIZER_NAME
+import com.android.hoststubgen.asm.CTOR_NAME
 import com.android.hoststubgen.asm.ClassNodes
+import com.android.hoststubgen.asm.adjustStackForConstructorRedirection
+import com.android.hoststubgen.asm.changeMethodDescriptorReturnType
 import com.android.hoststubgen.asm.prependArgTypeToMethodDescriptor
 import com.android.hoststubgen.asm.writeByteCodeToPushArguments
 import com.android.hoststubgen.asm.writeByteCodeToReturn
@@ -33,6 +36,7 @@
 import org.objectweb.asm.MethodVisitor
 import org.objectweb.asm.Opcodes
 import org.objectweb.asm.Opcodes.INVOKEINTERFACE
+import org.objectweb.asm.Opcodes.INVOKESPECIAL
 import org.objectweb.asm.Opcodes.INVOKESTATIC
 import org.objectweb.asm.Opcodes.INVOKEVIRTUAL
 import org.objectweb.asm.Type
@@ -376,53 +380,90 @@
         val callerMethodName: String,
         next: MethodVisitor?,
     ) : MethodVisitor(OPCODE_VERSION, next) {
-        override fun visitMethodInsn(
+
+        private fun doReplace(
             opcode: Int,
-            owner: String?,
-            name: String?,
-            descriptor: String?,
-            isInterface: Boolean,
-        ) {
+            owner: String,
+            name: String,
+            descriptor: String,
+        ): Boolean {
             when (opcode) {
                 INVOKESTATIC, INVOKEVIRTUAL, INVOKEINTERFACE -> {}
-                else -> {
-                    // Don't touch other opcodes.
-                    super.visitMethodInsn(opcode, owner, name, descriptor, isInterface)
-                    return
-                }
+                // We only support INVOKESPECIAL when replacing constructors.
+                INVOKESPECIAL -> if (name != CTOR_NAME) return false
+                // Don't touch other opcodes.
+                else -> return false
             }
+
             val to = filter.getMethodCallReplaceTo(
-                currentClassName, callerMethodName, owner!!, name!!, descriptor!!
+                currentClassName, callerMethodName, owner, name, descriptor
             )
 
             if (to == null
                 // Don't replace if the target is the callsite.
                 || (to.className == currentClassName && to.methodName == callerMethodName)
             ) {
-                super.visitMethodInsn(opcode, owner, name, descriptor, isInterface)
-                return
+                return false
             }
 
-            // Replace the method call with a (static) call to the target method.
-            // If it's a non-static call, the target method's first argument will receive "this".
-            // (Because of that, we don't need to manipulate the stack. Just replace the
-            // method call.)
+            if (opcode != INVOKESPECIAL) {
+                // It's either a static method call or virtual method call.
+                // Either way, we don't manipulate the stack and send the original arguments
+                // as is to the target method.
+                //
+                // If the call is a virtual call (INVOKEVIRTUAL or INVOKEINTERFACE), then
+                // the first argument in the stack is the "this" object, so the target
+                // method must have an extra argument as the first argument to receive it.
+                // We update the method descriptor with prependArgTypeToMethodDescriptor()
+                // to absorb this difference.
 
-            val toDesc = if (opcode == INVOKESTATIC) {
-                // Static call to static call, no need to change the desc.
-                descriptor
+                val toDesc = if (opcode == INVOKESTATIC) {
+                    descriptor
+                } else {
+                    prependArgTypeToMethodDescriptor(descriptor, owner)
+                }
+
+                mv.visitMethodInsn(
+                    INVOKESTATIC,
+                    to.className,
+                    to.methodName,
+                    toDesc,
+                    false
+                )
             } else {
-                // Need to prepend the "this" type to the descriptor.
-                prependArgTypeToMethodDescriptor(descriptor, owner)
+                // Because an object initializer does not return a value, the newly created
+                // but uninitialized object will be dup-ed at the bottom of the stack.
+                // We first call the target method to consume the constructor arguments at the top.
+
+                val toDesc = changeMethodDescriptorReturnType(descriptor, owner)
+
+                // Before stack: { uninitialized, uninitialized, args... }
+                mv.visitMethodInsn(
+                    INVOKESTATIC,
+                    to.className,
+                    to.methodName,
+                    toDesc,
+                    false
+                )
+                // After stack: { uninitialized, uninitialized, obj }
+
+                // Next we pop the 2 uninitialized instances out of the stack.
+                adjustStackForConstructorRedirection(mv)
             }
 
-            mv.visitMethodInsn(
-                INVOKESTATIC,
-                to.className,
-                to.methodName,
-                toDesc,
-                false
-            )
+            return true
+        }
+
+        override fun visitMethodInsn(
+            opcode: Int,
+            owner: String,
+            name: String,
+            descriptor: String,
+            isInterface: Boolean,
+        ) {
+            if (!doReplace(opcode, owner, name, descriptor)) {
+                super.visitMethodInsn(opcode, owner, name, descriptor, isInterface)
+            }
         }
     }
 }
diff --git a/ravenwood/tools/hoststubgen/test-tiny-framework/annotation-allowed-classes-tiny-framework.txt b/ravenwood/tools/hoststubgen/test-tiny-framework/annotation-allowed-classes-tiny-framework.txt
index de4cb0c..8e41a87 100644
--- a/ravenwood/tools/hoststubgen/test-tiny-framework/annotation-allowed-classes-tiny-framework.txt
+++ b/ravenwood/tools/hoststubgen/test-tiny-framework/annotation-allowed-classes-tiny-framework.txt
@@ -1,29 +1,8 @@
-# Only classes listed here can use the hoststubgen annotations.
-
-# For each class, we check each item in this file, and when a match is found, we
-# either allow it if the line doesn't have a !, or disallow if the line has a !.
-# All the lines after the matching line will be ignored.
-
-
-# To allow a specific class to use annotations:
-# com.android.hoststubgen.test.tinyframework.TinyFrameworkAnnotations
-
-# To disallow a specific class to use annotations:
-# !com.android.hoststubgen.test.tinyframework.TinyFrameworkAnnotations
-
-# To allow a specific package to use annotations:
-# com.android.hoststubgen.test.*
-
-# To disallow a specific package to use annotations:
-# !com.android.hoststubgen.test.*
-
+# Policy file for "tiny-framework" used by hoststubgen's own tests.
 
 com.android.hoststubgen.test.tinyframework.*
 com.supported.*
 com.unsupported.*
 
-# Use this to allow all packages
-# *
-
-# Use this to allow all packages
-# !*
\ No newline at end of file
+# Disallow all other classes
+!*
\ No newline at end of file
diff --git a/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output.RELEASE_TARGET_JAVA_21/01-hoststubgen-test-tiny-framework-orig-dump.txt b/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output.RELEASE_TARGET_JAVA_21/01-hoststubgen-test-tiny-framework-orig-dump.txt
index b009b09..2b942a9 100644
--- a/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output.RELEASE_TARGET_JAVA_21/01-hoststubgen-test-tiny-framework-orig-dump.txt
+++ b/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output.RELEASE_TARGET_JAVA_21/01-hoststubgen-test-tiny-framework-orig-dump.txt
@@ -67,6 +67,28 @@
     java.lang.annotation.Retention(
       value=Ljava/lang/annotation/RetentionPolicy;.CLASS
     )
+## Class: android/hosttest/annotation/HostSideTestPartiallyAllowlisted.class
+  Compiled from "HostSideTestPartiallyAllowlisted.java"
+public interface android.hosttest.annotation.HostSideTestPartiallyAllowlisted extends java.lang.annotation.Annotation
+  minor version: 0
+  major version: 65
+  flags: (0x2601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT, ACC_ANNOTATION
+  this_class: #x                          // android/hosttest/annotation/HostSideTestPartiallyAllowlisted
+  super_class: #x                         // java/lang/Object
+  interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
+}
+SourceFile: "HostSideTestPartiallyAllowlisted.java"
+RuntimeVisibleAnnotations:
+  x: #x(#x=[e#x.#x])
+    java.lang.annotation.Target(
+      value=[Ljava/lang/annotation/ElementType;.TYPE]
+    )
+  x: #x(#x=e#x.#x)
+    java.lang.annotation.Retention(
+      value=Ljava/lang/annotation/RetentionPolicy;.CLASS
+    )
 ## Class: android/hosttest/annotation/HostSideTestRedirect.class
   Compiled from "HostSideTestRedirect.java"
 public interface android.hosttest.annotation.HostSideTestRedirect extends java.lang.annotation.Annotation
@@ -1861,6 +1883,42 @@
 InnerClasses:
   public static #x= #x of #x;          // Nested=class com/android/hoststubgen/test/tinyframework/TinyFrameworkLambdas$Nested of class com/android/hoststubgen/test/tinyframework/TinyFrameworkLambdas
   public static final #x= #x of #x;    // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester.class
+  Compiled from "TinyFrameworkMethodCallReplace.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester
+  minor version: 0
+  major version: 65
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 1, methods: 1, attributes: 3
+Constant pool:
+{
+  public int i;
+    descriptor: I
+    flags: (0x0001) ACC_PUBLIC
+
+  public com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester(int);
+    descriptor: (I)V
+    flags: (0x0001) ACC_PUBLIC
+    Code:
+      stack=2, locals=2, args_size=2
+         x: aload_0
+         x: invokespecial #x                  // Method java/lang/Object."<init>":()V
+         x: aload_0
+         x: iload_1
+         x: putfield      #x                  // Field i:I
+         x: return
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      10     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+            0      10     1     i   I
+}
+SourceFile: "TinyFrameworkMethodCallReplace.java"
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
+InnerClasses:
+  public static #x= #x of #x;           // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo.class
   Compiled from "TinyFrameworkMethodCallReplace.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ReplaceTo
@@ -1869,7 +1927,7 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                         // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 3, attributes: 3
+  interfaces: 0, fields: 0, methods: 4, attributes: 3
 Constant pool:
 {
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ReplaceTo();
@@ -1915,10 +1973,28 @@
         Start  Length  Slot  Name   Signature
             0       4     0     a   I
             0       4     1     b   I
+
+  public static com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester newConstructorTester(int);
+    descriptor: (I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=4, locals=1, args_size=1
+         x: new           #x                 // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+         x: dup
+         x: iload_0
+         x: iconst_1
+         x: iadd
+         x: invokespecial #x                 // Method com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester."<init>":(I)V
+        x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      11     0     i   I
 }
 SourceFile: "TinyFrameworkMethodCallReplace.java"
 NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
 InnerClasses:
+  public static #x= #x of #x;          // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   public static #x= #x of #x;          // ReplaceTo=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace.class
   Compiled from "TinyFrameworkMethodCallReplace.java"
@@ -1928,7 +2004,7 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                         // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 5, attributes: 5
+  interfaces: 0, fields: 0, methods: 6, attributes: 5
 Constant pool:
 {
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace();
@@ -1986,6 +2062,21 @@
          x: ireturn
       LineNumberTable:
 
+  public static com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester constructorReplaceTester(int);
+    descriptor: (I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=3, locals=1, args_size=1
+         x: new           #x                 // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+         x: dup
+         x: iload_0
+         x: invokespecial #x                 // Method com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester."<init>":(I)V
+         x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       9     0     i   I
+
   private static int originalAdd(int, int);
     descriptor: (II)I
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -2024,6 +2115,7 @@
     android.hosttest.annotation.HostSideTestWholeClassKeep
 NestMembers:
   com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo
+  com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
 BootstrapMethods:
   x: #x REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
     Method arguments:
@@ -2031,8 +2123,9 @@
       #x REF_invokeStatic com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace.lambda$nonStaticMethodCallReplaceTester$0:(Ljava/util/concurrent/atomic/AtomicBoolean;)V
       #x ()V
 InnerClasses:
+  public static #x= #x of #x;          // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   public static #x= #x of #x;          // ReplaceTo=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
-  public static final #x= #x of #x;    // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles
+  public static final #x= #x of #x;   // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkNative.class
   Compiled from "TinyFrameworkNative.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkNative
@@ -2946,6 +3039,228 @@
 RuntimeInvisibleAnnotations:
   x: #x()
     android.hosttest.annotation.HostSideTestWholeClassKeep
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$NoAnnotations.class
+  Compiled from "TinyFrameworkPartiallyAllowlisted.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$NoAnnotations
+  minor version: 0
+  major version: 65
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$NoAnnotations
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 0, methods: 1, attributes: 3
+Constant pool:
+{
+  public com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$NoAnnotations();
+    descriptor: ()V
+    flags: (0x0001) ACC_PUBLIC
+    Code:
+      stack=1, locals=1, args_size=1
+         x: aload_0
+         x: invokespecial #x                  // Method java/lang/Object."<init>":()V
+         x: return
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       5     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$NoAnnotations;
+}
+SourceFile: "TinyFrameworkPartiallyAllowlisted.java"
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+InnerClasses:
+  public static #x= #x of #x;           // NoAnnotations=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$NoAnnotations of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad.class
+  Compiled from "TinyFrameworkPartiallyAllowlisted.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad
+  minor version: 0
+  major version: 65
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 0, methods: 1, attributes: 4
+Constant pool:
+{
+  public com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad();
+    descriptor: ()V
+    flags: (0x0001) ACC_PUBLIC
+    Code:
+      stack=1, locals=1, args_size=1
+         x: aload_0
+         x: invokespecial #x                  // Method java/lang/Object."<init>":()V
+         x: return
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       5     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad;
+}
+SourceFile: "TinyFrameworkPartiallyAllowlisted.java"
+RuntimeInvisibleAnnotations:
+  x: #x()
+    android.hosttest.annotation.HostSideTestPartiallyAllowlisted
+  x: #x()
+    android.hosttest.annotation.HostSideTestWholeClassKeep
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+InnerClasses:
+  public static #x= #x of #x;           // PartialWithWholeClass_bad=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted.class
+  Compiled from "TinyFrameworkPartiallyAllowlisted.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+  minor version: 0
+  major version: 65
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 0, methods: 3, attributes: 4
+Constant pool:
+{
+  public com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted();
+    descriptor: ()V
+    flags: (0x0001) ACC_PUBLIC
+    Code:
+      stack=1, locals=1, args_size=1
+         x: aload_0
+         x: invokespecial #x                  // Method java/lang/Object."<init>":()V
+         x: return
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       5     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted;
+
+  public static int foo1(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=2, locals=1, args_size=1
+         x: iload_0
+         x: iconst_1
+         x: iadd
+         x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       4     0 value   I
+
+  public static int foo2(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=2, locals=1, args_size=1
+         x: iload_0
+         x: iconst_2
+         x: iadd
+         x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       4     0 value   I
+    RuntimeInvisibleAnnotations:
+      x: #x()
+        android.hosttest.annotation.HostSideTestKeep
+}
+SourceFile: "TinyFrameworkPartiallyAllowlisted.java"
+RuntimeInvisibleAnnotations:
+  x: #x()
+    android.hosttest.annotation.HostSideTestPartiallyAllowlisted
+  x: #x()
+    android.hosttest.annotation.HostSideTestKeep
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+InnerClasses:
+  public static #x= #x of #x;           // PartiallyAllowlisted=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad.class
+  Compiled from "TinyFrameworkPartiallyAllowlisted.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad
+  minor version: 0
+  major version: 65
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 0, methods: 3, attributes: 4
+Constant pool:
+{
+  public com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad();
+    descriptor: ()V
+    flags: (0x0001) ACC_PUBLIC
+    Code:
+      stack=1, locals=1, args_size=1
+         x: aload_0
+         x: invokespecial #x                  // Method java/lang/Object."<init>":()V
+         x: return
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       5     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad;
+
+  public static int foo1(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=2, locals=1, args_size=1
+         x: iload_0
+         x: iconst_1
+         x: iadd
+         x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       4     0 value   I
+
+  public static int foo2(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=2, locals=1, args_size=1
+         x: iload_0
+         x: iconst_2
+         x: iadd
+         x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       4     0 value   I
+    RuntimeInvisibleAnnotations:
+      x: #x()
+        android.hosttest.annotation.HostSideTestKeep
+}
+SourceFile: "TinyFrameworkPartiallyAllowlisted.java"
+RuntimeInvisibleAnnotations:
+  x: #x()
+    android.hosttest.annotation.HostSideTestKeep
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+InnerClasses:
+  public static #x= #x of #x;           // PartiallyAllowlistedWithoutAnnot_bad=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted.class
+  Compiled from "TinyFrameworkPartiallyAllowlisted.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted
+  minor version: 0
+  major version: 65
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 0, methods: 1, attributes: 3
+Constant pool:
+{
+  public com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted();
+    descriptor: ()V
+    flags: (0x0001) ACC_PUBLIC
+    Code:
+      stack=1, locals=1, args_size=1
+         x: aload_0
+         x: invokespecial #x                  // Method java/lang/Object."<init>":()V
+         x: return
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       5     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted;
+}
+SourceFile: "TinyFrameworkPartiallyAllowlisted.java"
+NestMembers:
+  com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$NoAnnotations
+  com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad
+  com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad
+  com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+InnerClasses:
+  public static #x= #x of #x;           // NoAnnotations=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$NoAnnotations of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+  public static #x= #x of #x;           // PartiallyAllowlistedWithoutAnnot_bad=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+  public static #x= #x of #x;           // PartialWithWholeClass_bad=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+  public static #x= #x of #x;           // PartiallyAllowlisted=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller.class
   Compiled from "TinyFrameworkRenamedClassCaller.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkRenamedClassCaller
@@ -2954,7 +3269,7 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                         // com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 2, attributes: 2
+  interfaces: 0, fields: 0, methods: 3, attributes: 2
 Constant pool:
 {
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkRenamedClassCaller();
@@ -2985,6 +3300,22 @@
       LocalVariableTable:
         Start  Length  Slot  Name   Signature
             0      12     0 value   I
+
+  public static int bar(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=2, locals=1, args_size=1
+         x: iload_0
+         x: invokestatic  #x                 // Method com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed.getArray:(I)[Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+         x: iconst_0
+         x: aaload
+         x: invokevirtual #x                 // Method com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed.getValue:()I
+         x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      10     0 value   I
 }
 SourceFile: "TinyFrameworkRenamedClassCaller.java"
 RuntimeInvisibleAnnotations:
@@ -2998,7 +3329,7 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 1, methods: 2, attributes: 2
+  interfaces: 0, fields: 1, methods: 3, attributes: 2
 Constant pool:
 {
   private final int mValue;
@@ -3034,6 +3365,26 @@
       LocalVariableTable:
         Start  Length  Slot  Name   Signature
             0       5     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+
+  public static com.android.hoststubgen.test.tinyframework.TinyFrameworkToBeRenamed[] getArray(int);
+    descriptor: (I)[Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=6, locals=1, args_size=1
+         x: iconst_1
+         x: anewarray     #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+         x: dup
+         x: iconst_0
+         x: new           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+         x: dup
+        x: iload_0
+        x: invokespecial #x                 // Method "<init>":(I)V
+        x: aastore
+        x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      16     0 value   I
 }
 SourceFile: "TinyFrameworkToBeRenamed.java"
 RuntimeInvisibleAnnotations:
diff --git a/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output.RELEASE_TARGET_JAVA_21/03-hoststubgen-test-tiny-framework-host-dump.txt b/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output.RELEASE_TARGET_JAVA_21/03-hoststubgen-test-tiny-framework-host-dump.txt
index 84a8373..d493ad1 100644
--- a/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output.RELEASE_TARGET_JAVA_21/03-hoststubgen-test-tiny-framework-host-dump.txt
+++ b/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output.RELEASE_TARGET_JAVA_21/03-hoststubgen-test-tiny-framework-host-dump.txt
@@ -7,6 +7,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestClassLoadHook
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   public abstract java.lang.String value();
     descriptor: ()Ljava/lang/String;
     flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
@@ -35,6 +37,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestKeep
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "HostSideTestKeep.java"
 RuntimeVisibleAnnotations:
@@ -48,6 +52,30 @@
     java.lang.annotation.Retention(
       value=Ljava/lang/annotation/RetentionPolicy;.CLASS
     )
+## Class: android/hosttest/annotation/HostSideTestPartiallyAllowlisted.class
+  Compiled from "HostSideTestPartiallyAllowlisted.java"
+public interface android.hosttest.annotation.HostSideTestPartiallyAllowlisted extends java.lang.annotation.Annotation
+  minor version: 0
+  major version: 65
+  flags: (0x2601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT, ACC_ANNOTATION
+  this_class: #x                          // android/hosttest/annotation/HostSideTestPartiallyAllowlisted
+  super_class: #x                         // java/lang/Object
+  interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
+}
+SourceFile: "HostSideTestPartiallyAllowlisted.java"
+RuntimeVisibleAnnotations:
+  x: #x()
+    com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+  x: #x(#x=[e#x.#x])
+    java.lang.annotation.Target(
+      value=[Ljava/lang/annotation/ElementType;.TYPE]
+    )
+  x: #x(#x=e#x.#x)
+    java.lang.annotation.Retention(
+      value=Ljava/lang/annotation/RetentionPolicy;.CLASS
+    )
 ## Class: android/hosttest/annotation/HostSideTestRedirect.class
   Compiled from "HostSideTestRedirect.java"
 public interface android.hosttest.annotation.HostSideTestRedirect extends java.lang.annotation.Annotation
@@ -57,6 +85,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestRedirect
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "HostSideTestRedirect.java"
 RuntimeVisibleAnnotations:
@@ -79,6 +109,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestRedirectionClass
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   public abstract java.lang.String value();
     descriptor: ()Ljava/lang/String;
     flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
@@ -107,6 +139,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestRemove
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "HostSideTestRemove.java"
 RuntimeVisibleAnnotations:
@@ -129,6 +163,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestStaticInitializerKeep
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "HostSideTestStaticInitializerKeep.java"
 RuntimeVisibleAnnotations:
@@ -151,6 +187,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestSubstitute
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   public abstract java.lang.String suffix();
     descriptor: ()Ljava/lang/String;
     flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
@@ -179,6 +217,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestThrow
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "HostSideTestThrow.java"
 RuntimeVisibleAnnotations:
@@ -201,6 +241,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestWholeClassKeep
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "HostSideTestWholeClassKeep.java"
 RuntimeVisibleAnnotations:
@@ -223,6 +265,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/IPretendingAidl$Stub$Proxy
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 2, attributes: 4
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.IPretendingAidl$Stub$Proxy();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -273,6 +317,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/IPretendingAidl$Stub
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 2, attributes: 4
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.IPretendingAidl$Stub();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -323,6 +369,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/IPretendingAidl
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 4
+Constant pool:
+{
 }
 InnerClasses:
   public static #x= #x of #x;            // Stub=class com/android/hoststubgen/test/tinyframework/IPretendingAidl$Stub of class com/android/hoststubgen/test/tinyframework/IPretendingAidl
@@ -343,6 +391,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/R$Nested
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 2, attributes: 4
+Constant pool:
+{
   public static int[] ARRAY;
     descriptor: [I
     flags: (0x0009) ACC_PUBLIC, ACC_STATIC
@@ -400,6 +450,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/R
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 1, attributes: 4
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.R();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -433,6 +485,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkAnnotations
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 7, attributes: 3
+Constant pool:
+{
   public int keep;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -591,6 +645,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkClassLoadHook
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 3, attributes: 3
+Constant pool:
+{
   public static final java.util.Set<java.lang.Class<?>> sLoadedClasses;
     descriptor: Ljava/util/Set;
     flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
@@ -668,6 +724,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkClassWideAnnotations
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 4, attributes: 3
+Constant pool:
+{
   public int keep;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -768,6 +826,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkClassWithInitializerDefault
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 2, methods: 0, attributes: 3
+Constant pool:
+{
   public static boolean sInitialized;
     descriptor: Z
     flags: (0x0009) ACC_PUBLIC, ACC_STATIC
@@ -805,6 +865,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkClassWithInitializerStub
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 2, methods: 1, attributes: 3
+Constant pool:
+{
   public static boolean sInitialized;
     descriptor: Z
     flags: (0x0009) ACC_PUBLIC, ACC_STATIC
@@ -867,6 +929,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkEnumComplex
   super_class: #x                         // java/lang/Enum
   interfaces: 0, fields: 6, methods: 7, attributes: 4
+Constant pool:
+{
   public static final com.android.hoststubgen.test.tinyframework.TinyFrameworkEnumComplex RED;
     descriptor: Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkEnumComplex;
     flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ENUM
@@ -1112,6 +1176,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkEnumSimple
   super_class: #x                         // java/lang/Enum
   interfaces: 0, fields: 3, methods: 5, attributes: 4
+Constant pool:
+{
   public static final com.android.hoststubgen.test.tinyframework.TinyFrameworkEnumSimple CAT;
     descriptor: Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkEnumSimple;
     flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ENUM
@@ -1260,6 +1326,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkExceptionTester
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 2, attributes: 3
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkExceptionTester();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -1323,6 +1391,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkForTextPolicy
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 15, attributes: 2
+Constant pool:
+{
   public int stub;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -1562,6 +1632,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkLambdas$Nested
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 2, methods: 8, attributes: 6
+Constant pool:
+{
   public final java.util.function.Supplier<java.lang.Integer> mSupplier;
     descriptor: Ljava/util/function/Supplier;
     flags: (0x0011) ACC_PUBLIC, ACC_FINAL
@@ -1749,6 +1821,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkLambdas
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 2, methods: 8, attributes: 6
+Constant pool:
+{
   public final java.util.function.Supplier<java.lang.Integer> mSupplier;
     descriptor: Ljava/util/function/Supplier;
     flags: (0x0011) ACC_PUBLIC, ACC_FINAL
@@ -1928,6 +2002,51 @@
       #x ()Ljava/lang/Integer;
 NestMembers:
   com/android/hoststubgen/test/tinyframework/TinyFrameworkLambdas$Nested
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester.class
+  Compiled from "TinyFrameworkMethodCallReplace.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester
+  minor version: 0
+  major version: 65
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 1, methods: 1, attributes: 4
+Constant pool:
+{
+  public int i;
+    descriptor: I
+    flags: (0x0001) ACC_PUBLIC
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  public com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester(int);
+    descriptor: (I)V
+    flags: (0x0001) ACC_PUBLIC
+    Code:
+      stack=2, locals=2, args_size=2
+         x: aload_0
+         x: invokespecial #x                 // Method java/lang/Object."<init>":()V
+         x: aload_0
+         x: iload_1
+         x: putfield      #x                 // Field i:I
+         x: return
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      10     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+            0      10     1     i   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+}
+InnerClasses:
+  public static #x= #x of #x;             // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
+SourceFile: "TinyFrameworkMethodCallReplace.java"
+RuntimeVisibleAnnotations:
+  x: #x()
+    com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo.class
   Compiled from "TinyFrameworkMethodCallReplace.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ReplaceTo
@@ -1936,7 +2055,9 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 3, attributes: 4
+  interfaces: 0, fields: 0, methods: 4, attributes: 4
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ReplaceTo();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -1989,9 +2110,30 @@
     RuntimeVisibleAnnotations:
       x: #x()
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  public static com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester newConstructorTester(int);
+    descriptor: (I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=4, locals=1, args_size=1
+         x: new           #x                 // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+         x: dup
+         x: iload_0
+         x: iconst_1
+         x: iadd
+         x: invokespecial #x                 // Method com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester."<init>":(I)V
+        x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      11     0     i   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
 }
 InnerClasses:
-  public static #x= #x of #x;             // ReplaceTo=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
+  public static #x= #x of #x;           // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
+  public static #x= #x of #x;            // ReplaceTo=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
 SourceFile: "TinyFrameworkMethodCallReplace.java"
 RuntimeVisibleAnnotations:
   x: #x()
@@ -2005,7 +2147,9 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 4, attributes: 6
+  interfaces: 0, fields: 0, methods: 6, attributes: 6
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -2070,6 +2214,48 @@
       x: #x()
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
 
+  public static com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester constructorReplaceTester(int);
+    descriptor: (I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=3, locals=1, args_size=1
+         x: new           #x                 // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+         x: dup
+         x: iload_0
+         x: invokestatic  #x                 // Method com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo.newConstructorTester:(I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+         x: swap
+         x: pop
+        x: swap
+        x: pop
+        x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      13     0     i   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  private static int originalAdd(int, int);
+    descriptor: (II)I
+    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
+    Code:
+      stack=2, locals=2, args_size=2
+         x: iload_0
+         x: iload_1
+         x: iadd
+         x: iconst_1
+         x: isub
+         x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       6     0     a   I
+            0       6     1     b   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
   private static void lambda$nonStaticMethodCallReplaceTester$0(java.util.concurrent.atomic.AtomicBoolean);
     descriptor: (Ljava/util/concurrent/atomic/AtomicBoolean;)V
     flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
@@ -2089,6 +2275,7 @@
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
 }
 InnerClasses:
+  public static #x= #x of #x;           // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   public static #x= #x of #x;            // ReplaceTo=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   public static final #x= #x of #x;    // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles
 SourceFile: "TinyFrameworkMethodCallReplace.java"
@@ -2106,6 +2293,7 @@
       #x ()V
 NestMembers:
   com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo
+  com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkNative.class
   Compiled from "TinyFrameworkNative.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkNative
@@ -2115,6 +2303,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNative
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 14, attributes: 3
+Constant pool:
+{
   int value;
     descriptor: I
     flags: (0x0000)
@@ -2373,6 +2563,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNative_host
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 7, attributes: 3
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkNative_host();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -2503,6 +2695,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$1
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 3, attributes: 6
+Constant pool:
+{
   com.android.hoststubgen.test.tinyframework.TinyFrameworkNestedClasses$1(com.android.hoststubgen.test.tinyframework.TinyFrameworkNestedClasses);
     descriptor: (Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses;)V
     flags: (0x0000)
@@ -2573,6 +2767,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$2
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 3, attributes: 6
+Constant pool:
+{
   com.android.hoststubgen.test.tinyframework.TinyFrameworkNestedClasses$2();
     descriptor: ()V
     flags: (0x0000)
@@ -2639,6 +2835,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$3
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 3, attributes: 6
+Constant pool:
+{
   com.android.hoststubgen.test.tinyframework.TinyFrameworkNestedClasses$3(com.android.hoststubgen.test.tinyframework.TinyFrameworkNestedClasses);
     descriptor: (Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses;)V
     flags: (0x0000)
@@ -2709,6 +2907,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$4
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 3, attributes: 6
+Constant pool:
+{
   com.android.hoststubgen.test.tinyframework.TinyFrameworkNestedClasses$4();
     descriptor: ()V
     flags: (0x0000)
@@ -2775,6 +2975,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$BaseClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 1, attributes: 4
+Constant pool:
+{
   public int value;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -2818,6 +3020,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$InnerClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 1, attributes: 4
+Constant pool:
+{
   public int value;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -2864,6 +3068,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$StaticNestedClass$1
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 3, attributes: 6
+Constant pool:
+{
   com.android.hoststubgen.test.tinyframework.TinyFrameworkNestedClasses$StaticNestedClass$1();
     descriptor: ()V
     flags: (0x0000)
@@ -2931,6 +3137,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$StaticNestedClass$Double$NestedClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 1, attributes: 4
+Constant pool:
+{
   public int value;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -2974,6 +3182,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$StaticNestedClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 2, attributes: 4
+Constant pool:
+{
   public int value;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -3033,6 +3243,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$SubClass
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$BaseClass
   interfaces: 0, fields: 0, methods: 1, attributes: 4
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkNestedClasses$SubClass(int);
     descriptor: (I)V
     flags: (0x0001) ACC_PUBLIC
@@ -3068,6 +3280,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 2, methods: 4, attributes: 5
+Constant pool:
+{
   public final java.util.function.Supplier<java.lang.Integer> mSupplier;
     descriptor: Ljava/util/function/Supplier;
     flags: (0x0011) ACC_PUBLIC, ACC_FINAL
@@ -3193,6 +3407,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkPackageRedirect
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 2, attributes: 3
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkPackageRedirect();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -3235,6 +3451,49 @@
 RuntimeInvisibleAnnotations:
   x: #x()
     android.hosttest.annotation.HostSideTestWholeClassKeep
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted.class
+  Compiled from "TinyFrameworkPartiallyAllowlisted.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+  minor version: 0
+  major version: 65
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 0, methods: 1, attributes: 5
+Constant pool:
+{
+  public static int foo2(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=2, locals=1, args_size=1
+         x: iload_0
+         x: iconst_2
+         x: iadd
+         x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       4     0 value   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+    RuntimeInvisibleAnnotations:
+      x: #x()
+        android.hosttest.annotation.HostSideTestKeep
+}
+InnerClasses:
+  public static #x= #x of #x;            // PartiallyAllowlisted=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+SourceFile: "TinyFrameworkPartiallyAllowlisted.java"
+RuntimeVisibleAnnotations:
+  x: #x()
+    com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+RuntimeInvisibleAnnotations:
+  x: #x()
+    android.hosttest.annotation.HostSideTestPartiallyAllowlisted
+  x: #x()
+    android.hosttest.annotation.HostSideTestKeep
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller.class
   Compiled from "TinyFrameworkRenamedClassCaller.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkRenamedClassCaller
@@ -3243,7 +3502,9 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 2, attributes: 3
+  interfaces: 0, fields: 0, methods: 3, attributes: 3
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkRenamedClassCaller();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -3278,6 +3539,25 @@
     RuntimeVisibleAnnotations:
       x: #x()
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  public static int bar(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=2, locals=1, args_size=1
+         x: iload_0
+         x: invokestatic  #x                 // Method rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed.getArray:(I)[Lrename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+         x: iconst_0
+         x: aaload
+         x: invokevirtual #x                 // Method rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed.getValue:()I
+         x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      10     0 value   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
 }
 SourceFile: "TinyFrameworkRenamedClassCaller.java"
 RuntimeVisibleAnnotations:
@@ -3295,6 +3575,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/packagetest/A
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "A.java"
 RuntimeVisibleAnnotations:
@@ -3309,6 +3591,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/packagetest/sub/A
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "A.java"
 RuntimeVisibleAnnotations:
@@ -3323,6 +3607,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/C1
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "C1.java"
 RuntimeVisibleAnnotations:
@@ -3337,6 +3623,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/C2
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/subclasstest/C1
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "C2.java"
 RuntimeVisibleAnnotations:
@@ -3351,6 +3639,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/C3
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/subclasstest/C2
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "C3.java"
 RuntimeVisibleAnnotations:
@@ -3365,6 +3655,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/CA
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "CA.java"
 RuntimeVisibleAnnotations:
@@ -3379,6 +3671,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/CB
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "CB.java"
 RuntimeVisibleAnnotations:
@@ -3393,6 +3687,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_C1
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/subclasstest/C1
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "Class_C1.java"
 RuntimeVisibleAnnotations:
@@ -3407,6 +3703,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_C2
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/subclasstest/C2
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "Class_C2.java"
 RuntimeVisibleAnnotations:
@@ -3421,6 +3719,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_C3
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/subclasstest/C3
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "Class_C3.java"
 RuntimeVisibleAnnotations:
@@ -3435,6 +3735,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_I1
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "Class_I1.java"
 RuntimeVisibleAnnotations:
@@ -3449,6 +3751,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_I1_IA
   super_class: #x                         // java/lang/Object
   interfaces: 2, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "Class_I1_IA.java"
 RuntimeVisibleAnnotations:
@@ -3463,6 +3767,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_I2
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "Class_I2.java"
 RuntimeVisibleAnnotations:
@@ -3477,6 +3783,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_I3
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "Class_I3.java"
 RuntimeVisibleAnnotations:
@@ -3491,6 +3799,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/I1
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "I1.java"
 RuntimeVisibleAnnotations:
@@ -3505,6 +3815,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/I2
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "I2.java"
 RuntimeVisibleAnnotations:
@@ -3519,6 +3831,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/I3
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "I3.java"
 RuntimeVisibleAnnotations:
@@ -3533,6 +3847,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/IA
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "IA.java"
 RuntimeVisibleAnnotations:
@@ -3547,6 +3863,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/IB
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "IB.java"
 RuntimeVisibleAnnotations:
@@ -3561,6 +3879,8 @@
   this_class: #x                          // com/supported/UnsupportedClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 2, attributes: 3
+Constant pool:
+{
   private final int mValue;
     descriptor: I
     flags: (0x0012) ACC_PRIVATE, ACC_FINAL
@@ -3620,6 +3940,8 @@
   this_class: #x                          // com/unsupported/UnsupportedClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 2, attributes: 3
+Constant pool:
+{
   public com.unsupported.UnsupportedClass(int);
     descriptor: (I)V
     flags: (0x0001) ACC_PUBLIC
@@ -3674,7 +3996,9 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 1, methods: 2, attributes: 3
+  interfaces: 0, fields: 1, methods: 3, attributes: 3
+Constant pool:
+{
   private final int mValue;
     descriptor: I
     flags: (0x0012) ACC_PRIVATE, ACC_FINAL
@@ -3696,7 +4020,7 @@
       LineNumberTable:
       LocalVariableTable:
         Start  Length  Slot  Name   Signature
-            0      10     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+            0      10     0  this   Lrename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
             0      10     1 value   I
     RuntimeVisibleAnnotations:
       x: #x()
@@ -3713,7 +4037,30 @@
       LineNumberTable:
       LocalVariableTable:
         Start  Length  Slot  Name   Signature
-            0       5     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+            0       5     0  this   Lrename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  public static rename_prefix.com.android.hoststubgen.test.tinyframework.TinyFrameworkToBeRenamed[] getArray(int);
+    descriptor: (I)[Lrename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=6, locals=1, args_size=1
+         x: iconst_1
+         x: anewarray     #x                  // class rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+         x: dup
+         x: iconst_0
+         x: new           #x                  // class rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+         x: dup
+        x: iload_0
+        x: invokespecial #x                 // Method "<init>":(I)V
+        x: aastore
+        x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      16     0 value   I
     RuntimeVisibleAnnotations:
       x: #x()
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
diff --git a/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output.RELEASE_TARGET_JAVA_21/13-hoststubgen-test-tiny-framework-host-ext-dump.txt b/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output.RELEASE_TARGET_JAVA_21/13-hoststubgen-test-tiny-framework-host-ext-dump.txt
index fb225ff..8978a7a 100644
--- a/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output.RELEASE_TARGET_JAVA_21/13-hoststubgen-test-tiny-framework-host-ext-dump.txt
+++ b/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output.RELEASE_TARGET_JAVA_21/13-hoststubgen-test-tiny-framework-host-ext-dump.txt
@@ -52,6 +52,30 @@
     java.lang.annotation.Retention(
       value=Ljava/lang/annotation/RetentionPolicy;.CLASS
     )
+## Class: android/hosttest/annotation/HostSideTestPartiallyAllowlisted.class
+  Compiled from "HostSideTestPartiallyAllowlisted.java"
+public interface android.hosttest.annotation.HostSideTestPartiallyAllowlisted extends java.lang.annotation.Annotation
+  minor version: 0
+  major version: 65
+  flags: (0x2601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT, ACC_ANNOTATION
+  this_class: #x                          // android/hosttest/annotation/HostSideTestPartiallyAllowlisted
+  super_class: #x                         // java/lang/Object
+  interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
+}
+SourceFile: "HostSideTestPartiallyAllowlisted.java"
+RuntimeVisibleAnnotations:
+  x: #x()
+    com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+  x: #x(#x=[e#x.#x])
+    java.lang.annotation.Target(
+      value=[Ljava/lang/annotation/ElementType;.TYPE]
+    )
+  x: #x(#x=e#x.#x)
+    java.lang.annotation.Retention(
+      value=Ljava/lang/annotation/RetentionPolicy;.CLASS
+    )
 ## Class: android/hosttest/annotation/HostSideTestRedirect.class
   Compiled from "HostSideTestRedirect.java"
 public interface android.hosttest.annotation.HostSideTestRedirect extends java.lang.annotation.Annotation
@@ -241,6 +265,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/IPretendingAidl$Stub$Proxy
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 3, attributes: 4
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -311,6 +337,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/IPretendingAidl$Stub
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 3, attributes: 4
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -381,6 +409,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/IPretendingAidl
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 1, attributes: 4
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -410,6 +440,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/R$Nested
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 2, attributes: 4
+Constant pool:
+{
   public static int[] ARRAY;
     descriptor: [I
     flags: (0x0009) ACC_PUBLIC, ACC_STATIC
@@ -480,6 +512,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/R
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 2, attributes: 4
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -528,6 +562,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkAnnotations
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 7, attributes: 3
+Constant pool:
+{
   public int keep;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -719,6 +755,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkClassLoadHook
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 3, attributes: 3
+Constant pool:
+{
   public static final java.util.Set<java.lang.Class<?>> sLoadedClasses;
     descriptor: Ljava/util/Set;
     flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
@@ -814,6 +852,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkClassWideAnnotations
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 5, attributes: 3
+Constant pool:
+{
   public int keep;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -944,6 +984,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkClassWithInitializerDefault
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 2, methods: 0, attributes: 3
+Constant pool:
+{
   public static boolean sInitialized;
     descriptor: Z
     flags: (0x0009) ACC_PUBLIC, ACC_STATIC
@@ -981,6 +1023,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkClassWithInitializerStub
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 2, methods: 1, attributes: 3
+Constant pool:
+{
   public static boolean sInitialized;
     descriptor: Z
     flags: (0x0009) ACC_PUBLIC, ACC_STATIC
@@ -1051,6 +1095,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkEnumComplex
   super_class: #x                         // java/lang/Enum
   interfaces: 0, fields: 6, methods: 7, attributes: 4
+Constant pool:
+{
   public static final com.android.hoststubgen.test.tinyframework.TinyFrameworkEnumComplex RED;
     descriptor: Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkEnumComplex;
     flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ENUM
@@ -1334,6 +1380,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkEnumSimple
   super_class: #x                         // java/lang/Enum
   interfaces: 0, fields: 3, methods: 5, attributes: 4
+Constant pool:
+{
   public static final com.android.hoststubgen.test.tinyframework.TinyFrameworkEnumSimple CAT;
     descriptor: Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkEnumSimple;
     flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ENUM
@@ -1510,6 +1558,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkExceptionTester
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 3, attributes: 3
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -1593,6 +1643,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkForTextPolicy
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 15, attributes: 2
+Constant pool:
+{
   public int stub;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -1905,6 +1957,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkLambdas$Nested
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 2, methods: 8, attributes: 6
+Constant pool:
+{
   public final java.util.function.Supplier<java.lang.Integer> mSupplier;
     descriptor: Ljava/util/function/Supplier;
     flags: (0x0011) ACC_PUBLIC, ACC_FINAL
@@ -2135,6 +2189,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkLambdas
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 2, methods: 8, attributes: 6
+Constant pool:
+{
   public final java.util.function.Supplier<java.lang.Integer> mSupplier;
     descriptor: Ljava/util/function/Supplier;
     flags: (0x0011) ACC_PUBLIC, ACC_FINAL
@@ -2357,6 +2413,66 @@
       #x ()Ljava/lang/Integer;
 NestMembers:
   com/android/hoststubgen/test/tinyframework/TinyFrameworkLambdas$Nested
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester.class
+  Compiled from "TinyFrameworkMethodCallReplace.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester
+  minor version: 0
+  major version: 65
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 1, methods: 2, attributes: 4
+Constant pool:
+{
+  public int i;
+    descriptor: I
+    flags: (0x0001) ACC_PUBLIC
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  private static {};
+    descriptor: ()V
+    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
+    Code:
+      stack=2, locals=0, args_size=0
+         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+         x: ldc           #x                  // String com.android.hoststubgen.hosthelper.HostTestUtils.logClassLoaded
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.onClassLoaded:(Ljava/lang/Class;Ljava/lang/String;)V
+         x: return
+
+  public com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester(int);
+    descriptor: (I)V
+    flags: (0x0001) ACC_PUBLIC
+    Code:
+      stack=4, locals=2, args_size=2
+         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+         x: ldc           #x                 // String <init>
+         x: ldc           #x                 // String (I)V
+         x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.callMethodCallHook:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+        x: aload_0
+        x: invokespecial #x                 // Method java/lang/Object."<init>":()V
+        x: aload_0
+        x: iload_1
+        x: putfield      #x                 // Field i:I
+        x: return
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+           11      10     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+           11      10     1     i   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+}
+InnerClasses:
+  public static #x= #x of #x;           // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
+SourceFile: "TinyFrameworkMethodCallReplace.java"
+RuntimeVisibleAnnotations:
+  x: #x()
+    com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo.class
   Compiled from "TinyFrameworkMethodCallReplace.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ReplaceTo
@@ -2365,7 +2481,9 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 4, attributes: 4
+  interfaces: 0, fields: 0, methods: 5, attributes: 4
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -2443,8 +2561,34 @@
     RuntimeVisibleAnnotations:
       x: #x()
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  public static com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester newConstructorTester(int);
+    descriptor: (I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=4, locals=1, args_size=1
+         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo
+         x: ldc           #x                 // String newConstructorTester
+         x: ldc           #x                 // String (I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+         x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.callMethodCallHook:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+        x: new           #x                 // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+        x: dup
+        x: iload_0
+        x: iconst_1
+        x: iadd
+        x: invokespecial #x                 // Method com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester."<init>":(I)V
+        x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+           11      11     0     i   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
 }
 InnerClasses:
+  public static #x= #x of #x;          // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   public static #x= #x of #x;           // ReplaceTo=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
 SourceFile: "TinyFrameworkMethodCallReplace.java"
 RuntimeVisibleAnnotations:
@@ -2459,7 +2603,9 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 5, attributes: 6
+  interfaces: 0, fields: 0, methods: 7, attributes: 6
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -2549,18 +2695,70 @@
       x: #x()
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
 
+  public static com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester constructorReplaceTester(int);
+    descriptor: (I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=4, locals=1, args_size=1
+         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
+         x: ldc           #x                 // String constructorReplaceTester
+         x: ldc           #x                // String (I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+         x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.callMethodCallHook:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+        x: new           #x                 // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+        x: dup
+        x: iload_0
+        x: invokestatic  #x                // Method com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo.newConstructorTester:(I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+        x: swap
+        x: pop
+        x: swap
+        x: pop
+        x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+           11      13     0     i   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  private static int originalAdd(int, int);
+    descriptor: (II)I
+    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
+    Code:
+      stack=4, locals=2, args_size=2
+         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
+         x: ldc           #x                // String originalAdd
+         x: ldc           #x                // String (II)I
+         x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.callMethodCallHook:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+        x: iload_0
+        x: iload_1
+        x: iadd
+        x: iconst_1
+        x: isub
+        x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+           11       6     0     a   I
+           11       6     1     b   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
   private static void lambda$nonStaticMethodCallReplaceTester$0(java.util.concurrent.atomic.AtomicBoolean);
     descriptor: (Ljava/util/concurrent/atomic/AtomicBoolean;)V
     flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
     Code:
       stack=4, locals=1, args_size=1
          x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
-         x: ldc           #x                 // String lambda$nonStaticMethodCallReplaceTester$0
-         x: ldc           #x                 // String (Ljava/util/concurrent/atomic/AtomicBoolean;)V
+         x: ldc           #x                // String lambda$nonStaticMethodCallReplaceTester$0
+         x: ldc           #x                // String (Ljava/util/concurrent/atomic/AtomicBoolean;)V
          x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
          x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.callMethodCallHook:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         x: aload_0
-        x: invokestatic  #x                 // Method java/lang/Thread.currentThread:()Ljava/lang/Thread;
+        x: invokestatic  #x                // Method java/lang/Thread.currentThread:()Ljava/lang/Thread;
         x: invokevirtual #x                // Method java/lang/Thread.isDaemon:()Z
         x: invokevirtual #x                // Method java/util/concurrent/atomic/AtomicBoolean.set:(Z)V
         x: return
@@ -2573,6 +2771,7 @@
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
 }
 InnerClasses:
+  public static #x= #x of #x;           // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   public static #x= #x of #x;           // ReplaceTo=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   public static final #x= #x of #x;    // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles
 SourceFile: "TinyFrameworkMethodCallReplace.java"
@@ -2590,6 +2789,7 @@
       #x ()V
 NestMembers:
   com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo
+  com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkNative.class
   Compiled from "TinyFrameworkNative.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkNative
@@ -2599,6 +2799,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNative
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 15, attributes: 3
+Constant pool:
+{
   int value;
     descriptor: I
     flags: (0x0000)
@@ -2932,6 +3134,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNative_host
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 8, attributes: 3
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -3107,6 +3311,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$1
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 4, attributes: 6
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -3202,6 +3408,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$2
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 4, attributes: 6
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -3293,6 +3501,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$3
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 4, attributes: 6
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -3388,6 +3598,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$4
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 4, attributes: 6
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -3479,6 +3691,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$BaseClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 2, attributes: 4
+Constant pool:
+{
   public int value;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -3537,6 +3751,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$InnerClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 2, attributes: 4
+Constant pool:
+{
   public int value;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -3598,6 +3814,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$StaticNestedClass$1
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 4, attributes: 6
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -3690,6 +3908,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$StaticNestedClass$Double$NestedClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 2, attributes: 4
+Constant pool:
+{
   public int value;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -3748,6 +3968,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$StaticNestedClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 3, attributes: 4
+Constant pool:
+{
   public int value;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -3827,6 +4049,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$SubClass
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$BaseClass
   interfaces: 0, fields: 0, methods: 2, attributes: 4
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -3877,6 +4101,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 2, methods: 4, attributes: 5
+Constant pool:
+{
   public final java.util.function.Supplier<java.lang.Integer> mSupplier;
     descriptor: Ljava/util/function/Supplier;
     flags: (0x0011) ACC_PUBLIC, ACC_FINAL
@@ -4025,6 +4251,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkPackageRedirect
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 3, attributes: 3
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4087,6 +4315,64 @@
 RuntimeInvisibleAnnotations:
   x: #x()
     android.hosttest.annotation.HostSideTestWholeClassKeep
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted.class
+  Compiled from "TinyFrameworkPartiallyAllowlisted.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+  minor version: 0
+  major version: 65
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 0, methods: 2, attributes: 5
+Constant pool:
+{
+  private static {};
+    descriptor: ()V
+    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
+    Code:
+      stack=2, locals=0, args_size=0
+         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+         x: ldc           #x                  // String com.android.hoststubgen.hosthelper.HostTestUtils.logClassLoaded
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.onClassLoaded:(Ljava/lang/Class;Ljava/lang/String;)V
+         x: return
+
+  public static int foo2(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=4, locals=1, args_size=1
+         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+         x: ldc           #x                 // String foo2
+         x: ldc           #x                 // String (I)I
+         x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.callMethodCallHook:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+        x: iload_0
+        x: iconst_2
+        x: iadd
+        x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+           11       4     0 value   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+    RuntimeInvisibleAnnotations:
+      x: #x()
+        android.hosttest.annotation.HostSideTestKeep
+}
+InnerClasses:
+  public static #x= #x of #x;           // PartiallyAllowlisted=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+SourceFile: "TinyFrameworkPartiallyAllowlisted.java"
+RuntimeVisibleAnnotations:
+  x: #x()
+    com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+RuntimeInvisibleAnnotations:
+  x: #x()
+    android.hosttest.annotation.HostSideTestPartiallyAllowlisted
+  x: #x()
+    android.hosttest.annotation.HostSideTestKeep
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller.class
   Compiled from "TinyFrameworkRenamedClassCaller.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkRenamedClassCaller
@@ -4095,7 +4381,9 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 3, attributes: 3
+  interfaces: 0, fields: 0, methods: 4, attributes: 3
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4150,6 +4438,30 @@
     RuntimeVisibleAnnotations:
       x: #x()
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  public static int bar(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=4, locals=1, args_size=1
+         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller
+         x: ldc           #x                 // String bar
+         x: ldc           #x                 // String (I)I
+         x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.callMethodCallHook:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+        x: iload_0
+        x: invokestatic  #x                 // Method rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed.getArray:(I)[Lrename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+        x: iconst_0
+        x: aaload
+        x: invokevirtual #x                 // Method rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed.getValue:()I
+        x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+           11      10     0 value   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
 }
 SourceFile: "TinyFrameworkRenamedClassCaller.java"
 RuntimeVisibleAnnotations:
@@ -4167,6 +4479,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/packagetest/A
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4190,6 +4504,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/packagetest/sub/A
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4213,6 +4529,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/C1
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4236,6 +4554,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/C2
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/subclasstest/C1
   interfaces: 0, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4259,6 +4579,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/C3
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/subclasstest/C2
   interfaces: 0, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4282,6 +4604,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/CA
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4305,6 +4629,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/CB
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4328,6 +4654,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_C1
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/subclasstest/C1
   interfaces: 0, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4351,6 +4679,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_C2
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/subclasstest/C2
   interfaces: 0, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4374,6 +4704,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_C3
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/subclasstest/C3
   interfaces: 0, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4397,6 +4729,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_I1
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4420,6 +4754,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_I1_IA
   super_class: #x                         // java/lang/Object
   interfaces: 2, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4443,6 +4779,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_I2
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4466,6 +4804,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_I3
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4489,6 +4829,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/I1
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4512,6 +4854,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/I2
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4535,6 +4879,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/I3
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4558,6 +4904,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/IA
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4581,6 +4929,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/IB
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4604,6 +4954,8 @@
   this_class: #x                          // com/supported/UnsupportedClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 3, attributes: 3
+Constant pool:
+{
   private final int mValue;
     descriptor: I
     flags: (0x0012) ACC_PRIVATE, ACC_FINAL
@@ -4683,6 +5035,8 @@
   this_class: #x                          // com/unsupported/UnsupportedClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 3, attributes: 3
+Constant pool:
+{
   private static {};
     descriptor: ()V
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -4757,7 +5111,9 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 1, methods: 3, attributes: 3
+  interfaces: 0, fields: 1, methods: 4, attributes: 3
+Constant pool:
+{
   private final int mValue;
     descriptor: I
     flags: (0x0012) ACC_PRIVATE, ACC_FINAL
@@ -4770,8 +5126,8 @@
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
     Code:
       stack=2, locals=0, args_size=0
-         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
-         x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logClassLoaded
+         x: ldc           #x                  // class rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+         x: ldc           #x                  // String com.android.hoststubgen.hosthelper.HostTestUtils.logClassLoaded
          x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.onClassLoaded:(Ljava/lang/Class;Ljava/lang/String;)V
          x: return
 
@@ -4780,7 +5136,7 @@
     flags: (0x0001) ACC_PUBLIC
     Code:
       stack=4, locals=2, args_size=2
-         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+         x: ldc           #x                  // class rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
          x: ldc           #x                 // String <init>
          x: ldc           #x                 // String (I)V
          x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
@@ -4794,7 +5150,7 @@
       LineNumberTable:
       LocalVariableTable:
         Start  Length  Slot  Name   Signature
-           11      10     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+           11      10     0  this   Lrename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
            11      10     1 value   I
     RuntimeVisibleAnnotations:
       x: #x()
@@ -4805,7 +5161,7 @@
     flags: (0x0001) ACC_PUBLIC
     Code:
       stack=4, locals=1, args_size=1
-         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+         x: ldc           #x                  // class rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
          x: ldc           #x                 // String getValue
          x: ldc           #x                 // String ()I
          x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
@@ -4816,7 +5172,35 @@
       LineNumberTable:
       LocalVariableTable:
         Start  Length  Slot  Name   Signature
-           11       5     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+           11       5     0  this   Lrename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  public static rename_prefix.com.android.hoststubgen.test.tinyframework.TinyFrameworkToBeRenamed[] getArray(int);
+    descriptor: (I)[Lrename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=6, locals=1, args_size=1
+         x: ldc           #x                  // class rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+         x: ldc           #x                 // String getArray
+         x: ldc           #x                 // String (I)[Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+         x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.callMethodCallHook:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+        x: iconst_1
+        x: anewarray     #x                  // class rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+        x: dup
+        x: iconst_0
+        x: new           #x                  // class rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+        x: dup
+        x: iload_0
+        x: invokespecial #x                 // Method "<init>":(I)V
+        x: aastore
+        x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+           11      16     0 value   I
     RuntimeVisibleAnnotations:
       x: #x()
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
diff --git a/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output/01-hoststubgen-test-tiny-framework-orig-dump.txt b/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output/01-hoststubgen-test-tiny-framework-orig-dump.txt
index ad41342..406c611 100644
--- a/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output/01-hoststubgen-test-tiny-framework-orig-dump.txt
+++ b/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output/01-hoststubgen-test-tiny-framework-orig-dump.txt
@@ -67,6 +67,28 @@
     java.lang.annotation.Retention(
       value=Ljava/lang/annotation/RetentionPolicy;.CLASS
     )
+## Class: android/hosttest/annotation/HostSideTestPartiallyAllowlisted.class
+  Compiled from "HostSideTestPartiallyAllowlisted.java"
+public interface android.hosttest.annotation.HostSideTestPartiallyAllowlisted extends java.lang.annotation.Annotation
+  minor version: 0
+  major version: 61
+  flags: (0x2601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT, ACC_ANNOTATION
+  this_class: #x                          // android/hosttest/annotation/HostSideTestPartiallyAllowlisted
+  super_class: #x                         // java/lang/Object
+  interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
+}
+SourceFile: "HostSideTestPartiallyAllowlisted.java"
+RuntimeVisibleAnnotations:
+  x: #x(#x=[e#x.#x])
+    java.lang.annotation.Target(
+      value=[Ljava/lang/annotation/ElementType;.TYPE]
+    )
+  x: #x(#x=e#x.#x)
+    java.lang.annotation.Retention(
+      value=Ljava/lang/annotation/RetentionPolicy;.CLASS
+    )
 ## Class: android/hosttest/annotation/HostSideTestRedirect.class
   Compiled from "HostSideTestRedirect.java"
 public interface android.hosttest.annotation.HostSideTestRedirect extends java.lang.annotation.Annotation
@@ -1861,6 +1883,42 @@
 InnerClasses:
   public static #x= #x of #x;          // Nested=class com/android/hoststubgen/test/tinyframework/TinyFrameworkLambdas$Nested of class com/android/hoststubgen/test/tinyframework/TinyFrameworkLambdas
   public static final #x= #x of #x;    // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester.class
+  Compiled from "TinyFrameworkMethodCallReplace.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester
+  minor version: 0
+  major version: 61
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 1, methods: 1, attributes: 3
+Constant pool:
+{
+  public int i;
+    descriptor: I
+    flags: (0x0001) ACC_PUBLIC
+
+  public com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester(int);
+    descriptor: (I)V
+    flags: (0x0001) ACC_PUBLIC
+    Code:
+      stack=2, locals=2, args_size=2
+         x: aload_0
+         x: invokespecial #x                  // Method java/lang/Object."<init>":()V
+         x: aload_0
+         x: iload_1
+         x: putfield      #x                  // Field i:I
+         x: return
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      10     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+            0      10     1     i   I
+}
+SourceFile: "TinyFrameworkMethodCallReplace.java"
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
+InnerClasses:
+  public static #x= #x of #x;           // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo.class
   Compiled from "TinyFrameworkMethodCallReplace.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ReplaceTo
@@ -1869,7 +1927,7 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                         // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 3, attributes: 3
+  interfaces: 0, fields: 0, methods: 4, attributes: 3
 Constant pool:
 {
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ReplaceTo();
@@ -1915,10 +1973,28 @@
         Start  Length  Slot  Name   Signature
             0       4     0     a   I
             0       4     1     b   I
+
+  public static com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester newConstructorTester(int);
+    descriptor: (I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=4, locals=1, args_size=1
+         x: new           #x                 // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+         x: dup
+         x: iload_0
+         x: iconst_1
+         x: iadd
+         x: invokespecial #x                 // Method com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester."<init>":(I)V
+        x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      11     0     i   I
 }
 SourceFile: "TinyFrameworkMethodCallReplace.java"
 NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
 InnerClasses:
+  public static #x= #x of #x;          // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   public static #x= #x of #x;          // ReplaceTo=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace.class
   Compiled from "TinyFrameworkMethodCallReplace.java"
@@ -1928,7 +2004,7 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                         // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 5, attributes: 5
+  interfaces: 0, fields: 0, methods: 6, attributes: 5
 Constant pool:
 {
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace();
@@ -1986,6 +2062,21 @@
          x: ireturn
       LineNumberTable:
 
+  public static com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester constructorReplaceTester(int);
+    descriptor: (I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=3, locals=1, args_size=1
+         x: new           #x                 // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+         x: dup
+         x: iload_0
+         x: invokespecial #x                 // Method com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester."<init>":(I)V
+         x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       9     0     i   I
+
   private static int originalAdd(int, int);
     descriptor: (II)I
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
@@ -2024,6 +2115,7 @@
     android.hosttest.annotation.HostSideTestWholeClassKeep
 NestMembers:
   com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo
+  com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
 BootstrapMethods:
   x: #x REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
     Method arguments:
@@ -2031,8 +2123,9 @@
       #x REF_invokeStatic com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace.lambda$nonStaticMethodCallReplaceTester$0:(Ljava/util/concurrent/atomic/AtomicBoolean;)V
       #x ()V
 InnerClasses:
+  public static #x= #x of #x;          // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   public static #x= #x of #x;          // ReplaceTo=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
-  public static final #x= #x of #x;    // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles
+  public static final #x= #x of #x;   // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkNative.class
   Compiled from "TinyFrameworkNative.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkNative
@@ -2967,6 +3060,228 @@
 RuntimeInvisibleAnnotations:
   x: #x()
     android.hosttest.annotation.HostSideTestWholeClassKeep
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$NoAnnotations.class
+  Compiled from "TinyFrameworkPartiallyAllowlisted.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$NoAnnotations
+  minor version: 0
+  major version: 61
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$NoAnnotations
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 0, methods: 1, attributes: 3
+Constant pool:
+{
+  public com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$NoAnnotations();
+    descriptor: ()V
+    flags: (0x0001) ACC_PUBLIC
+    Code:
+      stack=1, locals=1, args_size=1
+         x: aload_0
+         x: invokespecial #x                  // Method java/lang/Object."<init>":()V
+         x: return
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       5     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$NoAnnotations;
+}
+SourceFile: "TinyFrameworkPartiallyAllowlisted.java"
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+InnerClasses:
+  public static #x= #x of #x;           // NoAnnotations=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$NoAnnotations of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad.class
+  Compiled from "TinyFrameworkPartiallyAllowlisted.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad
+  minor version: 0
+  major version: 61
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 0, methods: 1, attributes: 4
+Constant pool:
+{
+  public com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad();
+    descriptor: ()V
+    flags: (0x0001) ACC_PUBLIC
+    Code:
+      stack=1, locals=1, args_size=1
+         x: aload_0
+         x: invokespecial #x                  // Method java/lang/Object."<init>":()V
+         x: return
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       5     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad;
+}
+SourceFile: "TinyFrameworkPartiallyAllowlisted.java"
+RuntimeInvisibleAnnotations:
+  x: #x()
+    android.hosttest.annotation.HostSideTestPartiallyAllowlisted
+  x: #x()
+    android.hosttest.annotation.HostSideTestWholeClassKeep
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+InnerClasses:
+  public static #x= #x of #x;           // PartialWithWholeClass_bad=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted.class
+  Compiled from "TinyFrameworkPartiallyAllowlisted.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+  minor version: 0
+  major version: 61
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 0, methods: 3, attributes: 4
+Constant pool:
+{
+  public com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted();
+    descriptor: ()V
+    flags: (0x0001) ACC_PUBLIC
+    Code:
+      stack=1, locals=1, args_size=1
+         x: aload_0
+         x: invokespecial #x                  // Method java/lang/Object."<init>":()V
+         x: return
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       5     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted;
+
+  public static int foo1(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=2, locals=1, args_size=1
+         x: iload_0
+         x: iconst_1
+         x: iadd
+         x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       4     0 value   I
+
+  public static int foo2(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=2, locals=1, args_size=1
+         x: iload_0
+         x: iconst_2
+         x: iadd
+         x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       4     0 value   I
+    RuntimeInvisibleAnnotations:
+      x: #x()
+        android.hosttest.annotation.HostSideTestKeep
+}
+SourceFile: "TinyFrameworkPartiallyAllowlisted.java"
+RuntimeInvisibleAnnotations:
+  x: #x()
+    android.hosttest.annotation.HostSideTestPartiallyAllowlisted
+  x: #x()
+    android.hosttest.annotation.HostSideTestKeep
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+InnerClasses:
+  public static #x= #x of #x;           // PartiallyAllowlisted=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad.class
+  Compiled from "TinyFrameworkPartiallyAllowlisted.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad
+  minor version: 0
+  major version: 61
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 0, methods: 3, attributes: 4
+Constant pool:
+{
+  public com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad();
+    descriptor: ()V
+    flags: (0x0001) ACC_PUBLIC
+    Code:
+      stack=1, locals=1, args_size=1
+         x: aload_0
+         x: invokespecial #x                  // Method java/lang/Object."<init>":()V
+         x: return
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       5     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad;
+
+  public static int foo1(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=2, locals=1, args_size=1
+         x: iload_0
+         x: iconst_1
+         x: iadd
+         x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       4     0 value   I
+
+  public static int foo2(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=2, locals=1, args_size=1
+         x: iload_0
+         x: iconst_2
+         x: iadd
+         x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       4     0 value   I
+    RuntimeInvisibleAnnotations:
+      x: #x()
+        android.hosttest.annotation.HostSideTestKeep
+}
+SourceFile: "TinyFrameworkPartiallyAllowlisted.java"
+RuntimeInvisibleAnnotations:
+  x: #x()
+    android.hosttest.annotation.HostSideTestKeep
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+InnerClasses:
+  public static #x= #x of #x;           // PartiallyAllowlistedWithoutAnnot_bad=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted.class
+  Compiled from "TinyFrameworkPartiallyAllowlisted.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted
+  minor version: 0
+  major version: 61
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 0, methods: 1, attributes: 3
+Constant pool:
+{
+  public com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted();
+    descriptor: ()V
+    flags: (0x0001) ACC_PUBLIC
+    Code:
+      stack=1, locals=1, args_size=1
+         x: aload_0
+         x: invokespecial #x                  // Method java/lang/Object."<init>":()V
+         x: return
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       5     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted;
+}
+SourceFile: "TinyFrameworkPartiallyAllowlisted.java"
+NestMembers:
+  com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$NoAnnotations
+  com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad
+  com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad
+  com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+InnerClasses:
+  public static #x= #x of #x;           // NoAnnotations=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$NoAnnotations of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+  public static #x= #x of #x;           // PartiallyAllowlistedWithoutAnnot_bad=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+  public static #x= #x of #x;           // PartialWithWholeClass_bad=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+  public static #x= #x of #x;           // PartiallyAllowlisted=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller.class
   Compiled from "TinyFrameworkRenamedClassCaller.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkRenamedClassCaller
@@ -2975,7 +3290,7 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                         // com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 2, attributes: 2
+  interfaces: 0, fields: 0, methods: 3, attributes: 2
 Constant pool:
 {
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkRenamedClassCaller();
@@ -3006,6 +3321,22 @@
       LocalVariableTable:
         Start  Length  Slot  Name   Signature
             0      12     0 value   I
+
+  public static int bar(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=2, locals=1, args_size=1
+         x: iload_0
+         x: invokestatic  #x                 // Method com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed.getArray:(I)[Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+         x: iconst_0
+         x: aaload
+         x: invokevirtual #x                 // Method com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed.getValue:()I
+         x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      10     0 value   I
 }
 SourceFile: "TinyFrameworkRenamedClassCaller.java"
 RuntimeInvisibleAnnotations:
@@ -3019,7 +3350,7 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 1, methods: 2, attributes: 2
+  interfaces: 0, fields: 1, methods: 3, attributes: 2
 Constant pool:
 {
   private final int mValue;
@@ -3055,6 +3386,26 @@
       LocalVariableTable:
         Start  Length  Slot  Name   Signature
             0       5     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+
+  public static com.android.hoststubgen.test.tinyframework.TinyFrameworkToBeRenamed[] getArray(int);
+    descriptor: (I)[Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=6, locals=1, args_size=1
+         x: iconst_1
+         x: anewarray     #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+         x: dup
+         x: iconst_0
+         x: new           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+         x: dup
+        x: iload_0
+        x: invokespecial #x                 // Method "<init>":(I)V
+        x: aastore
+        x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      16     0 value   I
 }
 SourceFile: "TinyFrameworkToBeRenamed.java"
 RuntimeInvisibleAnnotations:
diff --git a/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output/03-hoststubgen-test-tiny-framework-host-dump.txt b/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output/03-hoststubgen-test-tiny-framework-host-dump.txt
index eeec554..6a8e488 100644
--- a/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output/03-hoststubgen-test-tiny-framework-host-dump.txt
+++ b/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output/03-hoststubgen-test-tiny-framework-host-dump.txt
@@ -7,6 +7,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestClassLoadHook
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   public abstract java.lang.String value();
     descriptor: ()Ljava/lang/String;
     flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
@@ -35,6 +37,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestKeep
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "HostSideTestKeep.java"
 RuntimeVisibleAnnotations:
@@ -48,6 +52,30 @@
     java.lang.annotation.Retention(
       value=Ljava/lang/annotation/RetentionPolicy;.CLASS
     )
+## Class: android/hosttest/annotation/HostSideTestPartiallyAllowlisted.class
+  Compiled from "HostSideTestPartiallyAllowlisted.java"
+public interface android.hosttest.annotation.HostSideTestPartiallyAllowlisted extends java.lang.annotation.Annotation
+  minor version: 0
+  major version: 61
+  flags: (0x2601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT, ACC_ANNOTATION
+  this_class: #x                          // android/hosttest/annotation/HostSideTestPartiallyAllowlisted
+  super_class: #x                         // java/lang/Object
+  interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
+}
+SourceFile: "HostSideTestPartiallyAllowlisted.java"
+RuntimeVisibleAnnotations:
+  x: #x()
+    com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+  x: #x(#x=[e#x.#x])
+    java.lang.annotation.Target(
+      value=[Ljava/lang/annotation/ElementType;.TYPE]
+    )
+  x: #x(#x=e#x.#x)
+    java.lang.annotation.Retention(
+      value=Ljava/lang/annotation/RetentionPolicy;.CLASS
+    )
 ## Class: android/hosttest/annotation/HostSideTestRedirect.class
   Compiled from "HostSideTestRedirect.java"
 public interface android.hosttest.annotation.HostSideTestRedirect extends java.lang.annotation.Annotation
@@ -57,6 +85,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestRedirect
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "HostSideTestRedirect.java"
 RuntimeVisibleAnnotations:
@@ -79,6 +109,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestRedirectionClass
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   public abstract java.lang.String value();
     descriptor: ()Ljava/lang/String;
     flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
@@ -107,6 +139,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestRemove
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "HostSideTestRemove.java"
 RuntimeVisibleAnnotations:
@@ -129,6 +163,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestStaticInitializerKeep
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "HostSideTestStaticInitializerKeep.java"
 RuntimeVisibleAnnotations:
@@ -151,6 +187,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestSubstitute
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 1, attributes: 2
+Constant pool:
+{
   public abstract java.lang.String suffix();
     descriptor: ()Ljava/lang/String;
     flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
@@ -179,6 +217,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestThrow
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "HostSideTestThrow.java"
 RuntimeVisibleAnnotations:
@@ -201,6 +241,8 @@
   this_class: #x                          // android/hosttest/annotation/HostSideTestWholeClassKeep
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "HostSideTestWholeClassKeep.java"
 RuntimeVisibleAnnotations:
@@ -223,6 +265,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/IPretendingAidl$Stub$Proxy
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 2, attributes: 4
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.IPretendingAidl$Stub$Proxy();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -273,6 +317,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/IPretendingAidl$Stub
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 2, attributes: 4
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.IPretendingAidl$Stub();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -323,6 +369,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/IPretendingAidl
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 4
+Constant pool:
+{
 }
 InnerClasses:
   public static #x= #x of #x;            // Stub=class com/android/hoststubgen/test/tinyframework/IPretendingAidl$Stub of class com/android/hoststubgen/test/tinyframework/IPretendingAidl
@@ -343,6 +391,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/R$Nested
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 2, attributes: 4
+Constant pool:
+{
   public static int[] ARRAY;
     descriptor: [I
     flags: (0x0009) ACC_PUBLIC, ACC_STATIC
@@ -400,6 +450,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/R
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 1, attributes: 4
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.R();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -433,6 +485,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkAnnotations
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 7, attributes: 3
+Constant pool:
+{
   public int keep;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -591,6 +645,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkClassLoadHook
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 3, attributes: 3
+Constant pool:
+{
   public static final java.util.Set<java.lang.Class<?>> sLoadedClasses;
     descriptor: Ljava/util/Set;
     flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
@@ -668,6 +724,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkClassWideAnnotations
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 4, attributes: 3
+Constant pool:
+{
   public int keep;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -768,6 +826,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkClassWithInitializerDefault
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 2, methods: 0, attributes: 3
+Constant pool:
+{
   public static boolean sInitialized;
     descriptor: Z
     flags: (0x0009) ACC_PUBLIC, ACC_STATIC
@@ -805,6 +865,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkClassWithInitializerStub
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 2, methods: 1, attributes: 3
+Constant pool:
+{
   public static boolean sInitialized;
     descriptor: Z
     flags: (0x0009) ACC_PUBLIC, ACC_STATIC
@@ -867,6 +929,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkEnumComplex
   super_class: #x                         // java/lang/Enum
   interfaces: 0, fields: 6, methods: 7, attributes: 4
+Constant pool:
+{
   public static final com.android.hoststubgen.test.tinyframework.TinyFrameworkEnumComplex RED;
     descriptor: Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkEnumComplex;
     flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ENUM
@@ -1112,6 +1176,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkEnumSimple
   super_class: #x                         // java/lang/Enum
   interfaces: 0, fields: 3, methods: 5, attributes: 4
+Constant pool:
+{
   public static final com.android.hoststubgen.test.tinyframework.TinyFrameworkEnumSimple CAT;
     descriptor: Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkEnumSimple;
     flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ENUM
@@ -1260,6 +1326,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkExceptionTester
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 2, attributes: 3
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkExceptionTester();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -1323,6 +1391,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkForTextPolicy
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 15, attributes: 2
+Constant pool:
+{
   public int stub;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -1562,6 +1632,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkLambdas$Nested
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 2, methods: 8, attributes: 6
+Constant pool:
+{
   public final java.util.function.Supplier<java.lang.Integer> mSupplier;
     descriptor: Ljava/util/function/Supplier;
     flags: (0x0011) ACC_PUBLIC, ACC_FINAL
@@ -1749,6 +1821,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkLambdas
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 2, methods: 8, attributes: 6
+Constant pool:
+{
   public final java.util.function.Supplier<java.lang.Integer> mSupplier;
     descriptor: Ljava/util/function/Supplier;
     flags: (0x0011) ACC_PUBLIC, ACC_FINAL
@@ -1928,6 +2002,51 @@
       #x ()Ljava/lang/Integer;
 NestMembers:
   com/android/hoststubgen/test/tinyframework/TinyFrameworkLambdas$Nested
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester.class
+  Compiled from "TinyFrameworkMethodCallReplace.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester
+  minor version: 0
+  major version: 61
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 1, methods: 1, attributes: 4
+Constant pool:
+{
+  public int i;
+    descriptor: I
+    flags: (0x0001) ACC_PUBLIC
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  public com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester(int);
+    descriptor: (I)V
+    flags: (0x0001) ACC_PUBLIC
+    Code:
+      stack=2, locals=2, args_size=2
+         x: aload_0
+         x: invokespecial #x                 // Method java/lang/Object."<init>":()V
+         x: aload_0
+         x: iload_1
+         x: putfield      #x                 // Field i:I
+         x: return
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      10     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+            0      10     1     i   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+}
+InnerClasses:
+  public static #x= #x of #x;             // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
+SourceFile: "TinyFrameworkMethodCallReplace.java"
+RuntimeVisibleAnnotations:
+  x: #x()
+    com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo.class
   Compiled from "TinyFrameworkMethodCallReplace.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ReplaceTo
@@ -1936,7 +2055,9 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 3, attributes: 4
+  interfaces: 0, fields: 0, methods: 4, attributes: 4
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ReplaceTo();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -1989,9 +2110,30 @@
     RuntimeVisibleAnnotations:
       x: #x()
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  public static com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester newConstructorTester(int);
+    descriptor: (I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=4, locals=1, args_size=1
+         x: new           #x                 // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+         x: dup
+         x: iload_0
+         x: iconst_1
+         x: iadd
+         x: invokespecial #x                 // Method com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester."<init>":(I)V
+        x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      11     0     i   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
 }
 InnerClasses:
-  public static #x= #x of #x;             // ReplaceTo=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
+  public static #x= #x of #x;           // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
+  public static #x= #x of #x;            // ReplaceTo=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
 SourceFile: "TinyFrameworkMethodCallReplace.java"
 RuntimeVisibleAnnotations:
   x: #x()
@@ -2005,7 +2147,9 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 4, attributes: 6
+  interfaces: 0, fields: 0, methods: 6, attributes: 6
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -2070,6 +2214,48 @@
       x: #x()
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
 
+  public static com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester constructorReplaceTester(int);
+    descriptor: (I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=3, locals=1, args_size=1
+         x: new           #x                 // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+         x: dup
+         x: iload_0
+         x: invokestatic  #x                 // Method com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo.newConstructorTester:(I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+         x: swap
+         x: pop
+        x: swap
+        x: pop
+        x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      13     0     i   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  private static int originalAdd(int, int);
+    descriptor: (II)I
+    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
+    Code:
+      stack=2, locals=2, args_size=2
+         x: iload_0
+         x: iload_1
+         x: iadd
+         x: iconst_1
+         x: isub
+         x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       6     0     a   I
+            0       6     1     b   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
   private static void lambda$nonStaticMethodCallReplaceTester$0(java.util.concurrent.atomic.AtomicBoolean);
     descriptor: (Ljava/util/concurrent/atomic/AtomicBoolean;)V
     flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
@@ -2089,6 +2275,7 @@
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
 }
 InnerClasses:
+  public static #x= #x of #x;           // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   public static #x= #x of #x;            // ReplaceTo=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   public static final #x= #x of #x;    // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles
 SourceFile: "TinyFrameworkMethodCallReplace.java"
@@ -2106,6 +2293,7 @@
       #x ()V
 NestMembers:
   com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo
+  com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkNative.class
   Compiled from "TinyFrameworkNative.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkNative
@@ -2115,6 +2303,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNative
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 14, attributes: 3
+Constant pool:
+{
   int value;
     descriptor: I
     flags: (0x0000)
@@ -2373,6 +2563,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNative_host
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 7, attributes: 3
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkNative_host();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -2503,6 +2695,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$1
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 1, methods: 3, attributes: 6
+Constant pool:
+{
   final com.android.hoststubgen.test.tinyframework.TinyFrameworkNestedClasses this$0;
     descriptor: Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses;
     flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
@@ -2583,6 +2777,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$2
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 3, attributes: 6
+Constant pool:
+{
   com.android.hoststubgen.test.tinyframework.TinyFrameworkNestedClasses$2();
     descriptor: ()V
     flags: (0x0000)
@@ -2649,6 +2845,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$3
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 1, methods: 3, attributes: 6
+Constant pool:
+{
   final com.android.hoststubgen.test.tinyframework.TinyFrameworkNestedClasses this$0;
     descriptor: Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses;
     flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
@@ -2729,6 +2927,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$4
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 3, attributes: 6
+Constant pool:
+{
   com.android.hoststubgen.test.tinyframework.TinyFrameworkNestedClasses$4();
     descriptor: ()V
     flags: (0x0000)
@@ -2795,6 +2995,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$BaseClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 1, attributes: 4
+Constant pool:
+{
   public int value;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -2838,6 +3040,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$InnerClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 2, methods: 1, attributes: 4
+Constant pool:
+{
   public int value;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -2894,6 +3098,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$StaticNestedClass$1
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 3, attributes: 6
+Constant pool:
+{
   com.android.hoststubgen.test.tinyframework.TinyFrameworkNestedClasses$StaticNestedClass$1();
     descriptor: ()V
     flags: (0x0000)
@@ -2961,6 +3167,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$StaticNestedClass$Double$NestedClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 1, attributes: 4
+Constant pool:
+{
   public int value;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -3004,6 +3212,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$StaticNestedClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 2, attributes: 4
+Constant pool:
+{
   public int value;
     descriptor: I
     flags: (0x0001) ACC_PUBLIC
@@ -3063,6 +3273,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$SubClass
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses$BaseClass
   interfaces: 0, fields: 0, methods: 1, attributes: 4
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkNestedClasses$SubClass(int);
     descriptor: (I)V
     flags: (0x0001) ACC_PUBLIC
@@ -3098,6 +3310,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkNestedClasses
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 2, methods: 4, attributes: 5
+Constant pool:
+{
   public final java.util.function.Supplier<java.lang.Integer> mSupplier;
     descriptor: Ljava/util/function/Supplier;
     flags: (0x0011) ACC_PUBLIC, ACC_FINAL
@@ -3223,6 +3437,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkPackageRedirect
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 2, attributes: 3
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkPackageRedirect();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -3265,6 +3481,49 @@
 RuntimeInvisibleAnnotations:
   x: #x()
     android.hosttest.annotation.HostSideTestWholeClassKeep
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted.class
+  Compiled from "TinyFrameworkPartiallyAllowlisted.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+  minor version: 0
+  major version: 61
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 0, methods: 1, attributes: 5
+Constant pool:
+{
+  public static int foo2(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=2, locals=1, args_size=1
+         x: iload_0
+         x: iconst_2
+         x: iadd
+         x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0       4     0 value   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+    RuntimeInvisibleAnnotations:
+      x: #x()
+        android.hosttest.annotation.HostSideTestKeep
+}
+InnerClasses:
+  public static #x= #x of #x;            // PartiallyAllowlisted=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+SourceFile: "TinyFrameworkPartiallyAllowlisted.java"
+RuntimeVisibleAnnotations:
+  x: #x()
+    com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+RuntimeInvisibleAnnotations:
+  x: #x()
+    android.hosttest.annotation.HostSideTestPartiallyAllowlisted
+  x: #x()
+    android.hosttest.annotation.HostSideTestKeep
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller.class
   Compiled from "TinyFrameworkRenamedClassCaller.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkRenamedClassCaller
@@ -3273,7 +3532,9 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 2, attributes: 3
+  interfaces: 0, fields: 0, methods: 3, attributes: 3
+Constant pool:
+{
   public com.android.hoststubgen.test.tinyframework.TinyFrameworkRenamedClassCaller();
     descriptor: ()V
     flags: (0x0001) ACC_PUBLIC
@@ -3308,6 +3569,25 @@
     RuntimeVisibleAnnotations:
       x: #x()
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  public static int bar(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=2, locals=1, args_size=1
+         x: iload_0
+         x: invokestatic  #x                 // Method rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed.getArray:(I)[Lrename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+         x: iconst_0
+         x: aaload
+         x: invokevirtual #x                 // Method rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed.getValue:()I
+         x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      10     0 value   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
 }
 SourceFile: "TinyFrameworkRenamedClassCaller.java"
 RuntimeVisibleAnnotations:
@@ -3325,6 +3605,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/packagetest/A
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "A.java"
 RuntimeVisibleAnnotations:
@@ -3339,6 +3621,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/packagetest/sub/A
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "A.java"
 RuntimeVisibleAnnotations:
@@ -3353,6 +3637,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/C1
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "C1.java"
 RuntimeVisibleAnnotations:
@@ -3367,6 +3653,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/C2
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/subclasstest/C1
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "C2.java"
 RuntimeVisibleAnnotations:
@@ -3381,6 +3669,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/C3
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/subclasstest/C2
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "C3.java"
 RuntimeVisibleAnnotations:
@@ -3395,6 +3685,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/CA
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "CA.java"
 RuntimeVisibleAnnotations:
@@ -3409,6 +3701,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/CB
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "CB.java"
 RuntimeVisibleAnnotations:
@@ -3423,6 +3717,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_C1
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/subclasstest/C1
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "Class_C1.java"
 RuntimeVisibleAnnotations:
@@ -3437,6 +3733,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_C2
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/subclasstest/C2
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "Class_C2.java"
 RuntimeVisibleAnnotations:
@@ -3451,6 +3749,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_C3
   super_class: #x                         // com/android/hoststubgen/test/tinyframework/subclasstest/C3
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "Class_C3.java"
 RuntimeVisibleAnnotations:
@@ -3465,6 +3765,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_I1
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "Class_I1.java"
 RuntimeVisibleAnnotations:
@@ -3479,6 +3781,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_I1_IA
   super_class: #x                         // java/lang/Object
   interfaces: 2, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "Class_I1_IA.java"
 RuntimeVisibleAnnotations:
@@ -3493,6 +3797,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_I2
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "Class_I2.java"
 RuntimeVisibleAnnotations:
@@ -3507,6 +3813,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/Class_I3
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "Class_I3.java"
 RuntimeVisibleAnnotations:
@@ -3521,6 +3829,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/I1
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "I1.java"
 RuntimeVisibleAnnotations:
@@ -3535,6 +3845,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/I2
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "I2.java"
 RuntimeVisibleAnnotations:
@@ -3549,6 +3861,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/I3
   super_class: #x                         // java/lang/Object
   interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "I3.java"
 RuntimeVisibleAnnotations:
@@ -3563,6 +3877,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/IA
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "IA.java"
 RuntimeVisibleAnnotations:
@@ -3577,6 +3893,8 @@
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/subclasstest/IB
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
 }
 SourceFile: "IB.java"
 RuntimeVisibleAnnotations:
@@ -3591,6 +3909,8 @@
   this_class: #x                          // com/supported/UnsupportedClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 1, methods: 2, attributes: 3
+Constant pool:
+{
   private final int mValue;
     descriptor: I
     flags: (0x0012) ACC_PRIVATE, ACC_FINAL
@@ -3650,6 +3970,8 @@
   this_class: #x                          // com/unsupported/UnsupportedClass
   super_class: #x                         // java/lang/Object
   interfaces: 0, fields: 0, methods: 2, attributes: 3
+Constant pool:
+{
   public com.unsupported.UnsupportedClass(int);
     descriptor: (I)V
     flags: (0x0001) ACC_PUBLIC
@@ -3704,7 +4026,9 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 1, methods: 2, attributes: 3
+  interfaces: 0, fields: 1, methods: 3, attributes: 3
+Constant pool:
+{
   private final int mValue;
     descriptor: I
     flags: (0x0012) ACC_PRIVATE, ACC_FINAL
@@ -3726,7 +4050,7 @@
       LineNumberTable:
       LocalVariableTable:
         Start  Length  Slot  Name   Signature
-            0      10     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+            0      10     0  this   Lrename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
             0      10     1 value   I
     RuntimeVisibleAnnotations:
       x: #x()
@@ -3743,7 +4067,30 @@
       LineNumberTable:
       LocalVariableTable:
         Start  Length  Slot  Name   Signature
-            0       5     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+            0       5     0  this   Lrename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  public static rename_prefix.com.android.hoststubgen.test.tinyframework.TinyFrameworkToBeRenamed[] getArray(int);
+    descriptor: (I)[Lrename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=6, locals=1, args_size=1
+         x: iconst_1
+         x: anewarray     #x                  // class rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+         x: dup
+         x: iconst_0
+         x: new           #x                  // class rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+         x: dup
+        x: iload_0
+        x: invokespecial #x                 // Method "<init>":(I)V
+        x: aastore
+        x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+            0      16     0 value   I
     RuntimeVisibleAnnotations:
       x: #x()
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
diff --git a/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output/13-hoststubgen-test-tiny-framework-host-ext-dump.txt b/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output/13-hoststubgen-test-tiny-framework-host-ext-dump.txt
index e4b9db2..d8e7632 100644
--- a/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output/13-hoststubgen-test-tiny-framework-host-ext-dump.txt
+++ b/ravenwood/tools/hoststubgen/test-tiny-framework/golden-output/13-hoststubgen-test-tiny-framework-host-ext-dump.txt
@@ -52,6 +52,30 @@
     java.lang.annotation.Retention(
       value=Ljava/lang/annotation/RetentionPolicy;.CLASS
     )
+## Class: android/hosttest/annotation/HostSideTestPartiallyAllowlisted.class
+  Compiled from "HostSideTestPartiallyAllowlisted.java"
+public interface android.hosttest.annotation.HostSideTestPartiallyAllowlisted extends java.lang.annotation.Annotation
+  minor version: 0
+  major version: 61
+  flags: (0x2601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT, ACC_ANNOTATION
+  this_class: #x                          // android/hosttest/annotation/HostSideTestPartiallyAllowlisted
+  super_class: #x                         // java/lang/Object
+  interfaces: 1, fields: 0, methods: 0, attributes: 2
+Constant pool:
+{
+}
+SourceFile: "HostSideTestPartiallyAllowlisted.java"
+RuntimeVisibleAnnotations:
+  x: #x()
+    com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+  x: #x(#x=[e#x.#x])
+    java.lang.annotation.Target(
+      value=[Ljava/lang/annotation/ElementType;.TYPE]
+    )
+  x: #x(#x=e#x.#x)
+    java.lang.annotation.Retention(
+      value=Ljava/lang/annotation/RetentionPolicy;.CLASS
+    )
 ## Class: android/hosttest/annotation/HostSideTestRedirect.class
   Compiled from "HostSideTestRedirect.java"
 public interface android.hosttest.annotation.HostSideTestRedirect extends java.lang.annotation.Annotation
@@ -2389,6 +2413,66 @@
       #x ()Ljava/lang/Integer;
 NestMembers:
   com/android/hoststubgen/test/tinyframework/TinyFrameworkLambdas$Nested
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester.class
+  Compiled from "TinyFrameworkMethodCallReplace.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester
+  minor version: 0
+  major version: 61
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 1, methods: 2, attributes: 4
+Constant pool:
+{
+  public int i;
+    descriptor: I
+    flags: (0x0001) ACC_PUBLIC
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  private static {};
+    descriptor: ()V
+    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
+    Code:
+      stack=2, locals=0, args_size=0
+         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+         x: ldc           #x                  // String com.android.hoststubgen.hosthelper.HostTestUtils.logClassLoaded
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.onClassLoaded:(Ljava/lang/Class;Ljava/lang/String;)V
+         x: return
+
+  public com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester(int);
+    descriptor: (I)V
+    flags: (0x0001) ACC_PUBLIC
+    Code:
+      stack=4, locals=2, args_size=2
+         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+         x: ldc           #x                 // String <init>
+         x: ldc           #x                 // String (I)V
+         x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.callMethodCallHook:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+        x: aload_0
+        x: invokespecial #x                 // Method java/lang/Object."<init>":()V
+        x: aload_0
+        x: iload_1
+        x: putfield      #x                 // Field i:I
+        x: return
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+           11      10     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+           11      10     1     i   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+}
+InnerClasses:
+  public static #x= #x of #x;           // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
+SourceFile: "TinyFrameworkMethodCallReplace.java"
+RuntimeVisibleAnnotations:
+  x: #x()
+    com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo.class
   Compiled from "TinyFrameworkMethodCallReplace.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ReplaceTo
@@ -2397,7 +2481,7 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 4, attributes: 4
+  interfaces: 0, fields: 0, methods: 5, attributes: 4
 Constant pool:
 {
   private static {};
@@ -2477,8 +2561,34 @@
     RuntimeVisibleAnnotations:
       x: #x()
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  public static com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester newConstructorTester(int);
+    descriptor: (I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=4, locals=1, args_size=1
+         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo
+         x: ldc           #x                 // String newConstructorTester
+         x: ldc           #x                 // String (I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+         x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.callMethodCallHook:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+        x: new           #x                 // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+        x: dup
+        x: iload_0
+        x: iconst_1
+        x: iadd
+        x: invokespecial #x                 // Method com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester."<init>":(I)V
+        x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+           11      11     0     i   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
 }
 InnerClasses:
+  public static #x= #x of #x;          // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   public static #x= #x of #x;           // ReplaceTo=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
 SourceFile: "TinyFrameworkMethodCallReplace.java"
 RuntimeVisibleAnnotations:
@@ -2493,7 +2603,7 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 5, attributes: 6
+  interfaces: 0, fields: 0, methods: 7, attributes: 6
 Constant pool:
 {
   private static {};
@@ -2585,18 +2695,70 @@
       x: #x()
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
 
+  public static com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester constructorReplaceTester(int);
+    descriptor: (I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=4, locals=1, args_size=1
+         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
+         x: ldc           #x                 // String constructorReplaceTester
+         x: ldc           #x                // String (I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+         x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.callMethodCallHook:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+        x: new           #x                 // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
+        x: dup
+        x: iload_0
+        x: invokestatic  #x                // Method com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo.newConstructorTester:(I)Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester;
+        x: swap
+        x: pop
+        x: swap
+        x: pop
+        x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+           11      13     0     i   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  private static int originalAdd(int, int);
+    descriptor: (II)I
+    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
+    Code:
+      stack=4, locals=2, args_size=2
+         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
+         x: ldc           #x                // String originalAdd
+         x: ldc           #x                // String (II)I
+         x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.callMethodCallHook:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+        x: iload_0
+        x: iload_1
+        x: iadd
+        x: iconst_1
+        x: isub
+        x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+           11       6     0     a   I
+           11       6     1     b   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
   private static void lambda$nonStaticMethodCallReplaceTester$0(java.util.concurrent.atomic.AtomicBoolean);
     descriptor: (Ljava/util/concurrent/atomic/AtomicBoolean;)V
     flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
     Code:
       stack=4, locals=1, args_size=1
          x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
-         x: ldc           #x                 // String lambda$nonStaticMethodCallReplaceTester$0
-         x: ldc           #x                 // String (Ljava/util/concurrent/atomic/AtomicBoolean;)V
+         x: ldc           #x                // String lambda$nonStaticMethodCallReplaceTester$0
+         x: ldc           #x                // String (Ljava/util/concurrent/atomic/AtomicBoolean;)V
          x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
          x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.callMethodCallHook:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         x: aload_0
-        x: invokestatic  #x                 // Method java/lang/Thread.currentThread:()Ljava/lang/Thread;
+        x: invokestatic  #x                // Method java/lang/Thread.currentThread:()Ljava/lang/Thread;
         x: invokevirtual #x                // Method java/lang/Thread.isDaemon:()Z
         x: invokevirtual #x                // Method java/util/concurrent/atomic/AtomicBoolean.set:(Z)V
         x: return
@@ -2609,6 +2771,7 @@
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
 }
 InnerClasses:
+  public static #x= #x of #x;           // ConstructorTester=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   public static #x= #x of #x;           // ReplaceTo=class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo of class com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace
   public static final #x= #x of #x;    // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles
 SourceFile: "TinyFrameworkMethodCallReplace.java"
@@ -2626,6 +2789,7 @@
       #x ()V
 NestMembers:
   com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ReplaceTo
+  com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace$ConstructorTester
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkNative.class
   Compiled from "TinyFrameworkNative.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkNative
@@ -4181,6 +4345,64 @@
 RuntimeInvisibleAnnotations:
   x: #x()
     android.hosttest.annotation.HostSideTestWholeClassKeep
+## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted.class
+  Compiled from "TinyFrameworkPartiallyAllowlisted.java"
+public class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+  minor version: 0
+  major version: 61
+  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
+  this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+  super_class: #x                         // java/lang/Object
+  interfaces: 0, fields: 0, methods: 2, attributes: 5
+Constant pool:
+{
+  private static {};
+    descriptor: ()V
+    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
+    Code:
+      stack=2, locals=0, args_size=0
+         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+         x: ldc           #x                  // String com.android.hoststubgen.hosthelper.HostTestUtils.logClassLoaded
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.onClassLoaded:(Ljava/lang/Class;Ljava/lang/String;)V
+         x: return
+
+  public static int foo2(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=4, locals=1, args_size=1
+         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted
+         x: ldc           #x                 // String foo2
+         x: ldc           #x                 // String (I)I
+         x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.callMethodCallHook:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+        x: iload_0
+        x: iconst_2
+        x: iadd
+        x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+           11       4     0 value   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+    RuntimeInvisibleAnnotations:
+      x: #x()
+        android.hosttest.annotation.HostSideTestKeep
+}
+InnerClasses:
+  public static #x= #x of #x;           // PartiallyAllowlisted=class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted of class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
+SourceFile: "TinyFrameworkPartiallyAllowlisted.java"
+RuntimeVisibleAnnotations:
+  x: #x()
+    com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+RuntimeInvisibleAnnotations:
+  x: #x()
+    android.hosttest.annotation.HostSideTestPartiallyAllowlisted
+  x: #x()
+    android.hosttest.annotation.HostSideTestKeep
+NestHost: class com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted
 ## Class: com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller.class
   Compiled from "TinyFrameworkRenamedClassCaller.java"
 public class com.android.hoststubgen.test.tinyframework.TinyFrameworkRenamedClassCaller
@@ -4189,7 +4411,7 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 0, methods: 3, attributes: 3
+  interfaces: 0, fields: 0, methods: 4, attributes: 3
 Constant pool:
 {
   private static {};
@@ -4246,6 +4468,30 @@
     RuntimeVisibleAnnotations:
       x: #x()
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  public static int bar(int);
+    descriptor: (I)I
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=4, locals=1, args_size=1
+         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller
+         x: ldc           #x                 // String bar
+         x: ldc           #x                 // String (I)I
+         x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.callMethodCallHook:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+        x: iload_0
+        x: invokestatic  #x                 // Method rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed.getArray:(I)[Lrename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+        x: iconst_0
+        x: aaload
+        x: invokevirtual #x                 // Method rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed.getValue:()I
+        x: ireturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+           11      10     0 value   I
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
 }
 SourceFile: "TinyFrameworkRenamedClassCaller.java"
 RuntimeVisibleAnnotations:
@@ -4895,7 +5141,7 @@
   flags: (0x0021) ACC_PUBLIC, ACC_SUPER
   this_class: #x                          // rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
   super_class: #x                         // java/lang/Object
-  interfaces: 0, fields: 1, methods: 3, attributes: 3
+  interfaces: 0, fields: 1, methods: 4, attributes: 3
 Constant pool:
 {
   private final int mValue;
@@ -4910,8 +5156,8 @@
     flags: (0x000a) ACC_PRIVATE, ACC_STATIC
     Code:
       stack=2, locals=0, args_size=0
-         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
-         x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logClassLoaded
+         x: ldc           #x                  // class rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+         x: ldc           #x                  // String com.android.hoststubgen.hosthelper.HostTestUtils.logClassLoaded
          x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.onClassLoaded:(Ljava/lang/Class;Ljava/lang/String;)V
          x: return
 
@@ -4920,7 +5166,7 @@
     flags: (0x0001) ACC_PUBLIC
     Code:
       stack=4, locals=2, args_size=2
-         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+         x: ldc           #x                  // class rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
          x: ldc           #x                 // String <init>
          x: ldc           #x                 // String (I)V
          x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
@@ -4934,7 +5180,7 @@
       LineNumberTable:
       LocalVariableTable:
         Start  Length  Slot  Name   Signature
-           11      10     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+           11      10     0  this   Lrename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
            11      10     1 value   I
     RuntimeVisibleAnnotations:
       x: #x()
@@ -4945,7 +5191,7 @@
     flags: (0x0001) ACC_PUBLIC
     Code:
       stack=4, locals=1, args_size=1
-         x: ldc           #x                  // class com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+         x: ldc           #x                  // class rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
          x: ldc           #x                 // String getValue
          x: ldc           #x                 // String ()I
          x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
@@ -4956,7 +5202,35 @@
       LineNumberTable:
       LocalVariableTable:
         Start  Length  Slot  Name   Signature
-           11       5     0  this   Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+           11       5     0  this   Lrename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+    RuntimeVisibleAnnotations:
+      x: #x()
+        com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
+
+  public static rename_prefix.com.android.hoststubgen.test.tinyframework.TinyFrameworkToBeRenamed[] getArray(int);
+    descriptor: (I)[Lrename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
+    Code:
+      stack=6, locals=1, args_size=1
+         x: ldc           #x                  // class rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+         x: ldc           #x                 // String getArray
+         x: ldc           #x                 // String (I)[Lcom/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed;
+         x: ldc           #x                 // String com.android.hoststubgen.hosthelper.HostTestUtils.logMethodCall
+         x: invokestatic  #x                 // Method com/android/hoststubgen/hosthelper/HostTestUtils.callMethodCallHook:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+        x: iconst_1
+        x: anewarray     #x                  // class rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+        x: dup
+        x: iconst_0
+        x: new           #x                  // class rename_prefix/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed
+        x: dup
+        x: iload_0
+        x: invokespecial #x                 // Method "<init>":(I)V
+        x: aastore
+        x: areturn
+      LineNumberTable:
+      LocalVariableTable:
+        Start  Length  Slot  Name   Signature
+           11      16     0 value   I
     RuntimeVisibleAnnotations:
       x: #x()
         com.android.hoststubgen.hosthelper.HostStubGenProcessedAsKeep
diff --git a/ravenwood/tools/hoststubgen/test-tiny-framework/policy-override-tiny-framework.txt b/ravenwood/tools/hoststubgen/test-tiny-framework/policy-override-tiny-framework.txt
index 2f35d35..cbaad2e 100644
--- a/ravenwood/tools/hoststubgen/test-tiny-framework/policy-override-tiny-framework.txt
+++ b/ravenwood/tools/hoststubgen/test-tiny-framework/policy-override-tiny-framework.txt
@@ -68,8 +68,18 @@
 class java.lang.Thread keep
   method start ()V @com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ReplaceTo.startThread
 
+# Used to test constructor replacement.
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ConstructorTester keepclass
+  method <init> (I)V @com.android.hoststubgen.test.tinyframework.TinyFrameworkMethodCallReplace$ReplaceTo.newConstructorTester
+
 
 # "rename" takes a type internal name, so '/'s is used as a separator.
 # The leading / in the prefix is not needed (it'll be stripped), but it's added to make
 # sure the stripping works.
 rename ^.*/TinyFrameworkToBeRenamed$ /rename_prefix/
+
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlisted allow-annotation
+    method foo2 allow-annotation
+
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartialWithWholeClass_bad remove
+class com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted$PartiallyAllowlistedWithoutAnnot_bad remove
\ No newline at end of file
diff --git a/ravenwood/tools/hoststubgen/test-tiny-framework/run-test-manually.sh b/ravenwood/tools/hoststubgen/test-tiny-framework/run-test-manually.sh
index 80ebf3a..450da23 100755
--- a/ravenwood/tools/hoststubgen/test-tiny-framework/run-test-manually.sh
+++ b/ravenwood/tools/hoststubgen/test-tiny-framework/run-test-manually.sh
@@ -13,8 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
-source "${0%/*}"/../../common.sh
+set -e
+source "${0%/*}"/../common.sh
 
 # This scripts run the "tiny-framework" test, but does most stuff from the command line, using
 # the native java and javac commands.
@@ -49,7 +49,7 @@
 tiny_test_jar=$out/tiny-test.jar
 
 framework_compile_classpaths=(
-  $SOONG_INT/frameworks/base/tools/hoststubgen/hoststubgen/hoststubgen-annotations/android_common/javac/hoststubgen-annotations.jar
+  $SOONG_INT/frameworks/base/ravenwood/tools/hoststubgen/hoststubgen-annotations/android_common/javac/hoststubgen-annotations.jar
 )
 
 test_compile_classpaths=(
@@ -58,7 +58,7 @@
 )
 
 test_runtime_classpaths=(
-  $SOONG_INT/frameworks/base/tools/hoststubgen/hoststubgen/hoststubgen-helper-runtime/linux_glibc_common/javac/hoststubgen-helper-runtime.jar
+  $SOONG_INT/frameworks/base/ravenwood/tools/hoststubgen/hoststubgen-helper-runtime/linux_glibc_common/javac/hoststubgen-helper-runtime.jar
 )
 
 # This suite runs all tests in the JAR.
@@ -73,7 +73,7 @@
 run $JAVAC \
     -cp $( \
         join : \
-        ${framework_compile_classpaths[@]} \
+        "${framework_compile_classpaths[@]}" \
         ) \
     -d $tiny_framework_classes \
     tiny-framework/src/**/*.java
@@ -83,7 +83,9 @@
 
 # Build stub/impl jars
 echo "# Generating the stub and impl jars..."
+# Run with HOSTSTUBGEN_OPTS="-Jagentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8700" to enable the debugger
 run $HOSTSTUBGEN \
+    $HOSTSTUBGEN_OPTS \
     @../hoststubgen-standard-options.txt \
     --in-jar $tiny_framework_jar \
     --out-jar $tiny_framework_host_jar \
@@ -91,8 +93,7 @@
     --gen-keep-all-file out/tiny-framework_keep_all.txt \
     --gen-input-dump-file out/tiny-framework_dump.txt \
     --package-redirect com.unsupported:com.supported \
-    --annotation-allowed-classes-file annotation-allowed-classes-tiny-framework.txt \
-    $HOSTSTUBGEN_OPTS
+    --annotation-allowed-classes-file annotation-allowed-classes-tiny-framework.txt
 
 # Extract the jar files, so we can look into them.
 extract $tiny_framework_host_jar
@@ -127,4 +128,4 @@
         "${test_runtime_classpaths[@]}" \
         ) \
     org.junit.runner.JUnitCore \
-    ${test_classes[@]}
+    "${test_classes[@]}"
diff --git a/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-framework/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace.java b/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-framework/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace.java
index 57c69a3..d850be8 100644
--- a/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-framework/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace.java
+++ b/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-framework/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkMethodCallReplace.java
@@ -41,10 +41,23 @@
         return originalAdd(1, 2);
     }
 
+    public static ConstructorTester constructorReplaceTester(int i) {
+        // This object construction will be replaced with ReplaceTo.newConstructorTester().
+        return new ConstructorTester(i);
+    }
+
     private static int originalAdd(int a, int b) {
         return a + b - 1; // Original is broken.
     }
 
+    public static class ConstructorTester {
+        public int i;
+
+        public ConstructorTester(int i) {
+            this.i = i;
+        }
+    }
+
     public static class ReplaceTo {
         public static void startThread(Thread thread) {
             thread.setDaemon(true);
@@ -54,5 +67,9 @@
         public static int add(int a, int b) {
             return a + b;
         }
+
+        public static ConstructorTester newConstructorTester(int i) {
+            return new ConstructorTester(i + 1);
+        }
     }
 }
diff --git a/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-framework/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted.java b/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-framework/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted.java
new file mode 100644
index 0000000..dfc9de4
--- /dev/null
+++ b/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-framework/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkPartiallyAllowlisted.java
@@ -0,0 +1,67 @@
+/*
+ * 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.hoststubgen.test.tinyframework;
+
+import android.hosttest.annotation.HostSideTestKeep;
+import android.hosttest.annotation.HostSideTestPartiallyAllowlisted;
+import android.hosttest.annotation.HostSideTestWholeClassKeep;
+
+/**
+ * Contains subclasses for tests for "partially-allowlisted".
+ */
+public class TinyFrameworkPartiallyAllowlisted {
+    /** */
+    @HostSideTestPartiallyAllowlisted
+    @HostSideTestKeep
+    public static class PartiallyAllowlisted {
+        /** */
+        public static int foo1(int value) {
+            return value + 1;
+        }
+
+        /** */
+        @HostSideTestKeep
+        public static int foo2(int value) {
+            return value + 2;
+        }
+    }
+
+    /** */
+    @HostSideTestPartiallyAllowlisted
+    @HostSideTestWholeClassKeep // This should be disallowed.
+    public static class PartialWithWholeClass_bad {
+    }
+
+    /** */
+    // Missing @HostSideTestPartiallyAllowlisted
+    @HostSideTestKeep
+    public static class PartiallyAllowlistedWithoutAnnot_bad {
+        /** */
+        public static int foo1(int value) {
+            return value + 1;
+        }
+
+        /** */
+        @HostSideTestKeep
+        public static int foo2(int value) {
+            return value + 2;
+        }
+    }
+
+    /** */
+    public static class NoAnnotations {
+    }
+}
diff --git a/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-framework/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller.java b/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-framework/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller.java
index 707bc0e..74e4610 100644
--- a/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-framework/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller.java
+++ b/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-framework/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkRenamedClassCaller.java
@@ -25,4 +25,9 @@
         // so this code should work as-is.
         return new TinyFrameworkToBeRenamed(value).getValue();
     }
+
+    /** Calls the class that'll be renamed. */
+    public static int bar(int value) {
+        return TinyFrameworkToBeRenamed.getArray(value)[0].getValue();
+    }
 }
diff --git a/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-framework/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed.java b/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-framework/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed.java
index 8319ced..7dcc83e 100644
--- a/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-framework/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed.java
+++ b/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-framework/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkToBeRenamed.java
@@ -31,4 +31,8 @@
     public int getValue() {
         return mValue;
     }
+
+    public static TinyFrameworkToBeRenamed[] getArray(int value) {
+        return new TinyFrameworkToBeRenamed[] { new TinyFrameworkToBeRenamed(value) };
+    }
 }
diff --git a/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-test/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkAnnotationsTest.java b/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-test/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkAnnotationsTest.java
index 1ae0493..93387f5 100644
--- a/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-test/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkAnnotationsTest.java
+++ b/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-test/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkAnnotationsTest.java
@@ -19,6 +19,8 @@
 
 import static org.junit.Assert.assertThrows;
 
+import com.android.hoststubgen.test.tinyframework.TinyFrameworkPartiallyAllowlisted.PartiallyAllowlisted;
+
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
@@ -61,4 +63,19 @@
         thrown.expectMessage("not yet supported");
         tfc.unsupportedMethod();
     }
+
+    @Test
+    public void testPartiallyAllowed() {
+        assertThat(PartiallyAllowlisted.foo2(1)).isEqualTo(3);
+        assertThrows(NoSuchMethodError.class, () -> PartiallyAllowlisted.foo1(1));
+
+        // Just make sure the following classes don't exist.
+        assertThrows(ClassNotFoundException.class,
+                () -> Class.forName("com.android.hoststubgen.test.tinyframework"
+                        + ".TinyFrameworkPartiallyAllowlisted.PartialWithWholeClass_bad"));
+        assertThrows(ClassNotFoundException.class,
+                () -> Class.forName("com.android.hoststubgen.test.tinyframework"
+                        + ".TinyFrameworkPartiallyAllowlisted.PartiallyAllowlistedWithoutAnnot_bad"
+                ));
+    }
 }
diff --git a/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-test/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkClassTest.java b/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-test/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkClassTest.java
index 68673dc..89fcd30 100644
--- a/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-test/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkClassTest.java
+++ b/ravenwood/tools/hoststubgen/test-tiny-framework/tiny-test/src/com/android/hoststubgen/test/tinyframework/TinyFrameworkClassTest.java
@@ -308,6 +308,11 @@
     }
 
     @Test
+    public void testTypeRenameArray() {
+        assertThat(TinyFrameworkRenamedClassCaller.bar(2)).isEqualTo(2);
+    }
+
+    @Test
     public void testMethodCallReplaceNonStatic() throws Exception {
         assertThat(TinyFrameworkMethodCallReplace.nonStaticMethodCallReplaceTester())
                 .isEqualTo(true);
@@ -318,4 +323,10 @@
         assertThat(TinyFrameworkMethodCallReplace.staticMethodCallReplaceTester())
                 .isEqualTo(3);
     }
+
+    @Test
+    public void testConstructorCallReplace() throws Exception {
+        assertThat(TinyFrameworkMethodCallReplace.constructorReplaceTester(5).i)
+                .isEqualTo(6);
+    }
 }
diff --git a/ravenwood/tools/hoststubgen/test/com/android/hoststubgen/utils/ClassPredicateTest.kt b/ravenwood/tools/hoststubgen/test/com/android/hoststubgen/utils/ClassPredicateTest.kt
index 5a877e6..3e6615e 100644
--- a/ravenwood/tools/hoststubgen/test/com/android/hoststubgen/utils/ClassPredicateTest.kt
+++ b/ravenwood/tools/hoststubgen/test/com/android/hoststubgen/utils/ClassPredicateTest.kt
@@ -112,4 +112,4 @@
 
         assertThat(f.matches("a/XyzAbc")).isEqualTo(false)
     }
-}
\ No newline at end of file
+}
diff --git a/ravenwood/tools/ravenhelper/src/com/android/platform/test/ravenwood/ravenhelper/policytoannot/Annotations.kt b/ravenwood/tools/ravenhelper/src/com/android/platform/test/ravenwood/ravenhelper/policytoannot/Annotations.kt
index ef1cb5d..33fb015 100644
--- a/ravenwood/tools/ravenhelper/src/com/android/platform/test/ravenwood/ravenhelper/policytoannot/Annotations.kt
+++ b/ravenwood/tools/ravenhelper/src/com/android/platform/test/ravenwood/ravenhelper/policytoannot/Annotations.kt
@@ -49,6 +49,7 @@
                 "@android.ravenwood.annotation.RavenwoodIgnore"
             FilterPolicy.Remove ->
                 "@android.ravenwood.annotation.RavenwoodRemove"
+            FilterPolicy.AnnotationAllowed -> null // Can't convert to an annotation.
         }
     }
 
diff --git a/ravenwood/tools/ravenhelper/src/com/android/platform/test/ravenwood/ravenhelper/policytoannot/PtaProcessor.kt b/ravenwood/tools/ravenhelper/src/com/android/platform/test/ravenwood/ravenhelper/policytoannot/PtaProcessor.kt
index b6089ea..a7f481a 100644
--- a/ravenwood/tools/ravenhelper/src/com/android/platform/test/ravenwood/ravenhelper/policytoannot/PtaProcessor.kt
+++ b/ravenwood/tools/ravenhelper/src/com/android/platform/test/ravenwood/ravenhelper/policytoannot/PtaProcessor.kt
@@ -449,7 +449,6 @@
             methodName: String,
             methodDesc: String,
             replaceSpec: TextFilePolicyMethodReplaceFilter.MethodCallReplaceSpec,
-            policy: FilterPolicyWithReason
         ) {
             // This can't be converted to an annotation.
             classHasMember = true
diff --git a/services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java b/services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java
index 4b04248..47aa8f5 100644
--- a/services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java
+++ b/services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java
@@ -1115,14 +1115,12 @@
         if (svcConnTracingEnabled()) {
             logTraceSvcConn("performGlobalAction", "action=" + action);
         }
-        int currentUserId;
         synchronized (mLock) {
             if (!hasRightsToCurrentUserLocked()) {
                 return false;
             }
-            currentUserId = mSystemSupport.getCurrentUserIdLocked();
         }
-        enforceCurrentUserIfVisibleBackgroundEnabled(currentUserId);
+        enforceCurrentUserIfVisibleBackgroundEnabled();
         final long identity = Binder.clearCallingIdentity();
         try {
             return mSystemActionPerformer.performSystemAction(action);
@@ -2791,11 +2789,7 @@
     @RequiresNoPermission
     @Override
     public void setAnimationScale(float scale) {
-        int currentUserId;
-        synchronized (mLock) {
-            currentUserId = mSystemSupport.getCurrentUserIdLocked();
-        }
-        enforceCurrentUserIfVisibleBackgroundEnabled(currentUserId);
+        enforceCurrentUserIfVisibleBackgroundEnabled();
         final long identity = Binder.clearCallingIdentity();
         try {
             Settings.Global.putFloat(
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
index 9eb8442..42834ce 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
@@ -1402,11 +1402,7 @@
     @EnforcePermission(MANAGE_ACCESSIBILITY)
     public void registerSystemAction(RemoteAction action, int actionId) {
         registerSystemAction_enforcePermission();
-        int currentUserId;
-        synchronized (mLock) {
-            currentUserId = mCurrentUserId;
-        }
-        enforceCurrentUserIfVisibleBackgroundEnabled(currentUserId);
+        enforceCurrentUserIfVisibleBackgroundEnabled();
         if (mTraceManager.isA11yTracingEnabledForTypes(FLAGS_ACCESSIBILITY_MANAGER)) {
             mTraceManager.logTrace(LOG_TAG + ".registerSystemAction",
                     FLAGS_ACCESSIBILITY_MANAGER, "action=" + action + ";actionId=" + actionId);
@@ -1423,11 +1419,7 @@
     @EnforcePermission(MANAGE_ACCESSIBILITY)
     public void unregisterSystemAction(int actionId) {
         unregisterSystemAction_enforcePermission();
-        int currentUserId;
-        synchronized (mLock) {
-            currentUserId = mCurrentUserId;
-        }
-        enforceCurrentUserIfVisibleBackgroundEnabled(currentUserId);
+        enforceCurrentUserIfVisibleBackgroundEnabled();
         if (mTraceManager.isA11yTracingEnabledForTypes(FLAGS_ACCESSIBILITY_MANAGER)) {
             mTraceManager.logTrace(LOG_TAG + ".unregisterSystemAction",
                     FLAGS_ACCESSIBILITY_MANAGER, "actionId=" + actionId);
@@ -1759,7 +1751,7 @@
         synchronized (mLock) {
             currentUserId = mCurrentUserId;
         }
-        enforceCurrentUserIfVisibleBackgroundEnabled(currentUserId);
+        enforceCurrentUserIfVisibleBackgroundEnabled();
         if (mTraceManager.isA11yTracingEnabledForTypes(FLAGS_ACCESSIBILITY_MANAGER)) {
             mTraceManager.logTrace(LOG_TAG + ".notifyAccessibilityButtonClicked",
                     FLAGS_ACCESSIBILITY_MANAGER,
@@ -1807,11 +1799,7 @@
     @EnforcePermission(STATUS_BAR_SERVICE)
     public void notifyAccessibilityButtonVisibilityChanged(boolean shown) {
         notifyAccessibilityButtonVisibilityChanged_enforcePermission();
-        int currentUserId;
-        synchronized (mLock) {
-            currentUserId = mCurrentUserId;
-        }
-        enforceCurrentUserIfVisibleBackgroundEnabled(currentUserId);
+        enforceCurrentUserIfVisibleBackgroundEnabled();
         if (mTraceManager.isA11yTracingEnabledForTypes(FLAGS_ACCESSIBILITY_MANAGER)) {
             mTraceManager.logTrace(LOG_TAG + ".notifyAccessibilityButtonVisibilityChanged",
                     FLAGS_ACCESSIBILITY_MANAGER, "shown=" + shown);
@@ -2149,9 +2137,6 @@
                         this, 0, oldUserState.mUserId));
             }
 
-            // Announce user changes only if more than one exist.
-            final boolean announceNewUser = mUserManager.getUsers().size() > 1;
-
             // The user changed.
             mCurrentUserId = userId;
             AccessibilityUserState userState = getCurrentUserStateLocked();
@@ -2178,13 +2163,6 @@
             // As an initialization step, update the shortcuts for the current user.
             updateShortcutsForCurrentNavigationMode();
 
-            if (announceNewUser) {
-                // Schedule announcement of the current user if needed.
-                mMainHandler.sendMessageDelayed(
-                        obtainMessage(AccessibilityManagerService::announceNewUserIfNeeded, this),
-                        WAIT_FOR_USER_STATE_FULLY_INITIALIZED_MILLIS);
-            }
-
             for (IUserInitializationCompleteCallback callback
                     : mUserInitializationCompleteCallbacks) {
                 try {
@@ -2198,20 +2176,6 @@
         }
     }
 
-    private void announceNewUserIfNeeded() {
-        synchronized (mLock) {
-            AccessibilityUserState userState = getCurrentUserStateLocked();
-            if (userState.isHandlingAccessibilityEventsLocked()) {
-                String message = mContext.getString(R.string.user_switched,
-                        mUserManager.getUserInfo(mCurrentUserId).name);
-                AccessibilityEvent event = AccessibilityEvent.obtain(
-                        AccessibilityEvent.TYPE_ANNOUNCEMENT);
-                event.getText().add(message);
-                sendAccessibilityEventLocked(event, mCurrentUserId);
-            }
-        }
-    }
-
     private void unlockUser(int userId) {
         synchronized (mLock) {
             int parentUserId = mSecurityPolicy.resolveProfileParentLocked(userId);
@@ -5002,11 +4966,7 @@
             throws RemoteException {
         registerProxyForDisplay_enforcePermission();
         mSecurityPolicy.checkForAccessibilityPermissionOrRole();
-        int currentUserId;
-        synchronized (mLock) {
-            currentUserId = mCurrentUserId;
-        }
-        enforceCurrentUserIfVisibleBackgroundEnabled(currentUserId);
+        enforceCurrentUserIfVisibleBackgroundEnabled();
         if (client == null) {
             return false;
         }
diff --git a/services/accessibility/java/com/android/server/accessibility/autoclick/AutoclickController.java b/services/accessibility/java/com/android/server/accessibility/autoclick/AutoclickController.java
index aa82df4..bb3c710 100644
--- a/services/accessibility/java/com/android/server/accessibility/autoclick/AutoclickController.java
+++ b/services/accessibility/java/com/android/server/accessibility/autoclick/AutoclickController.java
@@ -156,7 +156,7 @@
 
         mWindowManager = mContext.getSystemService(WindowManager.class);
         mAutoclickTypePanel =
-                new AutoclickTypePanel(mContext, mWindowManager, clickPanelController);
+                new AutoclickTypePanel(mContext, mWindowManager, mUserId, clickPanelController);
 
         mAutoclickTypePanel.show();
         mWindowManager.addView(mAutoclickIndicatorView, mAutoclickIndicatorView.getLayoutParams());
@@ -230,6 +230,11 @@
         return Flags.enableAutoclickIndicator() && mAutoclickTypePanel.isPaused();
     }
 
+    @VisibleForTesting
+    void onChangeForTesting(boolean selfChange, Uri uri) {
+        mAutoclickSettingsObserver.onChange(selfChange, uri);
+    }
+
     /**
      * Observes autoclick setting values, and updates ClickScheduler delay and indicator size
      * whenever the setting value changes.
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 342675a..ab4b3b1 100644
--- a/services/accessibility/java/com/android/server/accessibility/autoclick/AutoclickTypePanel.java
+++ b/services/accessibility/java/com/android/server/accessibility/autoclick/AutoclickTypePanel.java
@@ -16,6 +16,7 @@
 
 package com.android.server.accessibility.autoclick;
 
+import static android.provider.Settings.Secure.ACCESSIBILITY_AUTOCLICK_PANEL_POSITION;
 import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
 
 import android.annotation.IntDef;
@@ -23,6 +24,8 @@
 import android.graphics.PixelFormat;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.GradientDrawable;
+import android.provider.Settings;
+import android.text.TextUtils;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.MotionEvent;
@@ -52,6 +55,9 @@
     public static final int CORNER_TOP_LEFT = 2;
     public static final int CORNER_TOP_RIGHT = 3;
 
+    // Used to remember and restore panel's position.
+    protected static final String POSITION_DELIMITER = ",";
+
     // Distance between panel and screen edge.
     // TODO(b/396402941): Finalize edge margin.
     private static final int PANEL_EDGE_MARGIN = 15;
@@ -112,6 +118,8 @@
 
     private final WindowManager mWindowManager;
 
+    private final int mUserId;
+
     private WindowManager.LayoutParams mParams;
 
     private final ClickPanelControllerInterface mClickPanelController;
@@ -142,9 +150,11 @@
     public AutoclickTypePanel(
             Context context,
             WindowManager windowManager,
+            int userId,
             ClickPanelControllerInterface clickPanelController) {
         mContext = context;
         mWindowManager = windowManager;
+        mUserId = userId;
         mClickPanelController = clickPanelController;
         mParams = getDefaultLayoutParams();
 
@@ -308,6 +318,9 @@
     }
 
     public void show() {
+        // Restores the panel position from saved settings. If no valid position is saved,
+        // defaults to bottom-right corner.
+        restorePanelPosition();
         mWindowManager.addView(mContentView, mParams);
     }
 
@@ -316,6 +329,9 @@
         // button background styling is correct when the panel shows up next time.
         toggleSelectedButtonStyle(mSelectedButton, /* isSelected= */ false);
 
+        // Save the panel's position when user turns off the autoclick.
+        savePanelPosition();
+
         mWindowManager.removeView(mContentView);
     }
 
@@ -424,6 +440,79 @@
         }
     }
 
+    private void savePanelPosition() {
+        String positionString = TextUtils.join(POSITION_DELIMITER, new String[]{
+                String.valueOf(mParams.gravity),
+                String.valueOf(mParams.x),
+                String.valueOf(mParams.y),
+                String.valueOf(mCurrentCornerIndex)
+        });
+        Settings.Secure.putStringForUser(mContext.getContentResolver(),
+                ACCESSIBILITY_AUTOCLICK_PANEL_POSITION, positionString, mUserId);
+    }
+
+    /**
+     * Restores the panel position from saved settings. If no valid position is saved,
+     * defaults to bottom-right corner.
+     */
+    private void restorePanelPosition() {
+        // Try to get saved position from settings.
+        String savedPosition = Settings.Secure.getStringForUser(mContext.getContentResolver(),
+                ACCESSIBILITY_AUTOCLICK_PANEL_POSITION, mUserId);
+        if (savedPosition == null) {
+            setPanelPositionForCorner(mParams, CORNER_BOTTOM_RIGHT);
+            mCurrentCornerIndex = 0;
+            return;
+        }
+
+        // Parse saved position string in "gravity,x,y,corner" format.
+        String[] parts = TextUtils.split(savedPosition, POSITION_DELIMITER);
+        if (!isValidPositionParts(parts)) {
+            setPanelPositionForCorner(mParams, CORNER_BOTTOM_RIGHT);
+            mCurrentCornerIndex = 0;
+            return;
+        }
+
+        // Restore the saved position values.
+        mParams.gravity = Integer.parseInt(parts[0]);
+        mParams.x = Integer.parseInt(parts[1]);
+        mParams.y = Integer.parseInt(parts[2]);
+        mCurrentCornerIndex = Integer.parseInt(parts[3]);
+    }
+
+    private boolean isValidPositionParts(String[] parts) {
+        // Check basic array validity.
+        if (parts == null || parts.length != 4) {
+            return false;
+        }
+
+        // Parse values after validating they are numbers.
+        int gravity = Integer.parseInt(parts[0]);
+        int x = Integer.parseInt(parts[1]);
+        int y = Integer.parseInt(parts[2]);
+        int cornerIndex = Integer.parseInt(parts[3]);
+
+        // Check gravity is valid (START/END | TOP/BOTTOM).
+        if (gravity != (Gravity.START | Gravity.TOP) && gravity != (Gravity.END | Gravity.TOP)
+                && gravity != (Gravity.START | Gravity.BOTTOM) && gravity != (Gravity.END
+                | Gravity.BOTTOM)) {
+            return false;
+        }
+
+        // Check coordinates are positive and within screen bounds.
+        int screenWidth = mContext.getResources().getDisplayMetrics().widthPixels;
+        int screenHeight = mContext.getResources().getDisplayMetrics().heightPixels;
+        if (x < 0 || x > screenWidth || y < 0 || y > screenHeight) {
+            return false;
+        }
+
+        // Check corner index is valid.
+        if (cornerIndex < 0 || cornerIndex >= 4) {
+            return false;
+        }
+        return true;
+    }
+
     @VisibleForTesting
     boolean getExpansionStateForTesting() {
         return mExpanded;
diff --git a/services/art-profile b/services/art-profile
index 712fca9..2c7e754 100644
--- a/services/art-profile
+++ b/services/art-profile
@@ -49,7 +49,7 @@
 HSPLcom/android/server/AppStateTrackerImpl$MyHandler;->handleUidActive(I)V+]Lcom/android/server/AppStateTrackerImpl$MyHandler;Lcom/android/server/AppStateTrackerImpl$MyHandler;
 HSPLcom/android/server/AppStateTrackerImpl$MyHandler;->handleUidCached(IZ)V+]Lcom/android/server/AppStateTrackerImpl$Listener;Lcom/android/server/AppStateTrackerImpl$1;,Lcom/android/server/alarm/AlarmManagerService$7;,Lcom/android/server/job/controllers/BackgroundJobsController$2;
 HSPLcom/android/server/AppStateTrackerImpl$MyHandler;->removeUid(IZ)V+]Lcom/android/server/AppStateTrackerImpl$MyHandler;Lcom/android/server/AppStateTrackerImpl$MyHandler;
-HPLcom/android/server/AppStateTrackerImpl;->areAlarmsRestrictedByBatterySaver(ILjava/lang/String;)Z+]Landroid/util/SparseSetArray;Landroid/util/SparseSetArray;]Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTrackerImpl;]Lcom/android/server/usage/AppStandbyInternal;Lcom/android/server/usage/AppStandbyController;
+HSPLcom/android/server/AppStateTrackerImpl;->areAlarmsRestrictedByBatterySaver(ILjava/lang/String;)Z+]Landroid/util/SparseSetArray;Landroid/util/SparseSetArray;]Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTrackerImpl;]Lcom/android/server/usage/AppStandbyInternal;Lcom/android/server/usage/AppStandbyController;
 HSPLcom/android/server/AppStateTrackerImpl;->areJobsRestricted(ILjava/lang/String;Z)Z+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/util/SparseSetArray;Landroid/util/SparseSetArray;]Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTrackerImpl;]Lcom/android/server/usage/AppStandbyInternal;Lcom/android/server/usage/AppStandbyController;
 HSPLcom/android/server/AppStateTrackerImpl;->cloneListeners()[Lcom/android/server/AppStateTrackerImpl$Listener;
 HSPLcom/android/server/AppStateTrackerImpl;->findForcedAppStandbyUidPackageIndexLocked(ILjava/lang/String;)I
@@ -57,12 +57,13 @@
 HSPLcom/android/server/AppStateTrackerImpl;->isRunAnyInBackgroundAppOpsAllowed(ILjava/lang/String;)Z+]Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTrackerImpl;
 HSPLcom/android/server/AppStateTrackerImpl;->isRunAnyRestrictedLocked(ILjava/lang/String;)Z
 HSPLcom/android/server/AppStateTrackerImpl;->isUidActive(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;
-HPLcom/android/server/AppStateTrackerImpl;->isUidPowerSaveUserExempt(I)Z
+HSPLcom/android/server/AppStateTrackerImpl;->isUidPowerSaveUserExempt(I)Z
 HSPLcom/android/server/AppStateTrackerImpl;->setPowerSaveExemptionListAppIds([I[I[I)V+]Lcom/android/server/AppStateTrackerImpl$MyHandler;Lcom/android/server/AppStateTrackerImpl$MyHandler;
 HSPLcom/android/server/BatteryService$Led;->updateLightsLocked()V+]Lcom/android/server/lights/LogicalLight;Lcom/android/server/lights/LightsService$LightImpl;
 HSPLcom/android/server/BatteryService;->processValuesLocked(Z)V+]Lcom/android/internal/app/IBatteryStats;Lcom/android/server/am/BatteryStatsService;]Lcom/android/internal/logging/MetricsLogger;Lcom/android/internal/logging/MetricsLogger;
 HSPLcom/android/server/BatteryService;->rateLimitBatteryChangedBroadcast(Z)Z
 HSPLcom/android/server/BatteryService;->sendBatteryChangedIntentLocked(Z)V
+HSPLcom/android/server/BatteryService;->shouldSendBatteryLowLocked()Z
 HSPLcom/android/server/BatteryService;->traceBatteryChangedBroadcastEvent(Landroid/content/Intent;Z)V+]Landroid/content/Intent;Landroid/content/Intent;
 HSPLcom/android/server/BatteryService;->update(Landroid/hardware/health/HealthInfo;)V+]Landroid/os/ConditionVariable;Landroid/os/ConditionVariable;
 HSPLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->getCallingUid()I
@@ -73,6 +74,7 @@
 HSPLcom/android/server/DeviceIdleController;->reportTempWhitelistChangedLocked(IZ)V+]Landroid/content/Context;Landroid/app/ContextImpl;
 HSPLcom/android/server/DeviceIdleController;->updateTempWhitelistAppIdsLocked(IZJIILjava/lang/String;I)V+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/os/PowerManagerInternal;Lcom/android/server/power/PowerManagerService$LocalService;]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/DropBoxManagerService$EntryFile;->compareTo(Lcom/android/server/DropBoxManagerService$EntryFile;)I
+HSPLcom/android/server/DropBoxManagerService$EntryFile;->compareTo(Ljava/lang/Object;)I
 HSPLcom/android/server/DropBoxManagerService$EntryFile;->getExtension()Ljava/lang/String;
 HSPLcom/android/server/DropBoxManagerService$EntryFile;->getFilename()Ljava/lang/String;
 HSPLcom/android/server/DropBoxManagerService;->addEntry(Ljava/lang/String;Lcom/android/server/DropBoxManagerInternal$EntrySource;I)V+]Lcom/android/server/DropBoxManagerInternal$EntrySource;Lcom/android/server/DropBoxManagerService$SimpleEntrySource;]Lcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;Lcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;]Ljava/lang/Thread;Lcom/android/server/IoThread;,Lcom/android/server/ServiceThread;,Lcom/android/server/am/ActivityManagerService$13;,Ljava/lang/Thread;
@@ -114,7 +116,7 @@
 HSPLcom/android/server/StorageManagerService$WatchedUnlockedUsers;->contains(I)Z
 HSPLcom/android/server/StorageManagerService;->getMountModeInternal(ILjava/lang/String;)I+]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/internal/app/IAppOpsService;Lcom/android/server/appop/AppOpsService;
 HSPLcom/android/server/StorageManagerService;->getVolumeList(ILjava/lang/String;I)[Landroid/os/storage/StorageVolume;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Landroid/os/storage/VolumeInfo;Landroid/os/storage/VolumeInfo;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/StorageManagerService;Lcom/android/server/StorageManagerService;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;
-HSPLcom/android/server/StorageManagerService;->getVolumes(I)[Landroid/os/storage/VolumeInfo;
+HSPLcom/android/server/StorageManagerService;->getVolumes(I)[Landroid/os/storage/VolumeInfo;+]Lcom/android/server/storage/WatchedVolumeInfo;Lcom/android/server/storage/WatchedVolumeInfo;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;
 HSPLcom/android/server/StorageManagerService;->isCeStorageUnlocked(I)Z+]Lcom/android/server/StorageManagerService$WatchedUnlockedUsers;Lcom/android/server/StorageManagerService$WatchedUnlockedUsers;
 HPLcom/android/server/StorageManagerService;->monitor()V+]Landroid/os/IVold;Landroid/os/IVold$Stub$Proxy;
 HSPLcom/android/server/StorageManagerService;->updateLegacyStorageApps(Ljava/lang/String;IZ)V+]Ljava/util/Set;Landroid/util/ArraySet;
@@ -122,12 +124,12 @@
 HSPLcom/android/server/SystemConfig;->readPermissionAllowlist(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/ArrayMap;Ljava/lang/String;)V
 HSPLcom/android/server/SystemConfig;->readPermissionsFromXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/io/File;I)V
 HSPLcom/android/server/SystemService;->getContext()Landroid/content/Context;
-HSPLcom/android/server/SystemServiceManager;->onUser(Lcom/android/server/utils/TimingsTraceAndSlog;Ljava/lang/String;Lcom/android/server/SystemService$TargetUser;Lcom/android/server/SystemService$TargetUser;Lcom/android/server/SystemService$UserCompletedEventType;)V+]Lcom/android/server/SystemService;megamorphic_types]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Ljava/util/concurrent/ExecutorService;Ljava/util/concurrent/ThreadPoolExecutor;
-HSPLcom/android/server/SystemServiceManager;->startBootPhase(Lcom/android/server/utils/TimingsTraceAndSlog;I)V
+HPLcom/android/server/TelephonyRegistry$Record;->matchTelephonyCallbackEvent(I)Z+]Ljava/util/Set;Ljava/util/HashSet;
 HSPLcom/android/server/TelephonyRegistry;->add(Landroid/os/IBinder;IIZ)Lcom/android/server/TelephonyRegistry$Record;+]Landroid/os/IBinder;megamorphic_types]Lcom/android/server/TelephonyRegistry$ConfigurationProvider;Lcom/android/server/TelephonyRegistry$ConfigurationProvider;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/TelephonyRegistry;->listen(ZZLjava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;Ljava/util/Set;ZI)V+]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Landroid/util/IntArray;Landroid/util/IntArray;]Lcom/android/internal/telephony/IPhoneStateListener;Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;,Landroid/telephony/TelephonyCallback$IPhoneStateListenerStub;,Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Map;Landroid/util/ArrayMap;]Ljava/util/Set;Ljava/util/HashSet;
 HSPLcom/android/server/ThreadPriorityBooster;->boost()V+]Ljava/lang/ThreadLocal;Lcom/android/server/ThreadPriorityBooster$1;
 HSPLcom/android/server/ThreadPriorityBooster;->reset()V+]Ljava/lang/ThreadLocal;Lcom/android/server/ThreadPriorityBooster$1;
+HSPLcom/android/server/UiModeManagerService;->updateConfigurationLocked()V+]Lcom/android/server/UiModeManagerService$IntProperty;Lcom/android/server/UiModeManagerService$1;,Lcom/android/server/UiModeManagerService$2;]Lcom/android/server/twilight/TwilightManager;Lcom/android/server/twilight/TwilightService$1;
 HPLcom/android/server/Watchdog$HandlerChecker;->getCompletionStateLocked()I+]Ljava/time/Clock;Landroid/os/SystemClock$1;
 HSPLcom/android/server/Watchdog$HandlerChecker;->isHandlerPolling()Z
 HSPLcom/android/server/Watchdog$HandlerChecker;->run()V+]Lcom/android/server/Watchdog$Monitor;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList;
@@ -136,6 +138,7 @@
 HSPLcom/android/server/Watchdog$HandlerCheckerAndTimeout;->customTimeoutMillis()Ljava/util/Optional;
 HPLcom/android/server/Watchdog;->evaluateCheckerCompletionLocked()I+]Lcom/android/server/Watchdog$HandlerChecker;Lcom/android/server/Watchdog$HandlerChecker;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/Watchdog;->run()V
+HSPLcom/android/server/accessibility/AccessibilityManagerService;->getEnabledAccessibilityServiceList(II)Ljava/util/List;+]Lcom/android/server/accessibility/AccessibilitySecurityPolicy;Lcom/android/server/accessibility/AccessibilitySecurityPolicy;]Lcom/android/server/accessibility/AccessibilityServiceConnection;Lcom/android/server/accessibility/AccessibilityServiceConnection;]Lcom/android/server/accessibility/AccessibilityTraceManager;Lcom/android/server/accessibility/AccessibilityTraceManager;]Lcom/android/server/accessibility/ProxyManager;Lcom/android/server/accessibility/ProxyManager;]Lcom/android/server/accessibility/UiAutomationManager;Lcom/android/server/accessibility/UiAutomationManager;]Ljava/util/List;Ljava/util/ArrayList;
 HPLcom/android/server/accounts/AccountManagerService$7;->onResult(Landroid/os/Bundle;)V
 HPLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;ILjava/lang/String;Z)V
 HPLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;->checkAccount()V+]Landroid/accounts/IAccountAuthenticator;Landroid/accounts/IAccountAuthenticator$Stub$Proxy;]Lcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;Lcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;
@@ -149,13 +152,14 @@
 HPLcom/android/server/accounts/AccountManagerService$Session;->onResult(Landroid/os/Bundle;)V+]Landroid/accounts/IAccountManagerResponse;Landroid/accounts/IAccountManagerResponse$Stub$Proxy;]Lcom/android/server/accounts/AccountManagerService$Session;Lcom/android/server/accounts/AccountManagerService$12;,Lcom/android/server/accounts/AccountManagerService$7;,Lcom/android/server/accounts/AccountManagerService$RemoveAccountSession;
 HPLcom/android/server/accounts/AccountManagerService$Session;->unbind()V+]Landroid/content/Context;Landroid/app/ContextImpl;
 HPLcom/android/server/accounts/AccountManagerService;->accountExistsCache(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;)Z+]Ljava/util/HashMap;Ljava/util/LinkedHashMap;
+HPLcom/android/server/accounts/AccountManagerService;->calculatePackageSignatureDigest(Ljava/lang/String;I)[B+]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/content/pm/Signature;Landroid/content/pm/Signature;]Ljava/security/MessageDigest;Ljava/security/MessageDigest$Delegate;
 HPLcom/android/server/accounts/AccountManagerService;->cancelNotification(Lcom/android/server/accounts/AccountManagerService$NotificationId;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V+]Landroid/app/INotificationManager;Lcom/android/server/notification/NotificationManagerService$12;,Lcom/android/server/notification/NotificationManagerService$13;]Lcom/android/server/accounts/AccountManagerService$Injector;Lcom/android/server/accounts/AccountManagerService$Injector;
-HPLcom/android/server/accounts/AccountManagerService;->checkPackageSignature(Ljava/lang/String;II)I+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/accounts/IAccountAuthenticatorCache;Lcom/android/server/accounts/AccountAuthenticatorCache;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableCollection;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1;
+HSPLcom/android/server/accounts/AccountManagerService;->checkPackageSignature(Ljava/lang/String;II)I+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/accounts/IAccountAuthenticatorCache;Lcom/android/server/accounts/AccountAuthenticatorCache;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableCollection;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1;
 HSPLcom/android/server/accounts/AccountManagerService;->filterAccounts(Lcom/android/server/accounts/AccountManagerService$UserAccounts;[Landroid/accounts/Account;ILjava/lang/String;Z)[Landroid/accounts/Account;+]Ljava/util/Map;Ljava/util/LinkedHashMap;]Ljava/util/Set;Ljava/util/LinkedHashMap$LinkedKeySet;
 HSPLcom/android/server/accounts/AccountManagerService;->filterSharedAccounts(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/util/Map;ILjava/lang/String;)Ljava/util/Map;+]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Landroid/os/UserManager;Landroid/os/UserManager;
 HPLcom/android/server/accounts/AccountManagerService;->getAccountVisibilityFromCache(Landroid/accounts/Account;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)I+]Ljava/util/Map;Ljava/util/HashMap;
 HSPLcom/android/server/accounts/AccountManagerService;->getAccountsAsUser(Ljava/lang/String;ILjava/lang/String;)[Landroid/accounts/Account;+]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;
-HSPLcom/android/server/accounts/AccountManagerService;->getAccountsAsUserForPackage(Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Z)[Landroid/accounts/Account;+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/accounts/AccountManagerService;->getAccountsAsUserForPackage(Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Z)[Landroid/accounts/Account;+]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Ljava/util/List;Ljava/util/ArrayList;
 HPLcom/android/server/accounts/AccountManagerService;->getAccountsByFeatures(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V+]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Ljava/util/List;Ljava/util/ArrayList;
 HPLcom/android/server/accounts/AccountManagerService;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;+]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;
 HSPLcom/android/server/accounts/AccountManagerService;->getAccountsFromCache(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/lang/String;ILjava/lang/String;Z)[Landroid/accounts/Account;+]Ljava/util/Collection;Ljava/util/LinkedHashMap$LinkedValues;]Ljava/util/HashMap;Ljava/util/LinkedHashMap;]Ljava/util/Iterator;Ljava/util/LinkedHashMap$LinkedValueIterator;
@@ -172,17 +176,18 @@
 HPLcom/android/server/accounts/AccountManagerService;->isAccountManagedByCaller(Ljava/lang/String;II)Z+]Ljava/util/List;Ljava/util/ArrayList;
 HPLcom/android/server/accounts/AccountManagerService;->isPermittedForPackage(Ljava/lang/String;I[Ljava/lang/String;)Z+]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;
 HPLcom/android/server/accounts/AccountManagerService;->isPreOApplication(Ljava/lang/String;)Z+]Landroid/content/pm/PackageManager$NameNotFoundException;Landroid/content/pm/PackageManager$NameNotFoundException;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;
-HPLcom/android/server/accounts/AccountManagerService;->isPrivileged(I)Z+]Landroid/content/pm/PackageManager$NameNotFoundException;Landroid/content/pm/PackageManager$NameNotFoundException;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;
-HPLcom/android/server/accounts/AccountManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLcom/android/server/accounts/AccountManagerService;->isPrivileged(I)Z+]Landroid/content/pm/PackageManager$NameNotFoundException;Landroid/content/pm/PackageManager$NameNotFoundException;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;
+HSPLcom/android/server/accounts/AccountManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLcom/android/server/accounts/AccountManagerService;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;
-HPLcom/android/server/accounts/AccountManagerService;->permissionIsGranted(Landroid/accounts/Account;Ljava/lang/String;II)Z
+HSPLcom/android/server/accounts/AccountManagerService;->permissionIsGranted(Landroid/accounts/Account;Ljava/lang/String;II)Z
 HPLcom/android/server/accounts/AccountManagerService;->readAuthTokenInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;+]Lcom/android/server/accounts/AccountsDb;Lcom/android/server/accounts/AccountsDb;]Ljava/util/Map;Ljava/util/HashMap;
 HPLcom/android/server/accounts/AccountManagerService;->readUserDataInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;+]Lcom/android/server/accounts/AccountsDb;Lcom/android/server/accounts/AccountsDb;]Ljava/util/Map;Ljava/util/HashMap;
-HSPLcom/android/server/accounts/AccountManagerService;->resolveAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/lang/Integer;+]Landroid/content/pm/PackageManager$NameNotFoundException;Landroid/content/pm/PackageManager$NameNotFoundException;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;
+HSPLcom/android/server/accounts/AccountManagerService;->resolveAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/lang/Integer;+]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;
 HPLcom/android/server/accounts/AccountManagerService;->saveAuthTokenToDatabase(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)Z+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Lcom/android/server/accounts/AccountsDb;Lcom/android/server/accounts/AccountsDb;
 HPLcom/android/server/accounts/AccountManagerService;->setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;
 HPLcom/android/server/accounts/AccountManagerService;->setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;
 HPLcom/android/server/accounts/AccountManagerService;->setUserdataInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;I)V+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Lcom/android/server/accounts/AccountsDb;Lcom/android/server/accounts/AccountsDb;
+HPLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;->getWritableDatabaseUserIsUnlocked()Landroid/database/sqlite/SQLiteDatabase;
 HPLcom/android/server/accounts/AccountsDb;->beginTransaction()V+]Landroid/database/sqlite/SQLiteOpenHelper;Lcom/android/server/accounts/AccountsDb$DeDatabaseHelper;
 HPLcom/android/server/accounts/AccountsDb;->findDeAccountId(Landroid/accounts/Account;)J+]Landroid/database/Cursor;Landroid/database/sqlite/SQLiteCursor;]Landroid/database/sqlite/SQLiteOpenHelper;Lcom/android/server/accounts/AccountsDb$DeDatabaseHelper;
 HPLcom/android/server/accounts/AccountsDb;->findExtrasIdByAccountId(JLjava/lang/String;)J+]Landroid/database/Cursor;Landroid/database/sqlite/SQLiteCursor;]Lcom/android/server/accounts/AccountsDb$DeDatabaseHelper;Lcom/android/server/accounts/AccountsDb$DeDatabaseHelper;
@@ -200,7 +205,6 @@
 HSPLcom/android/server/alarm/Alarm;->matches(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)Z+]Landroid/app/IAlarmListener;Landroid/app/AlarmManager$ListenerWrapper;,Landroid/app/IAlarmListener$Stub$Proxy;,Lcom/android/server/alarm/AlarmManagerService$2;]Landroid/os/IBinder;Landroid/app/AlarmManager$ListenerWrapper;,Landroid/os/BinderProxy;,Lcom/android/server/alarm/AlarmManagerService$2;
 HSPLcom/android/server/alarm/Alarm;->setPolicyElapsed(IJ)Z
 HSPLcom/android/server/alarm/Alarm;->updateWhenElapsed()Z
-HSPLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda13;-><init>(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
 HSPLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda13;->test(Ljava/lang/Object;)Z
 HSPLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda15;->updateAlarmDelivery(Lcom/android/server/alarm/Alarm;)Z
 HPLcom/android/server/alarm/AlarmManagerService$4;->canScheduleExactAlarms(Ljava/lang/String;)Z+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/alarm/AlarmManagerService$Injector;Lcom/android/server/alarm/AlarmManagerService$Injector;]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService;
@@ -210,7 +214,7 @@
 HSPLcom/android/server/alarm/AlarmManagerService$7;->updateAlarmsForUid(I)V+]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService;]Lcom/android/server/alarm/AlarmStore;Lcom/android/server/alarm/LazyAlarmStore;
 HSPLcom/android/server/alarm/AlarmManagerService$AlarmHandler;->handleMessage(Landroid/os/Message;)V+]Lcom/android/server/DeviceIdleInternal;Lcom/android/server/DeviceIdleController$LocalService;]Lcom/android/server/alarm/AlarmManagerService$DeliveryTracker;Lcom/android/server/alarm/AlarmManagerService$DeliveryTracker;]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService;
 HSPLcom/android/server/alarm/AlarmManagerService$AlarmThread;->run()V
-HPLcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;->getTotalWakeupsInWindow(Ljava/lang/String;I)I+]Landroid/util/LongArrayQueue;Landroid/util/LongArrayQueue;
+HSPLcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;->getTotalWakeupsInWindow(Ljava/lang/String;I)I+]Landroid/util/LongArrayQueue;Landroid/util/LongArrayQueue;
 HSPLcom/android/server/alarm/AlarmManagerService$ClockReceiver;->scheduleTimeTickEvent()V+]Lcom/android/server/alarm/AlarmManagerService$Injector;Lcom/android/server/alarm/AlarmManagerService$Injector;]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService;
 HSPLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;->alarmComplete(Landroid/os/IBinder;)V
 HSPLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;->deliverLocked(Lcom/android/server/alarm/Alarm;J)V+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/app/IAlarmListener;Landroid/app/AlarmManager$ListenerWrapper;,Landroid/app/IAlarmListener$Stub$Proxy;,Lcom/android/server/alarm/AlarmManagerService$2;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/os/IBinder;Landroid/app/AlarmManager$ListenerWrapper;,Landroid/os/BinderProxy;,Lcom/android/server/alarm/AlarmManagerService$2;]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTrackerImpl;]Lcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;Lcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService;]Lcom/android/server/alarm/AlarmStore;Lcom/android/server/alarm/LazyAlarmStore;]Ljava/util/ArrayList;Ljava/util/ArrayList;
@@ -224,7 +228,7 @@
 HSPLcom/android/server/alarm/AlarmManagerService$Injector;->getElapsedRealtimeMillis()J
 HSPLcom/android/server/alarm/AlarmManagerService$Injector;->isAlarmDriverPresent()Z
 HSPLcom/android/server/alarm/AlarmManagerService$Injector;->setAlarm(IJ)V
-HPLcom/android/server/alarm/AlarmManagerService$LocalService;->remove(Landroid/app/PendingIntent;)V
+HSPLcom/android/server/alarm/AlarmManagerService$LocalService;->remove(Landroid/app/PendingIntent;)V
 HSPLcom/android/server/alarm/AlarmManagerService$LocalService;->shouldGetBucketElevation(Ljava/lang/String;I)Z+]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService;
 HPLcom/android/server/alarm/AlarmManagerService$RemovedAlarm;-><init>(Lcom/android/server/alarm/Alarm;IJJ)V
 HPLcom/android/server/alarm/AlarmManagerService;->$r8$lambda$WZFEMPWy81l-szSzhRJHOwNjF-M([ILcom/android/server/alarm/Alarm;)Z
@@ -270,6 +274,7 @@
 HSPLcom/android/server/alarm/LazyAlarmStore;->updateAlarmDeliveries(Lcom/android/server/alarm/AlarmStore$AlarmDeliveryCalculator;)Z+]Lcom/android/server/alarm/AlarmStore$AlarmDeliveryCalculator;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;
 HSPLcom/android/server/alarm/MetricsHelper;->pushAlarmScheduled(Lcom/android/server/alarm/Alarm;I)V
 HSPLcom/android/server/alarm/UserWakeupStore;->getNextWakeupTime()J+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;
+HSPLcom/android/server/alarm/UserWakeupStore;->getUserIdsToWakeup(J)[I+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;
 HSPLcom/android/server/am/ActiveServices$$ExternalSyntheticLambda7;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/server/am/ActiveServices$ProcessAnrTimer;->getPid(Lcom/android/server/am/ProcessRecord;)I+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
 HSPLcom/android/server/am/ActiveServices$ProcessAnrTimer;->getPid(Ljava/lang/Object;)I+]Lcom/android/server/am/ActiveServices$ProcessAnrTimer;Lcom/android/server/am/ActiveServices$ProcessAnrTimer;
@@ -335,7 +340,7 @@
 HSPLcom/android/server/am/ActiveServices;->stopServiceAndUpdateAllowlistManagerLocked(Lcom/android/server/am/ServiceRecord;)V+]Lcom/android/server/am/ProcessStateController;Lcom/android/server/am/ProcessStateController;
 HPLcom/android/server/am/ActiveServices;->stopServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;IZILjava/lang/String;Ljava/lang/String;)I+]Lcom/android/server/am/ActivityManagerService$Injector;Lcom/android/server/am/ActivityManagerService$Injector;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;
 HPLcom/android/server/am/ActiveServices;->stopServiceLocked(Lcom/android/server/am/ServiceRecord;Z)V+]Lcom/android/server/am/ProcessStateController;Lcom/android/server/am/ProcessStateController;
-HPLcom/android/server/am/ActiveServices;->stopServiceTokenLocked(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z+]Lcom/android/server/am/ActivityManagerService$Injector;Lcom/android/server/am/ActivityManagerService$Injector;]Lcom/android/server/am/ProcessStateController;Lcom/android/server/am/ProcessStateController;]Lcom/android/server/am/ServiceRecord$StartItem;Lcom/android/server/am/ServiceRecord$StartItem;]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/am/ActiveServices;->stopServiceTokenLocked(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z+]Lcom/android/server/am/ActivityManagerService$Injector;Lcom/android/server/am/ActivityManagerService$Injector;]Lcom/android/server/am/ProcessStateController;Lcom/android/server/am/ProcessStateController;]Lcom/android/server/am/ServiceRecord$StartItem;Lcom/android/server/am/ServiceRecord$StartItem;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/am/ActiveServices;->traceInstant(Ljava/lang/String;Lcom/android/server/am/ServiceRecord;)V
 HPLcom/android/server/am/ActiveServices;->unbindFinishedLocked(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent;)V+]Lcom/android/server/am/ActivityManagerService$Injector;Lcom/android/server/am/ActivityManagerService$Injector;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/am/ActiveServices;->unbindServiceLocked(Landroid/app/IServiceConnection;)Z+]Landroid/app/IServiceConnection;Landroid/app/IServiceConnection$Stub$Proxy;,Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;]Lcom/android/server/am/ActivityManagerService$Injector;Lcom/android/server/am/ActivityManagerService$Injector;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/ProcessStateController;Lcom/android/server/am/ProcessStateController;]Ljava/util/ArrayList;Ljava/util/ArrayList;
@@ -357,14 +362,15 @@
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->getCurrentUserId()I+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->getRestrictionLevel(I)I
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->getUidProcessState(I)I+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;
+HSPLcom/android/server/am/ActivityManagerService$LocalService;->handleIncomingUser(IIIZILjava/lang/String;Ljava/lang/String;)I+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->isAppBad(Ljava/lang/String;I)Z
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->isAppStartModeDisabled(ILjava/lang/String;)Z+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->isAssociatedCompanionApp(II)Z+]Ljava/util/Map;Landroid/util/ArrayMap;]Ljava/util/Set;Landroid/util/ArraySet;
+HPLcom/android/server/am/ActivityManagerService$LocalService;->isAssociatedCompanionApp(II)Z+]Ljava/util/Map;Landroid/util/ArrayMap;]Ljava/util/Set;Landroid/util/ArraySet;
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->isBgAutoRestrictedBucketFeatureFlagEnabled()Z
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->isDeviceOwner(I)Z
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->isPendingTopUid(I)Z
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->isProfileOwner(I)Z
-HPLcom/android/server/am/ActivityManagerService$LocalService;->isTempAllowlistedForFgsWhileInUse(I)Z+]Lcom/android/server/am/FgsTempAllowList;Lcom/android/server/am/FgsTempAllowList;
+HSPLcom/android/server/am/ActivityManagerService$LocalService;->isTempAllowlistedForFgsWhileInUse(I)Z+]Lcom/android/server/am/FgsTempAllowList;Lcom/android/server/am/FgsTempAllowList;
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->isUidActive(I)Z+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->notifyNetworkPolicyRulesUpdated(IJ)V
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->onUidBlockedReasonsChanged(II)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;
@@ -372,24 +378,25 @@
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->updateDeviceIdleTempAllowlist([IIZJIILjava/lang/String;I)V+]Lcom/android/server/am/FgsTempAllowList;Lcom/android/server/am/FgsTempAllowList;
 HSPLcom/android/server/am/ActivityManagerService$MainHandler$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/am/ActivityManagerService$MainHandler$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/am/ActivityManagerService$MainHandler;->$r8$lambda$-BaOH0nhWmB1j4fAdRCLVwJvRCA(Landroid/os/Message;Landroid/app/ActivityManagerInternal$BindServiceEventListener;)V+]Landroid/app/ActivityManagerInternal$BindServiceEventListener;Lcom/android/server/am/AppBindServiceEventsTracker;
 HSPLcom/android/server/am/ActivityManagerService$MainHandler;->$r8$lambda$bz9CTa7TXqawLiiOdBfpNP_dnbI(Landroid/os/Message;Landroid/app/ActivityManagerInternal$BroadcastEventListener;)V+]Landroid/app/ActivityManagerInternal$BroadcastEventListener;Lcom/android/server/am/AppBroadcastEventsTracker;
-HSPLcom/android/server/am/ActivityManagerService$MainHandler;->handleMessage(Landroid/os/Message;)V+]Landroid/app/IUiAutomationConnection;Landroid/app/IUiAutomationConnection$Stub$Proxy;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/AppProfiler$CachedAppsWatermarkData;Lcom/android/server/am/AppProfiler$CachedAppsWatermarkData;]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper;]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList;
+HSPLcom/android/server/am/ActivityManagerService$MainHandler;->handleMessage(Landroid/os/Message;)V+]Landroid/app/IApplicationThread;Lcom/android/server/am/ApplicationThreadDeferred;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/AppProfiler$CachedAppsWatermarkData;Lcom/android/server/am/AppProfiler$CachedAppsWatermarkData;]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList;
 HSPLcom/android/server/am/ActivityManagerService$PendingTempAllowlist;-><init>(IJILjava/lang/String;II)V
 HSPLcom/android/server/am/ActivityManagerService$PidMap;->get(I)Lcom/android/server/am/ProcessRecord;+]Landroid/util/SparseArray;Landroid/util/SparseArray;
+HSPLcom/android/server/am/ActivityManagerService$UiHandler;->handleMessage(Landroid/os/Message;)V+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/AppErrors;Lcom/android/server/am/AppErrors;
 HSPLcom/android/server/am/ActivityManagerService;->$r8$lambda$Dp0egYYO_wvfUqcu1s5QAPQddjA([ILjava/lang/String;Lcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
 HSPLcom/android/server/am/ActivityManagerService;->addCreatorToken(Landroid/content/Intent;Ljava/lang/String;)V+]Landroid/content/Intent;Landroid/content/Intent;]Ljava/util/Set;Landroid/util/ArraySet;
 HSPLcom/android/server/am/ActivityManagerService;->addErrorToDropBox(Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;Ljava/lang/Float;Landroid/os/incremental/IncrementalMetrics;Ljava/util/UUID;Lcom/android/server/am/ActivityManagerService$VolatileDropboxEntryStates;)V+]Landroid/os/DropBoxManager;Landroid/os/DropBoxManager;]Landroid/os/incremental/IncrementalMetrics;Landroid/os/incremental/IncrementalMetrics;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/DropboxRateLimiter$RateLimitResult;Lcom/android/server/am/DropboxRateLimiter$RateLimitResult;]Lcom/android/server/am/DropboxRateLimiter;Lcom/android/server/am/DropboxRateLimiter;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
 HSPLcom/android/server/am/ActivityManagerService;->addPidLocked(Lcom/android/server/am/ProcessRecord;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;
 HSPLcom/android/server/am/ActivityManagerService;->addStartInfoTimestampInternal(IJII)V
 HSPLcom/android/server/am/ActivityManagerService;->appDiedLocked(Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;ZLjava/lang/String;)V+]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Lcom/android/server/am/ApplicationThreadDeferred;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/AppProfiler;Lcom/android/server/am/AppProfiler;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
+HSPLcom/android/server/am/ActivityManagerService;->attachApplication(Landroid/app/IApplicationThread;J)V
 HSPLcom/android/server/am/ActivityManagerService;->attachApplicationLocked(Landroid/app/IApplicationThread;IIJ)V+]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/autofill/AutofillManagerInternal;Lcom/android/server/autofill/AutofillManagerService$LocalService;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/AppProfiler;Lcom/android/server/am/AppProfiler;]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ProcessStateController;Lcom/android/server/am/ProcessStateController;]Lcom/android/server/compat/PlatformCompat;Lcom/android/server/compat/PlatformCompat;]Lcom/android/server/contentcapture/ContentCaptureManagerInternal;Lcom/android/server/contentcapture/ContentCaptureManagerService$LocalService;]Lcom/android/server/graphics/fonts/FontManagerInternal;Lcom/android/server/graphics/fonts/FontManagerService$Lifecycle$1;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/am/ActivityManagerService;->bindServiceInstance(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;JLjava/lang/String;Ljava/lang/String;I)I
 HSPLcom/android/server/am/ActivityManagerService;->bindServiceInstance(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;JLjava/lang/String;ZILjava/lang/String;Landroid/app/IApplicationThread;Ljava/lang/String;I)I+]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;
 HSPLcom/android/server/am/ActivityManagerService;->boostPriorityForLockedSection()V+]Lcom/android/server/ThreadPriorityBooster;Lcom/android/server/ThreadPriorityBooster;
 HSPLcom/android/server/am/ActivityManagerService;->boostPriorityForProcLockedSection()V+]Lcom/android/server/ThreadPriorityBooster;Lcom/android/server/ThreadPriorityBooster;
 HSPLcom/android/server/am/ActivityManagerService;->broadcastIntentWithFeature(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I+]Lcom/android/server/am/BroadcastController;Lcom/android/server/am/BroadcastController;
-HPLcom/android/server/am/ActivityManagerService;->cancelIntentSender(Landroid/content/IIntentSender;)V+]Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentController;
+HSPLcom/android/server/am/ActivityManagerService;->cancelIntentSender(Landroid/content/IIntentSender;)V+]Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentController;
 HSPLcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;
 HSPLcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIIZ)I+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
@@ -434,8 +441,9 @@
 HSPLcom/android/server/am/ActivityManagerService;->isReceivingBroadcastLocked(Lcom/android/server/am/ProcessRecord;[I)Z+]Lcom/android/server/am/BroadcastQueue;Lcom/android/server/am/BroadcastQueueImpl;,Lcom/android/server/am/BroadcastQueueModernImpl;
 HSPLcom/android/server/am/ActivityManagerService;->isSingleton(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)Z
 HSPLcom/android/server/am/ActivityManagerService;->isUidActiveLOSP(I)Z
+HPLcom/android/server/am/ActivityManagerService;->lambda$checkExcessivePowerUsage$22(JJZZLcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
+HSPLcom/android/server/am/ActivityManagerService;->logStrictModeViolationToDropBox(Lcom/android/server/am/ProcessRecord;Landroid/os/StrictMode$ViolationInfo;)V
 HSPLcom/android/server/am/ActivityManagerService;->maybeSendBootCompletedLocked(Lcom/android/server/am/ProcessRecord;Z)V+]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
-HSPLcom/android/server/am/ActivityManagerService;->noteUidProcessState(III)V+]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService;]Lcom/android/server/stats/pull/StatsPullAtomServiceInternal;Lcom/android/server/stats/pull/StatsPullAtomService$StatsPullAtomServiceInternalImpl;
 HSPLcom/android/server/am/ActivityManagerService;->notifyPackageUse(Ljava/lang/String;I)V+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;
 HPLcom/android/server/am/ActivityManagerService;->onProcessFreezableChangedLocked(Lcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/BroadcastQueue;Lcom/android/server/am/BroadcastQueueImpl;,Lcom/android/server/am/BroadcastQueueModernImpl;
 HSPLcom/android/server/am/ActivityManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -457,7 +465,7 @@
 HSPLcom/android/server/am/ActivityManagerService;->startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;IZILjava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;+]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;
 HSPLcom/android/server/am/ActivityManagerService;->stopAssociationLocked(ILjava/lang/String;IJLandroid/content/ComponentName;Ljava/lang/String;)V
 HPLcom/android/server/am/ActivityManagerService;->stopService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;IZILjava/lang/String;Ljava/lang/String;)I+]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;
-HPLcom/android/server/am/ActivityManagerService;->stopServiceToken(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
+HSPLcom/android/server/am/ActivityManagerService;->stopServiceToken(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
 HSPLcom/android/server/am/ActivityManagerService;->tempAllowlistUidLocked(IJILjava/lang/String;II)V+]Lcom/android/server/DeviceIdleInternal;Lcom/android/server/DeviceIdleController$LocalService;]Lcom/android/server/am/FgsTempAllowList;Lcom/android/server/am/FgsTempAllowList;
 HSPLcom/android/server/am/ActivityManagerService;->traceBegin(JLjava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/am/ActivityManagerService;->trimApplicationsLocked(ZI)V+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;
@@ -473,6 +481,7 @@
 HSPLcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda10;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->addExitInfoLocked(Landroid/app/ApplicationExitInfo;)V+]Ljava/io/File;Ljava/io/File;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->getExitInfosLocked(IILjava/util/List;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/am/AppExitInfoTracker$KillHandler;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/server/am/AppExitInfoTracker;->forEachPackageLocked(Ljava/util/function/BiFunction;)V+]Lcom/android/internal/app/ProcessMap;Lcom/android/internal/app/ProcessMap;]Ljava/util/function/BiFunction;Lcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda10;,Lcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda14;,Lcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda16;,Lcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda6;
 HSPLcom/android/server/am/AppExitInfoTracker;->getExitInfo(Ljava/lang/String;IIILjava/util/List;)V+]Lcom/android/internal/app/ProcessMap;Lcom/android/internal/app/ProcessMap;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/am/AppExitInfoTracker;->lambda$updateExitInfoIfNecessaryLocked$2(II[ZLjava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/String;Landroid/util/SparseArray;)Ljava/lang/Integer;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList;
@@ -491,7 +500,7 @@
 HSPLcom/android/server/am/AppProfiler;->$r8$lambda$O0KXijwG7-p0M_PB8ZuTBcOSGho(Lcom/android/server/am/ProcessRecord;)V+]Landroid/app/IApplicationThread;Lcom/android/server/am/ApplicationThreadDeferred;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
 HPLcom/android/server/am/AppProfiler;->collectRssInBackground()V+]Lcom/android/server/am/AppProfiler;Lcom/android/server/am/AppProfiler;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/am/AppProfiler;->isLastMemoryLevelNormal()Z
-HPLcom/android/server/am/AppProfiler;->isProfilingPss()Z
+HSPLcom/android/server/am/AppProfiler;->isProfilingPss()Z
 HPLcom/android/server/am/AppProfiler;->recordRssSampleLPf(Lcom/android/server/am/ProcessProfileRecord;IJIJJ)V+]Lcom/android/internal/app/ProcessMap;Lcom/android/internal/app/ProcessMap;
 HPLcom/android/server/am/AppProfiler;->requestPssLPf(Lcom/android/server/am/ProcessProfileRecord;I)Z+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/am/AppProfiler;->setupProfilerInfoLocked(Landroid/app/IApplicationThread;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ActiveInstrumentation;)Landroid/app/ProfilerInfo;+]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;]Lcom/android/server/am/AppProfiler$ProfileData;Lcom/android/server/am/AppProfiler$ProfileData;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;
@@ -499,20 +508,23 @@
 HSPLcom/android/server/am/AppProfiler;->updateLowMemStateLSP(IIIJ)V+]Lcom/android/server/am/AppProfiler$CachedAppsWatermarkData;Lcom/android/server/am/AppProfiler$CachedAppsWatermarkData;]Lcom/android/server/am/AppProfiler;Lcom/android/server/am/AppProfiler;]Lcom/android/server/am/ProcessStateController;Lcom/android/server/am/ProcessStateController;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;
 HSPLcom/android/server/am/AppProfiler;->updateNextPssTimeLPf(ILcom/android/server/am/ProcessProfileRecord;JZ)V+]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;
 HSPLcom/android/server/am/AppRestrictionController$BgHandler;->handleMessage(Landroid/os/Message;)V+]Lcom/android/server/am/AppRestrictionController$Injector;Lcom/android/server/am/AppRestrictionController$Injector;
-HSPLcom/android/server/am/AppRestrictionController$Injector;->getActivityManagerService()Lcom/android/server/am/ActivityManagerService;
 HSPLcom/android/server/am/AppRestrictionController$Injector;->getAppStandbyInternal()Lcom/android/server/usage/AppStandbyInternal;
 HSPLcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;->update(III)I
 HSPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->forEachPackageInUidLocked(ILcom/android/internal/util/function/TriConsumer;)V+]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/internal/util/function/TriConsumer;Lcom/android/server/am/AppRestrictionController$$ExternalSyntheticLambda3;
 HSPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->getRestrictionLevel(I)I+]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;
+HSPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->loadOneFromXml(Lcom/android/modules/utils/TypedXmlPullParser;J[JZ)V+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/ArtBinaryXmlPullParser;]Lcom/android/server/am/AppRestrictionController$Injector;Lcom/android/server/am/AppRestrictionController$Injector;]Lcom/android/server/usage/AppStandbyInternal;Lcom/android/server/usage/AppStandbyController;
 HSPLcom/android/server/am/AppRestrictionController;->applyRestrictionLevel(Ljava/lang/String;IILcom/android/server/am/AppRestrictionController$TrackerInfo;IZII)V+]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/server/am/AppRestrictionController$Injector;Lcom/android/server/am/AppRestrictionController$Injector;]Lcom/android/server/usage/AppStandbyInternal;Lcom/android/server/usage/AppStandbyController;
 HSPLcom/android/server/am/AppRestrictionController;->calcAppRestrictionLevel(IILjava/lang/String;IZZ)Landroid/util/Pair;+]Lcom/android/server/AppStateTracker;Lcom/android/server/AppStateTrackerImpl;]Lcom/android/server/am/AppRestrictionController$Injector;Lcom/android/server/am/AppRestrictionController$Injector;]Lcom/android/server/apphibernation/AppHibernationManagerInternal;Lcom/android/server/apphibernation/AppHibernationService$LocalService;
 HSPLcom/android/server/am/AppRestrictionController;->getBackgroundRestrictionExemptionReason(I)I+]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Lcom/android/server/am/AppRestrictionController$Injector;Lcom/android/server/am/AppRestrictionController$Injector;
 HSPLcom/android/server/am/AppRestrictionController;->getPotentialSystemExemptionReason(I)I+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/am/AppRestrictionController$Injector;Lcom/android/server/am/AppRestrictionController$Injector;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;
-HSPLcom/android/server/am/AppRestrictionController;->getPotentialSystemExemptionReason(ILjava/lang/String;)I+]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/AppRestrictionController$Injector;Lcom/android/server/am/AppRestrictionController$Injector;]Lcom/android/server/usage/AppStandbyInternal;Lcom/android/server/usage/AppStandbyController;]Ljava/util/Set;Ljava/util/Collections$EmptySet;
-HSPLcom/android/server/am/AppRestrictionController;->getPotentialUserAllowedExemptionReason(ILjava/lang/String;)I+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Lcom/android/server/am/AppRestrictionController$Injector;Lcom/android/server/am/AppRestrictionController$Injector;
-HSPLcom/android/server/am/AppRestrictionController;->isCarrierApp(Ljava/lang/String;)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/Set;Ljava/util/Collections$UnmodifiableSet;
-HSPLcom/android/server/am/AppRestrictionController;->isOnDeviceIdleAllowlist(I)Z
+HPLcom/android/server/am/AppRestrictionController;->getPotentialSystemExemptionReason(ILjava/lang/String;)I+]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/AppRestrictionController$Injector;Lcom/android/server/am/AppRestrictionController$Injector;]Lcom/android/server/usage/AppStandbyInternal;Lcom/android/server/usage/AppStandbyController;]Ljava/util/Set;Ljava/util/Collections$EmptySet;
+HPLcom/android/server/am/AppRestrictionController;->getPotentialUserAllowedExemptionReason(ILjava/lang/String;)I+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Lcom/android/server/am/AppRestrictionController$Injector;Lcom/android/server/am/AppRestrictionController$Injector;
+HSPLcom/android/server/am/AppRestrictionController;->handleUidInactive(IZ)V+]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/am/AppRestrictionController;->isBgAutoRestrictedBucketFeatureFlagEnabled()Z
+HPLcom/android/server/am/AppRestrictionController;->isCarrierApp(Ljava/lang/String;)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/Set;Ljava/util/Collections$UnmodifiableSet;
+HPLcom/android/server/am/AppRestrictionController;->isOnDeviceIdleAllowlist(I)Z
 HSPLcom/android/server/am/AppRestrictionController;->isOnSystemDeviceIdleAllowlist(I)Z
+HPLcom/android/server/am/AppRestrictionController;->isSystemModule(Ljava/lang/String;)Z+]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Lcom/android/server/am/AppRestrictionController$Injector;Lcom/android/server/am/AppRestrictionController$Injector;]Ljava/io/File;Ljava/io/File;]Ljava/util/HashMap;Ljava/util/HashMap;
 HSPLcom/android/server/am/AppRestrictionController;->refreshAppRestrictionLevelForUser(III)V
 HSPLcom/android/server/am/AppStartInfoTracker$AppStartInfoContainer;->addStartInfoLocked(Landroid/app/ApplicationStartInfo;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/am/AppStartInfoTracker$AppStartInfoContainer;->addTimestampToStartLocked(IJ)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;
@@ -521,19 +533,18 @@
 HPLcom/android/server/am/AppStartInfoTracker$AppStartInfoContainer;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/am/AppStartInfoTracker;->addBaseFieldsFromProcessRecord(Landroid/app/ApplicationStartInfo;Lcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
 HSPLcom/android/server/am/AppStartInfoTracker;->addStartInfoLocked(Landroid/app/ApplicationStartInfo;)Landroid/app/ApplicationStartInfo;+]Lcom/android/internal/app/ProcessMap;Lcom/android/internal/app/ProcessMap;
+HSPLcom/android/server/am/AppStartInfoTracker;->addTimestampToStart(Lcom/android/server/am/ProcessRecord;JI)V
 HSPLcom/android/server/am/AppStartInfoTracker;->addTimestampToStart(Ljava/lang/String;IJI)V+]Lcom/android/internal/app/ProcessMap;Lcom/android/internal/app/ProcessMap;
 HSPLcom/android/server/am/ApplicationThreadDeferred;-><init>(Landroid/app/IApplicationThread;Z)V
 HSPLcom/android/server/am/ApplicationThreadDeferred;->asBinder()Landroid/os/IBinder;+]Landroid/app/IApplicationThread;Landroid/app/ActivityThread$ApplicationThread;,Landroid/app/IApplicationThread$Stub$Proxy;
-HSPLcom/android/server/am/BaseAppStateEvents;->getEarliest(J)J+]Lcom/android/server/am/BaseAppStateEvents$MaxTrackingDurationConfig;Lcom/android/server/am/AppBindServiceEventsTracker$AppBindServiceEventsPolicy;,Lcom/android/server/am/AppBroadcastEventsTracker$AppBroadcastEventsPolicy;,Lcom/android/server/am/AppFGSTracker$AppFGSPolicy;,Lcom/android/server/am/AppMediaSessionTracker$AppMediaSessionPolicy;
-HSPLcom/android/server/am/BaseAppStateEvents;->getTotalEvents(JI)I+]Lcom/android/server/am/BaseAppStateEvents;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;
+HPLcom/android/server/am/BaseAppStateEvents;->getEarliest(J)J+]Lcom/android/server/am/BaseAppStateEvents$MaxTrackingDurationConfig;Lcom/android/server/am/AppBindServiceEventsTracker$AppBindServiceEventsPolicy;,Lcom/android/server/am/AppBroadcastEventsTracker$AppBroadcastEventsPolicy;,Lcom/android/server/am/AppFGSTracker$AppFGSPolicy;,Lcom/android/server/am/AppMediaSessionTracker$AppMediaSessionPolicy;
 HSPLcom/android/server/am/BaseAppStateEventsTracker$BaseAppStateEventsPolicy;->getMaxTrackingDuration()J
 HSPLcom/android/server/am/BaseAppStateEventsTracker;->isUidOnTop(I)Z
-HSPLcom/android/server/am/BaseAppStatePolicy;->isEnabled()Z
 HSPLcom/android/server/am/BaseAppStatePolicy;->shouldExemptUid(I)I
-HSPLcom/android/server/am/BaseAppStateTimeSlotEvents;->addEvent(JI)V+]Lcom/android/server/am/BaseAppStateEvents;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;]Lcom/android/server/am/BaseAppStateTimeSlotEvents;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;]Ljava/util/LinkedList;Ljava/util/LinkedList;
-HSPLcom/android/server/am/BaseAppStateTimeSlotEvents;->getTotalEventsSince(JJI)I+]Lcom/android/server/am/BaseAppStateTimeSlotEvents;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;]Ljava/util/Iterator;Ljava/util/LinkedList$DescendingIterator;]Ljava/util/LinkedList;Ljava/util/LinkedList;
-HSPLcom/android/server/am/BaseAppStateTimeSlotEvents;->trimEvents(JI)V+]Lcom/android/server/am/BaseAppStateTimeSlotEvents;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;]Ljava/util/LinkedList;Ljava/util/LinkedList;
-HSPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;->getNumOfEventsThreshold()I
+HPLcom/android/server/am/BaseAppStateTimeSlotEvents;->addEvent(JI)V+]Lcom/android/server/am/BaseAppStateEvents;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;]Lcom/android/server/am/BaseAppStateTimeSlotEvents;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;]Ljava/util/LinkedList;Ljava/util/LinkedList;
+HPLcom/android/server/am/BaseAppStateTimeSlotEvents;->getTotalEventsSince(JJI)I+]Lcom/android/server/am/BaseAppStateTimeSlotEvents;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;]Ljava/util/Iterator;Ljava/util/LinkedList$DescendingIterator;]Ljava/util/LinkedList;Ljava/util/LinkedList;
+HPLcom/android/server/am/BaseAppStateTimeSlotEvents;->trimEvents(JI)V+]Lcom/android/server/am/BaseAppStateTimeSlotEvents;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;]Ljava/util/LinkedList;Ljava/util/LinkedList;
+HPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;->getNumOfEventsThreshold()I
 HSPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;->shouldExempt(Ljava/lang/String;I)I+]Lcom/android/server/am/BaseAppStateEventsTracker;Lcom/android/server/am/AppBindServiceEventsTracker;,Lcom/android/server/am/AppBroadcastEventsTracker;]Lcom/android/server/am/BaseAppStatePolicy;Lcom/android/server/am/AppBindServiceEventsTracker$AppBindServiceEventsPolicy;,Lcom/android/server/am/AppBroadcastEventsTracker$AppBroadcastEventsPolicy;
 HSPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$H;->handleMessage(Landroid/os/Message;)V+]Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker;Lcom/android/server/am/AppBindServiceEventsTracker;,Lcom/android/server/am/AppBroadcastEventsTracker;
 HSPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker;->handleNewEvent(Ljava/lang/String;I)V+]Lcom/android/server/am/BaseAppStateEvents$Factory;Lcom/android/server/am/AppBindServiceEventsTracker;,Lcom/android/server/am/AppBroadcastEventsTracker;]Lcom/android/server/am/BaseAppStateEvents;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;]Lcom/android/server/am/BaseAppStateTimeSlotEvents;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;]Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;Lcom/android/server/am/AppBindServiceEventsTracker$AppBindServiceEventsPolicy;,Lcom/android/server/am/AppBroadcastEventsTracker$AppBroadcastEventsPolicy;]Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/BaseAppStateTracker$Injector;]Lcom/android/server/am/UidProcessMap;Lcom/android/server/am/UidProcessMap;
@@ -542,25 +553,25 @@
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda104;->run()V
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda11;-><init>(Lcom/android/server/am/BatteryStatsService;IIIIIIIIJJJJ)V
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda11;->run()V
-HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda16;-><init>(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;Ljava/lang/String;JJ)V
+HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda16;-><init>(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;Ljava/lang/String;JJ)V
 HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda16;->run()V
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda17;-><init>(Lcom/android/server/am/BatteryStatsService;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZJJ)V
-HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda17;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda17;->run()V
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/BatteryStatsService;IILjava/lang/String;Ljava/lang/String;IZJJ)V
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda1;->run()V
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda25;-><init>(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;Landroid/os/WorkSource;IJJ)V
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda25;->run()V
 HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda29;-><init>(Lcom/android/server/am/BatteryStatsService;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;ILandroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZJJ)V
 HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda29;->run()V
-HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda31;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda31;->run()V
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda34;-><init>(Lcom/android/server/am/BatteryStatsService;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IJJ)V
-HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda34;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda34;->run()V
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda58;-><init>(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;Landroid/os/WorkSource;IJJ)V
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda58;->run()V
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;Ljava/lang/String;JJ)V
-HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda5;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda5;->run()V
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda64;-><init>(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;IIJJ)V
-HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda64;->run()V
+HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda64;->run()V
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda73;-><init>(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;IJJ)V
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda73;->run()V
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda76;->run()V
@@ -570,8 +581,8 @@
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda98;->run()V
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/am/BatteryStatsService;IILjava/lang/String;Ljava/lang/String;IJJ)V
 HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda9;->run()V
+HSPLcom/android/server/am/BatteryStatsService$LocalService;->getOwnerUid(I)I+]Lcom/android/server/power/stats/PowerStatsUidResolver;Lcom/android/server/power/stats/PowerStatsUidResolver;
 HPLcom/android/server/am/BatteryStatsService$StatsPerUidLogger;->addStatsForPowerComponent(Ljava/util/List;Lcom/android/server/am/BatteryStatsService$StatsPerUidLogger$SessionInfo;IIFJLandroid/os/BatteryConsumer;I)Z+]Landroid/os/BatteryConsumer;Landroid/os/AggregateBatteryConsumer;,Landroid/os/UidBatteryConsumer;
-HPLcom/android/server/am/BatteryStatsService$StatsPerUidLogger;->clampPowerMah(DLjava/lang/String;)F
 HPLcom/android/server/am/BatteryStatsService$StatsPerUidLogger;->logStats(Landroid/os/BatteryUsageStats;Ljava/util/List;)I+]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/am/BatteryStatsService$WakeupReasonThread;->run()V
 HSPLcom/android/server/am/BatteryStatsService$WakeupReasonThread;->waitWakeup()Ljava/lang/String;+]Ljava/nio/ByteBuffer;Ljava/nio/DirectByteBuffer;]Ljava/nio/CharBuffer;Ljava/nio/HeapCharBuffer;
@@ -580,10 +591,11 @@
 HSPLcom/android/server/am/BatteryStatsService;->getSubsystemLowPowerStats()Ljava/lang/String;+]Landroid/power/PowerStatsInternal;Lcom/android/server/powerstats/PowerStatsService$LocalService;]Ljava/util/Map;Ljava/util/HashMap;]Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;
 HSPLcom/android/server/am/BatteryStatsService;->lambda$noteServiceStartLaunch$107(ILjava/lang/String;Ljava/lang/String;JJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
 HSPLcom/android/server/am/BatteryStatsService;->lambda$noteServiceStartRunning$105(ILjava/lang/String;Ljava/lang/String;JJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
-HSPLcom/android/server/am/BatteryStatsService;->lambda$noteServiceStopLaunch$108(ILjava/lang/String;Ljava/lang/String;JJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
+HPLcom/android/server/am/BatteryStatsService;->lambda$noteServiceStopLaunch$108(ILjava/lang/String;Ljava/lang/String;JJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
 HSPLcom/android/server/am/BatteryStatsService;->lambda$noteStartWakelock$24(IILjava/lang/String;Ljava/lang/String;IZJJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
 HSPLcom/android/server/am/BatteryStatsService;->lambda$noteStopWakelock$25(IILjava/lang/String;Ljava/lang/String;IJJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
 HSPLcom/android/server/am/BatteryStatsService;->lambda$noteUidProcessState$14(IIJJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Lcom/android/server/power/stats/wakeups/CpuWakeupStats;Lcom/android/server/power/stats/wakeups/CpuWakeupStats;
+HSPLcom/android/server/am/BatteryStatsService;->lambda$setBatteryState$97(IIIIIIIIJJJJ)V+]Lcom/android/server/power/stats/BatteryExternalStatsWorker;Lcom/android/server/power/stats/BatteryExternalStatsWorker;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
 HPLcom/android/server/am/BatteryStatsService;->monitor()V
 HSPLcom/android/server/am/BatteryStatsService;->noteAlarmFinish(Ljava/lang/String;Landroid/os/WorkSource;I)V+]Landroid/content/Context;Landroid/app/ContextImpl;
 HSPLcom/android/server/am/BatteryStatsService;->noteAlarmStart(Ljava/lang/String;Landroid/os/WorkSource;I)V+]Landroid/content/Context;Landroid/app/ContextImpl;
@@ -594,7 +606,7 @@
 HSPLcom/android/server/am/BatteryStatsService;->noteServiceStartLaunch(ILjava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/am/BatteryStatsService;->noteServiceStartRunning(ILjava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/am/BatteryStatsService;->noteServiceStopLaunch(ILjava/lang/String;Ljava/lang/String;)V
-HPLcom/android/server/am/BatteryStatsService;->noteServiceStopRunning(ILjava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/server/am/BatteryStatsService;->noteServiceStopRunning(ILjava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/am/BatteryStatsService;->noteStartSensor(II)V
 HSPLcom/android/server/am/BatteryStatsService;->noteStartWakelock(IILjava/lang/String;Ljava/lang/String;IZ)V
 HSPLcom/android/server/am/BatteryStatsService;->noteStartWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
@@ -613,12 +625,13 @@
 HSPLcom/android/server/am/BroadcastController$1;->newResult(Lcom/android/server/pm/Computer;Lcom/android/server/am/BroadcastFilter;IIJ)Lcom/android/server/am/BroadcastFilter;
 HSPLcom/android/server/am/BroadcastController$1;->newResult(Lcom/android/server/pm/Computer;Ljava/lang/Object;IIJ)Ljava/lang/Object;+]Lcom/android/server/am/BroadcastController$1;Lcom/android/server/am/BroadcastController$1;
 HSPLcom/android/server/am/BroadcastController;->addBroadcastStatLocked(Ljava/lang/String;Ljava/lang/String;IIJ)V
+HPLcom/android/server/am/BroadcastController;->broadcastIntentInPackage(Ljava/lang/String;Ljava/lang/String;IIILandroid/content/Intent;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;Landroid/os/Bundle;ZZILandroid/app/BackgroundStartPrivileges;[I)I
 HSPLcom/android/server/am/BroadcastController;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIIILandroid/app/BackgroundStartPrivileges;[ILjava/util/function/BiFunction;)I
 HSPLcom/android/server/am/BroadcastController;->broadcastIntentLockedTraced(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/app/BroadcastOptions;ZZIIIIILandroid/app/BackgroundStartPrivileges;[ILjava/util/function/BiFunction;Lcom/android/server/am/BroadcastSentEventRecord;)I+]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/IIntentReceiver;megamorphic_types]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Landroid/net/Uri;Landroid/net/Uri$OpaqueUri;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/IntentResolver;Lcom/android/server/am/BroadcastController$1;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/BroadcastQueue;Lcom/android/server/am/BroadcastQueueImpl;,Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Lcom/android/server/uri/UriGrantsManagerInternal;Lcom/android/server/uri/UriGrantsManagerService$LocalService;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/am/BroadcastController;->broadcastIntentWithFeature(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I+]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/BroadcastController;Lcom/android/server/am/BroadcastController;
 HSPLcom/android/server/am/BroadcastController;->checkBroadcastFromSystem(Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;IZLjava/util/List;)V+]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/am/BroadcastController;->collectReceiverComponents(Landroid/content/Intent;Ljava/lang/String;II[I[I)Ljava/util/List;+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/ComponentAliasResolver$Resolution;Lcom/android/server/am/ComponentAliasResolver$Resolution;]Lcom/android/server/am/ComponentAliasResolver;Lcom/android/server/am/ComponentAliasResolver;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Ljava/util/List;Ljava/util/ArrayList;,Ljava/util/Collections$EmptyList;
-HSPLcom/android/server/am/BroadcastController;->enforceBroadcastOptionPermissionsInternal(Landroid/app/BroadcastOptions;I)V+]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;
+HSPLcom/android/server/am/BroadcastController;->enforceBroadcastOptionPermissionsInternal(Landroid/app/BroadcastOptions;I)V+]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions;
 HSPLcom/android/server/am/BroadcastController;->enforceBroadcastOptionPermissionsInternal(Landroid/os/Bundle;I)V
 HSPLcom/android/server/am/BroadcastController;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/BroadcastQueue;Lcom/android/server/am/BroadcastQueueImpl;,Lcom/android/server/am/BroadcastQueueModernImpl;
 HSPLcom/android/server/am/BroadcastController;->getBackgroundLaunchBroadcasts()Landroid/util/ArraySet;
@@ -628,13 +641,13 @@
 HSPLcom/android/server/am/BroadcastController;->notifyBroadcastFinishedLocked(Lcom/android/server/am/BroadcastRecord;)V
 HSPLcom/android/server/am/BroadcastController;->registerReceiverWithFeature(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;Ljava/lang/String;II)Landroid/content/Intent;
 HSPLcom/android/server/am/BroadcastController;->registerReceiverWithFeatureTraced(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;Ljava/lang/String;II)Landroid/content/Intent;+]Landroid/app/IApplicationThread;Landroid/app/ActivityThread$ApplicationThread;,Landroid/app/IApplicationThread$Stub$Proxy;,Lcom/android/server/am/ApplicationThreadDeferred;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/IIntentReceiver;Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;,Landroid/content/IIntentReceiver$Stub$Proxy;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/IntentResolver;Lcom/android/server/am/BroadcastController$1;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/BroadcastQueue;Lcom/android/server/am/BroadcastQueueImpl;,Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Lcom/android/server/sdksandbox/SdkSandboxManagerLocal;Lcom/android/server/sdksandbox/SdkSandboxManagerService$LocalImpl;]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;
-HPLcom/android/server/am/BroadcastController;->removeReceiverLocked(Lcom/android/server/am/ReceiverList;)V+]Landroid/content/IIntentReceiver;Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;,Landroid/content/IIntentReceiver$Stub$Proxy;]Lcom/android/server/IntentResolver;Lcom/android/server/am/BroadcastController$1;]Ljava/util/HashMap;Ljava/util/HashMap;
+HSPLcom/android/server/am/BroadcastController;->removeReceiverLocked(Lcom/android/server/am/ReceiverList;)V+]Landroid/content/IIntentReceiver;Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;,Landroid/content/IIntentReceiver$Stub$Proxy;]Lcom/android/server/IntentResolver;Lcom/android/server/am/BroadcastController$1;]Ljava/util/HashMap;Ljava/util/HashMap;
 HSPLcom/android/server/am/BroadcastController;->rotateBroadcastStatsIfNeededLocked()V
 HSPLcom/android/server/am/BroadcastController;->traceBroadcastIntentBegin(Landroid/content/Intent;Landroid/content/IIntentReceiver;ZZIII)I+]Landroid/content/Intent;Landroid/content/Intent;
 HSPLcom/android/server/am/BroadcastController;->traceBroadcastIntentEnd(I)V
 HSPLcom/android/server/am/BroadcastController;->traceRegistrationBegin(Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;I)V+]Landroid/content/IIntentReceiver;Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;,Landroid/content/IIntentReceiver$Stub$Proxy;
-HPLcom/android/server/am/BroadcastController;->traceUnregistrationBegin(Landroid/content/IIntentReceiver;)V+]Landroid/content/IIntentReceiver;Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;,Landroid/content/IIntentReceiver$Stub$Proxy;
-HPLcom/android/server/am/BroadcastController;->unregisterReceiverTraced(Landroid/content/IIntentReceiver;)V+]Landroid/content/IIntentReceiver;Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;,Landroid/content/IIntentReceiver$Stub$Proxy;]Lcom/android/server/am/BroadcastController;Lcom/android/server/am/BroadcastController;]Ljava/util/HashMap;Ljava/util/HashMap;
+HSPLcom/android/server/am/BroadcastController;->traceUnregistrationBegin(Landroid/content/IIntentReceiver;)V+]Landroid/content/IIntentReceiver;Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;,Landroid/content/IIntentReceiver$Stub$Proxy;
+HSPLcom/android/server/am/BroadcastController;->unregisterReceiverTraced(Landroid/content/IIntentReceiver;)V+]Landroid/content/IIntentReceiver;Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;,Landroid/content/IIntentReceiver$Stub$Proxy;]Lcom/android/server/am/BroadcastController;Lcom/android/server/am/BroadcastController;]Ljava/util/HashMap;Ljava/util/HashMap;
 HSPLcom/android/server/am/BroadcastController;->verifyBroadcastLocked(Landroid/content/Intent;)Landroid/content/Intent;+]Landroid/content/Intent;Landroid/content/Intent;
 HSPLcom/android/server/am/BroadcastFilter;-><init>(Landroid/content/IntentFilter;Lcom/android/server/am/ReceiverList;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIZZZLandroid/content/pm/ApplicationInfo;Lcom/android/server/compat/PlatformCompat;)V
 HSPLcom/android/server/am/BroadcastFilter;->calculateAdjustedPriority(IILandroid/content/pm/ApplicationInfo;Lcom/android/server/compat/PlatformCompat;)I+]Lcom/android/server/compat/PlatformCompat;Lcom/android/server/compat/PlatformCompat;
@@ -799,13 +812,16 @@
 HPLcom/android/server/am/CachedAppOptimizer;->compactApp(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/CachedAppOptimizer$CompactProfile;Lcom/android/server/am/CachedAppOptimizer$CompactSource;Z)Z+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HPLcom/android/server/am/CachedAppOptimizer;->freezeAppAsyncInternalLSP(Lcom/android/server/am/ProcessRecord;JZ)V+]Landroid/app/IApplicationThread;Lcom/android/server/am/ApplicationThreadDeferred;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
 HPLcom/android/server/am/CachedAppOptimizer;->getPerProcessAggregatedCompactStat(Ljava/lang/String;)Lcom/android/server/am/CachedAppOptimizer$AggregatedProcessCompactionStats;+]Ljava/util/LinkedHashMap;Ljava/util/LinkedHashMap;
+HPLcom/android/server/am/CachedAppOptimizer;->getPerSourceAggregatedCompactStat(Lcom/android/server/am/CachedAppOptimizer$CompactSource;)Lcom/android/server/am/CachedAppOptimizer$AggregatedSourceCompactionStats;+]Ljava/util/EnumMap;Ljava/util/EnumMap;
 HPLcom/android/server/am/CachedAppOptimizer;->lambda$binderErrorInternal$3(Ljava/lang/Integer;Ljava/lang/Integer;)V+]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer;
+HSPLcom/android/server/am/CachedAppOptimizer;->onCleanupApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
 HSPLcom/android/server/am/CachedAppOptimizer;->onOomAdjustChanged(IILcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer;
 HPLcom/android/server/am/CachedAppOptimizer;->onProcessFrozen(Lcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
 HPLcom/android/server/am/CachedAppOptimizer;->postUidFrozenMessage(IZ)V
 HPLcom/android/server/am/CachedAppOptimizer;->traceAppFreeze(Ljava/lang/String;II)V
 HPLcom/android/server/am/CachedAppOptimizer;->unfreezeAppInternalLSP(Lcom/android/server/am/ProcessRecord;IZ)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/Freezer;Lcom/android/server/am/Freezer;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
 HPLcom/android/server/am/CachedAppOptimizer;->unfreezeAppLSP(Lcom/android/server/am/ProcessRecord;IZ)V
+HPLcom/android/server/am/CachedAppOptimizer;->unfreezeTemporarily(Lcom/android/server/am/ProcessRecord;I)V+]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer;
 HPLcom/android/server/am/CachedAppOptimizer;->unfreezeTemporarily(Lcom/android/server/am/ProcessRecord;IJ)V+]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer;
 HPLcom/android/server/am/CachedAppOptimizer;->updateEarliestFreezableTime(Lcom/android/server/am/ProcessRecord;J)J
 HSPLcom/android/server/am/CachedAppOptimizer;->useCompaction()Z
@@ -826,7 +842,7 @@
 HSPLcom/android/server/am/ContentProviderConnection;-><init>(Lcom/android/server/am/ContentProviderRecord;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;I)V
 HSPLcom/android/server/am/ContentProviderConnection;->adjustCounts(II)V
 HPLcom/android/server/am/ContentProviderConnection;->decrementCount(Z)I
-HPLcom/android/server/am/ContentProviderConnection;->incrementCount(Z)I
+HSPLcom/android/server/am/ContentProviderConnection;->incrementCount(Z)I
 HSPLcom/android/server/am/ContentProviderConnection;->initializeCount(Z)V
 HSPLcom/android/server/am/ContentProviderConnection;->startAssociationIfNeeded()V+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
 HPLcom/android/server/am/ContentProviderConnection;->stopAssociation()V
@@ -859,10 +875,10 @@
 HSPLcom/android/server/am/ContentProviderRecord;->canRunHere(Lcom/android/server/am/ProcessRecord;)Z
 HSPLcom/android/server/am/ContentProviderRecord;->hasExternalProcessHandles()Z
 HSPLcom/android/server/am/ContentProviderRecord;->newHolder(Lcom/android/server/am/ContentProviderConnection;Z)Landroid/app/ContentProviderHolder;
-HSPLcom/android/server/am/ContentProviderRecord;->onProviderPublishStatusLocked(Z)V+]Landroid/app/IApplicationThread;Lcom/android/server/am/ApplicationThreadDeferred;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HPLcom/android/server/am/EventLogTags;->writeAmPss(IILjava/lang/String;JJJJIIJ)V
 HSPLcom/android/server/am/FgsTempAllowList;->add(IJLjava/lang/Object;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/am/FgsTempAllowList;->get(I)Landroid/util/Pair;+]Landroid/util/SparseArray;Landroid/util/SparseArray;
-HPLcom/android/server/am/FgsTempAllowList;->isAllowed(I)Z+]Lcom/android/server/am/FgsTempAllowList;Lcom/android/server/am/FgsTempAllowList;
+HSPLcom/android/server/am/FgsTempAllowList;->isAllowed(I)Z+]Lcom/android/server/am/FgsTempAllowList;Lcom/android/server/am/FgsTempAllowList;
 HPLcom/android/server/am/HealthStatsBatteryStatsWriter;->writeUid(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats;Landroid/os/BatteryStats$Uid;)V+]Landroid/os/BatteryStats$ControllerActivityCounter;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;]Landroid/os/BatteryStats$LongCounter;Lcom/android/server/power/stats/BatteryStatsImpl$1;,Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;,Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;]Landroid/os/BatteryStats$Uid$Sensor;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Sensor;]Landroid/os/BatteryStats$Uid$Wakelock;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Landroid/os/BatteryStats;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/os/health/HealthStatsWriter;Landroid/os/health/HealthStatsWriter;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/HealthStatsBatteryStatsWriter;Lcom/android/server/am/HealthStatsBatteryStatsWriter;]Ljava/util/Iterator;Landroid/util/MapCollections$MapIterator;]Ljava/util/Map$Entry;Landroid/util/MapCollections$MapIterator;]Ljava/util/Set;Landroid/util/MapCollections$EntrySet;
 HSPLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Landroid/content/ComponentName;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;IZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
@@ -880,7 +896,7 @@
 HPLcom/android/server/am/OomAdjuster;->collectReachableProcessesLocked(Landroid/util/ArraySet;Ljava/util/ArrayList;Lcom/android/server/am/ActiveUids;)Z+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/am/OomAdjuster;->computeOomAdjLSP(Lcom/android/server/am/ProcessRecord;ILcom/android/server/am/ProcessRecord;ZJZZIZ)Z+]Lcom/android/server/am/AppProfiler;Lcom/android/server/am/AppProfiler;]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjusterModernImpl;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
 HSPLcom/android/server/am/OomAdjuster;->computeProviderHostOomAdjLSP(Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;JLcom/android/server/am/ProcessRecord;ZZZIIZZ)Z+]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjusterModernImpl;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
-HSPLcom/android/server/am/OomAdjuster;->computeServiceHostOomAdjLSP(Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;JLcom/android/server/am/ProcessRecord;ZZZIIZZ)Z+]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjusterModernImpl;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/wm/ActivityServiceConnectionsHolder;Lcom/android/server/wm/ActivityServiceConnectionsHolder;
+HSPLcom/android/server/am/OomAdjuster;->computeServiceHostOomAdjLSP(Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;JLcom/android/server/am/ProcessRecord;ZZZIIZZ)Z+]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjusterModernImpl;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
 HSPLcom/android/server/am/OomAdjuster;->enqueueOomAdjTargetLocked(Lcom/android/server/am/ProcessRecord;)V
 HSPLcom/android/server/am/OomAdjuster;->enqueuePendingTopAppIfNecessaryLSP()I+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;
 HSPLcom/android/server/am/OomAdjuster;->evaluateConnectionPrelude(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;)Z+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
@@ -896,12 +912,12 @@
 HSPLcom/android/server/am/OomAdjuster;->isBackupProcess(Lcom/android/server/am/ProcessRecord;)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/am/OomAdjuster;->isDeviceFullyAwake()Z
 HSPLcom/android/server/am/OomAdjuster;->lambda$new$0(Landroid/os/Message;)Z+]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjusterModernImpl;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
-HPLcom/android/server/am/OomAdjuster;->maybeSetProcessFollowUpUpdateLocked(Lcom/android/server/am/ProcessRecord;JJ)V
+HSPLcom/android/server/am/OomAdjuster;->maybeSetProcessFollowUpUpdateLocked(Lcom/android/server/am/ProcessRecord;JJ)V
 HSPLcom/android/server/am/OomAdjuster;->maybeUpdateLastTopTime(Lcom/android/server/am/ProcessStateRecord;J)V
 HSPLcom/android/server/am/OomAdjuster;->maybeUpdateUsageStatsLSP(Lcom/android/server/am/ProcessRecord;J)V+]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
 HSPLcom/android/server/am/OomAdjuster;->oomAdjReasonToString(I)Ljava/lang/String;
 HSPLcom/android/server/am/OomAdjuster;->postUpdateOomAdjInnerLSP(ILcom/android/server/am/ActiveUids;JJJZ)V+]Lcom/android/server/am/OomAdjuster$Injector;Lcom/android/server/am/OomAdjuster$Injector;]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjusterModernImpl;
-HPLcom/android/server/am/OomAdjuster;->scheduleFollowUpOomAdjusterUpdateLocked(JJ)V
+HSPLcom/android/server/am/OomAdjuster;->scheduleFollowUpOomAdjusterUpdateLocked(JJ)V
 HSPLcom/android/server/am/OomAdjuster;->setAttachingProcessStatesLSP(Lcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/OomAdjuster$Injector;Lcom/android/server/am/OomAdjuster$Injector;]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjusterModernImpl;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
 HSPLcom/android/server/am/OomAdjuster;->setIntermediateAdjLSP(Lcom/android/server/am/ProcessRecord;III)I
 HSPLcom/android/server/am/OomAdjuster;->setIntermediateProcStateLSP(Lcom/android/server/am/ProcessRecord;II)V
@@ -962,16 +978,17 @@
 HSPLcom/android/server/am/PackageList;->forEachPackage(Ljava/util/function/BiConsumer;)V+]Ljava/util/function/BiConsumer;Lcom/android/server/am/ProcessProfileRecord$$ExternalSyntheticLambda1;
 HSPLcom/android/server/am/PackageList;->getPackageList()[Ljava/lang/String;
 HSPLcom/android/server/am/PackageList;->searchEachPackage(Ljava/util/function/Function;)Ljava/lang/Object;+]Ljava/util/function/Function;Lcom/android/server/am/ContentProviderHelper$$ExternalSyntheticLambda2;
-HPLcom/android/server/am/PendingIntentController;->cancelIntentSender(Landroid/content/IIntentSender;)V+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentController;
-HPLcom/android/server/am/PendingIntentController;->cancelIntentSender(Lcom/android/server/am/PendingIntentRecord;ZI)V+]Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentController;]Ljava/util/HashMap;Ljava/util/HashMap;
-HSPLcom/android/server/am/PendingIntentController;->decrementUidStatLocked(Lcom/android/server/am/PendingIntentRecord;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;
+HSPLcom/android/server/am/PendingIntentController;->cancelIntentSender(Landroid/content/IIntentSender;)V+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentController;
+HSPLcom/android/server/am/PendingIntentController;->cancelIntentSender(Lcom/android/server/am/PendingIntentRecord;ZI)V+]Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentController;]Ljava/util/HashMap;Ljava/util/HashMap;
+HSPLcom/android/server/am/PendingIntentController;->decrementUidStatLocked(Lcom/android/server/am/PendingIntentRecord;)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;
 HSPLcom/android/server/am/PendingIntentController;->getIntentSender(ILjava/lang/String;Ljava/lang/String;IILandroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;)Lcom/android/server/am/PendingIntentRecord;+]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentController;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference;]Ljava/util/HashMap;Ljava/util/HashMap;
-HSPLcom/android/server/am/PendingIntentController;->incrementUidStatLocked(Lcom/android/server/am/PendingIntentRecord;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/internal/util/RingBuffer;Lcom/android/internal/util/RingBuffer;
-HPLcom/android/server/am/PendingIntentController;->makeIntentSenderCanceled(Lcom/android/server/am/PendingIntentRecord;I)V+]Lcom/android/server/AlarmManagerInternal;Lcom/android/server/alarm/AlarmManagerService$LocalService;
+HSPLcom/android/server/am/PendingIntentController;->incrementUidStatLocked(Lcom/android/server/am/PendingIntentRecord;)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;
+HSPLcom/android/server/am/PendingIntentController;->makeIntentSenderCanceled(Lcom/android/server/am/PendingIntentRecord;I)V+]Lcom/android/server/AlarmManagerInternal;Lcom/android/server/alarm/AlarmManagerService$LocalService;
 HSPLcom/android/server/am/PendingIntentRecord$Key;-><init>(ILjava/lang/String;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILcom/android/server/wm/SafeActivityOptions;I)V+]Landroid/content/Intent;Landroid/content/Intent;]Landroid/os/IBinder;Lcom/android/server/wm/ActivityRecord$Token;
 HSPLcom/android/server/am/PendingIntentRecord$Key;->equals(Ljava/lang/Object;)Z+]Landroid/content/Intent;Landroid/content/Intent;
 HSPLcom/android/server/am/PendingIntentRecord$Key;->hashCode()I
 HSPLcom/android/server/am/PendingIntentRecord;-><init>(Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentRecord$Key;I)V
+HSPLcom/android/server/am/PendingIntentRecord;->completeFinalize()V+]Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentController;]Ljava/util/HashMap;Ljava/util/HashMap;
 HPLcom/android/server/am/PendingIntentRecord;->getBackgroundStartPrivilegesForActivitySender(Landroid/util/ArraySet;Landroid/os/IBinder;Landroid/os/Bundle;I)Landroid/app/BackgroundStartPrivileges;+]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;
 HPLcom/android/server/am/PendingIntentRecord;->sendInner(Landroid/app/IApplicationThread;ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)I+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/app/ActivityOptions;Landroid/app/ActivityOptions;]Landroid/app/BackgroundStartPrivileges;Landroid/app/BackgroundStartPrivileges;]Landroid/content/IIntentReceiver;Landroid/app/PendingIntent$FinishedDispatcher;,Landroid/content/IIntentReceiver$Stub$Proxy;]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentController;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Lcom/android/server/wm/SafeActivityOptions;Lcom/android/server/wm/SafeActivityOptions;
 HSPLcom/android/server/am/PendingStartActivityUids;->delete(IJ)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;
@@ -992,6 +1009,7 @@
 HSPLcom/android/server/am/ProcessErrorStateRecord;-><init>(Lcom/android/server/am/ProcessRecord;)V
 HSPLcom/android/server/am/ProcessErrorStateRecord;->isCrashing()Z
 HSPLcom/android/server/am/ProcessList$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
+HSPLcom/android/server/am/ProcessList$$ExternalSyntheticLambda1;->run()V
 HSPLcom/android/server/am/ProcessList$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
 HSPLcom/android/server/am/ProcessList$$ExternalSyntheticLambda5;->run()V
 HSPLcom/android/server/am/ProcessList$MyProcessMap;->put(Ljava/lang/String;ILcom/android/server/am/ProcessRecord;)Lcom/android/server/am/ProcessRecord;+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;
@@ -1010,6 +1028,7 @@
 HSPLcom/android/server/am/ProcessList;->getMemLevel(I)J
 HSPLcom/android/server/am/ProcessList;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
 HSPLcom/android/server/am/ProcessList;->getNumForegroundServices()Landroid/util/Pair;+]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/am/ProcessList;->getPackageAppDataInfoMap(Landroid/content/pm/PackageManagerInternal;[Ljava/lang/String;I)Ljava/util/Map;+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;
 HSPLcom/android/server/am/ProcessList;->getProcessRecordLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/am/ProcessList;->getRunningAppProcessesLOSP(ZIZII)Ljava/util/List;+]Lcom/android/server/am/ProcessErrorStateRecord;Lcom/android/server/am/ProcessErrorStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/am/ProcessList;->getUidProcStateLOSP(I)I
@@ -1025,6 +1044,7 @@
 HSPLcom/android/server/am/ProcessList;->removeLruProcessLocked(Lcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/am/ProcessList;->removeProcessNameLocked(Ljava/lang/String;ILcom/android/server/am/ProcessRecord;)Lcom/android/server/am/ProcessRecord;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/FgsTempAllowList;Lcom/android/server/am/FgsTempAllowList;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/am/ProcessList;->searchEachLruProcessesLOSP(ZLjava/util/function/Function;)Ljava/lang/Object;+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/function/Function;Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda1;,Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda5;,Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda6;,Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda7;
+HPLcom/android/server/am/ProcessList;->sendPackageBroadcastLocked(I[Ljava/lang/String;I)V+]Landroid/app/IApplicationThread;Lcom/android/server/am/ApplicationThreadDeferred;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/am/ProcessList;->startProcess(Lcom/android/server/am/HostingRecord;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;I[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)Landroid/os/Process$ProcessStartResult;+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/os/AppZygote;Landroid/os/AppZygote;]Lcom/android/server/AppStateTracker;Lcom/android/server/AppStateTrackerImpl;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/compat/PlatformCompat;Lcom/android/server/compat/PlatformCompat;
 HSPLcom/android/server/am/ProcessList;->startProcessLocked(Lcom/android/server/am/HostingRecord;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;I[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JJ)Z+]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/compat/PlatformCompat;Lcom/android/server/compat/PlatformCompat;
 HSPLcom/android/server/am/ProcessList;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/HostingRecord;IZZLjava/lang/String;)Z+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/os/storage/StorageManagerInternal;Lcom/android/server/StorageManagerService$StorageManagerInternalImpl;]Lcom/android/server/am/ActivityManagerService$HiddenApiSettings;Lcom/android/server/am/ActivityManagerService$HiddenApiSettings;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Ljava/util/ArrayList;Ljava/util/ArrayList;
@@ -1054,6 +1074,7 @@
 HSPLcom/android/server/am/ProcessReceiverRecord;->numberOfReceivers()I
 HSPLcom/android/server/am/ProcessRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;)V+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
 HSPLcom/android/server/am/ProcessRecord;->addPackage(Ljava/lang/String;JLcom/android/server/am/ProcessStatsService;)Z
+HSPLcom/android/server/am/ProcessRecord;->forEachConnectionHost(Ljava/util/function/Consumer;)V+]Ljava/util/function/Consumer;Lcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda13;,Lcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda14;
 HSPLcom/android/server/am/ProcessRecord;->getActiveInstrumentation()Lcom/android/server/am/ActiveInstrumentation;
 HSPLcom/android/server/am/ProcessRecord;->getHostingRecord()Lcom/android/server/am/HostingRecord;
 HSPLcom/android/server/am/ProcessRecord;->getLastActivityTime()J
@@ -1071,6 +1092,7 @@
 HSPLcom/android/server/am/ProcessRecord;->getUidRecord()Lcom/android/server/am/UidRecord;
 HSPLcom/android/server/am/ProcessRecord;->getWaitingToKill()Ljava/lang/String;
 HSPLcom/android/server/am/ProcessRecord;->getWindowProcessController()Lcom/android/server/wm/WindowProcessController;
+HSPLcom/android/server/am/ProcessRecord;->hasActiveInstrumentation()Z
 HSPLcom/android/server/am/ProcessRecord;->hasActivities()Z+]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
 HSPLcom/android/server/am/ProcessRecord;->hasActivitiesOrRecentTasks()Z+]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
 HSPLcom/android/server/am/ProcessRecord;->isCached()Z
@@ -1085,8 +1107,8 @@
 HPLcom/android/server/am/ProcessRecord;->killLocked(Ljava/lang/String;Ljava/lang/String;IIZZ)V+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/ProcessErrorStateRecord;Lcom/android/server/am/ProcessErrorStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
 HSPLcom/android/server/am/ProcessRecord;->makeActive(Lcom/android/server/am/ApplicationThreadDeferred;Lcom/android/server/am/ProcessStatsService;)V+]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
 HSPLcom/android/server/am/ProcessRecord;->onCleanupApplicationRecordLSP(Lcom/android/server/am/ProcessStatsService;ZZ)Z+]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjusterModernImpl;]Lcom/android/server/am/ProcessErrorStateRecord;Lcom/android/server/am/ProcessErrorStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ProcessStateController;Lcom/android/server/am/ProcessStateController;
-HPLcom/android/server/am/ProcessRecord;->onProcessUnfrozen()V
 HSPLcom/android/server/am/ProcessRecord;->removeBackgroundStartPrivileges(Landroid/os/Binder;)V+]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
+HSPLcom/android/server/am/ProcessRecord;->resetPackageList(Lcom/android/server/am/ProcessStatsService;)V
 HSPLcom/android/server/am/ProcessRecord;->setBackgroundStartPrivileges(Landroid/os/Binder;Landroid/app/BackgroundStartPrivileges;)V
 HSPLcom/android/server/am/ProcessRecord;->setLastActivityTime(J)V
 HSPLcom/android/server/am/ProcessRecord;->setLruSeq(I)V
@@ -1094,7 +1116,7 @@
 HSPLcom/android/server/am/ProcessRecord;->toShortString(Ljava/lang/StringBuilder;)V
 HSPLcom/android/server/am/ProcessRecord;->toString()Ljava/lang/String;+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
 HSPLcom/android/server/am/ProcessServiceRecord;-><init>(Lcom/android/server/am/ProcessRecord;)V
-HSPLcom/android/server/am/ProcessServiceRecord;->addBoundClientUid(ILjava/lang/String;J)V+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
+HPLcom/android/server/am/ProcessServiceRecord;->addBoundClientUid(ILjava/lang/String;J)V+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
 HSPLcom/android/server/am/ProcessServiceRecord;->addBoundClientUidsOfNewService(Lcom/android/server/am/ServiceRecord;)V+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/am/ProcessServiceRecord;->addConnection(Lcom/android/server/am/ConnectionRecord;)V
 HSPLcom/android/server/am/ProcessServiceRecord;->addSdkSandboxConnectionIfNecessary(Lcom/android/server/am/ConnectionRecord;)V
@@ -1145,6 +1167,7 @@
 HSPLcom/android/server/am/ProcessStateRecord;->getCachedIsHomeProcess()Z+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
 HSPLcom/android/server/am/ProcessStateRecord;->getCachedIsPreviousProcess()Z+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
 HSPLcom/android/server/am/ProcessStateRecord;->getCachedIsReceivingBroadcast([I)Z+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;
+HSPLcom/android/server/am/ProcessStateRecord;->getCurCapability()I
 HSPLcom/android/server/am/ProcessStateRecord;->getCurProcState()I
 HSPLcom/android/server/am/ProcessStateRecord;->getSetAdj()I
 HSPLcom/android/server/am/ProcessStateRecord;->getSetProcState()I
@@ -1208,7 +1231,6 @@
 HSPLcom/android/server/am/UidProcessMap;->get(ILjava/lang/String;)Ljava/lang/Object;+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/am/UidRecord;-><init>(ILcom/android/server/am/ActivityManagerService;)V
 HSPLcom/android/server/am/UidRecord;->areAllProcessesFrozen(Lcom/android/server/am/ProcessRecord;)Z
-HSPLcom/android/server/am/UidRecord;->forEachProcess(Ljava/util/function/Consumer;)V+]Ljava/util/function/Consumer;Lcom/android/server/am/ActiveUids$$ExternalSyntheticLambda0;,Lcom/android/server/am/ProcessList$$ExternalSyntheticLambda3;
 HSPLcom/android/server/am/UidRecord;->getMinProcAdj()I+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;
 HSPLcom/android/server/am/UserController$Injector;->getUserManager()Lcom/android/server/pm/UserManagerService;
 HSPLcom/android/server/am/UserController;->exists(I)Z+]Lcom/android/server/am/UserController$Injector;Lcom/android/server/am/UserController$Injector;]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;
@@ -1258,13 +1280,14 @@
 HSPLcom/android/server/appop/AppOpsService;->checkOperationRawForDevice(IILjava/lang/String;Ljava/lang/String;I)I
 HSPLcom/android/server/appop/AppOpsService;->checkPackage(ILjava/lang/String;)I
 HSPLcom/android/server/appop/AppOpsService;->collectAsyncNotedOp(ILjava/lang/String;ILjava/lang/String;ILjava/lang/String;ZI)V+]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList$Builder$1;,Lcom/android/server/appop/AppOpsService$8;]Ljava/util/ArrayList;Ljava/util/ArrayList;
-HSPLcom/android/server/appop/AppOpsService;->collectOps(Lcom/android/server/appop/AppOpsService$Ops;[ILjava/lang/String;)Ljava/util/ArrayList;+]Landroid/content/Context;Landroid/app/ContextImpl;
-HPLcom/android/server/appop/AppOpsService;->doForAllAttributedOpsInUidLocked(ILjava/util/function/Consumer;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/function/Consumer;Lcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda17;,Lcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda18;,Lcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda19;
+HSPLcom/android/server/appop/AppOpsService;->collectOps(Lcom/android/server/appop/AppOpsService$Ops;[ILjava/lang/String;)Ljava/util/ArrayList;+]Landroid/content/Context;Landroid/app/ContextImpl;]Ljava/util/Map;Landroid/util/ArrayMap;
+HPLcom/android/server/appop/AppOpsService;->doForAllAttributedOpsInUidLocked(ILjava/util/function/Consumer;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/function/Consumer;Lcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda17;,Lcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda18;,Lcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda19;,Lcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda20;
 HSPLcom/android/server/appop/AppOpsService;->enforceManageAppOpsModes(III)V+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;
 HSPLcom/android/server/appop/AppOpsService;->filterAppAccessUnlocked(Ljava/lang/String;I)Z+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;
 HSPLcom/android/server/appop/AppOpsService;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/appop/AppOpsService;->finishOperationImpl(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;I)V
 HSPLcom/android/server/appop/AppOpsService;->finishOperationUnchecked(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;I)V
+HSPLcom/android/server/appop/AppOpsService;->getAppOpMode(IILjava/lang/String;Ljava/lang/String;IZZ)I+]Lcom/android/server/appop/AppOpsCheckingServiceInterface;Lcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;
 HSPLcom/android/server/appop/AppOpsService;->getBypassforPackage(Lcom/android/server/pm/pkg/PackageState;)Landroid/app/AppOpsManager$RestrictionBypass;+]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;
 HSPLcom/android/server/appop/AppOpsService;->getOpLocked(IILjava/lang/String;Ljava/lang/String;ZLandroid/app/AppOpsManager$RestrictionBypass;Z)Lcom/android/server/appop/AppOpsService$Op;
 HSPLcom/android/server/appop/AppOpsService;->getOpLocked(Lcom/android/server/appop/AppOpsService$Ops;IIZ)Lcom/android/server/appop/AppOpsService$Op;
@@ -1281,7 +1304,7 @@
 HSPLcom/android/server/appop/AppOpsService;->isOpRestrictedDueToSuspend(ILjava/lang/String;I)Z+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;
 HSPLcom/android/server/appop/AppOpsService;->isOpRestrictedLocked(IILjava/lang/String;Ljava/lang/String;ILandroid/app/AppOpsManager$RestrictionBypass;Z)Z
 HSPLcom/android/server/appop/AppOpsService;->isSpecialPackage(ILjava/lang/String;)Z
-HSPLcom/android/server/appop/AppOpsService;->isValidVirtualDeviceId(I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/companion/virtual/VirtualDeviceManagerInternal;Lcom/android/server/companion/virtual/VirtualDeviceManagerService$LocalService;
+HSPLcom/android/server/appop/AppOpsService;->isValidVirtualDeviceId(I)Z
 HSPLcom/android/server/appop/AppOpsService;->noteOperation(IILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;Z)Landroid/app/SyncNotedAppOp;
 HSPLcom/android/server/appop/AppOpsService;->noteOperationImpl(IILjava/lang/String;Ljava/lang/String;IZLjava/lang/String;ZI)Landroid/app/SyncNotedAppOp;
 HSPLcom/android/server/appop/AppOpsService;->noteOperationUnchecked(IILjava/lang/String;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;IIZLjava/lang/String;ZI)Landroid/app/SyncNotedAppOp;+]Lcom/android/server/appop/AppOpsCheckingServiceInterface;Lcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;
@@ -1293,12 +1316,11 @@
 HSPLcom/android/server/appop/AppOpsService;->readAttributionOp(Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;)V+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/ArtBinaryXmlPullParser;
 HSPLcom/android/server/appop/AppOpsService;->readOp(Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/server/appop/AppOpsService$UidState;Ljava/lang/String;)V+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/ArtBinaryXmlPullParser;
 HSPLcom/android/server/appop/AppOpsService;->reportRuntimeAppOpAccessMessageAsyncLocked(ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/appop/AppOpsService;->resolveUid(Ljava/lang/String;)I
 HSPLcom/android/server/appop/AppOpsService;->scheduleOpActiveChangedIfNeededLocked(IILjava/lang/String;Ljava/lang/String;IZII)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/appop/AppOpsService;->scheduleOpNotedIfNeededLocked(IILjava/lang/String;Ljava/lang/String;III)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/appop/AppOpsService;->scheduleOpStartedIfNeededLocked(IILjava/lang/String;Ljava/lang/String;IIIIII)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/appop/AppOpsService;->scheduleWriteLocked()V
-HPLcom/android/server/appop/AppOpsService;->setUidMode(IIILcom/android/internal/app/IAppOpsCallback;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/appop/AppOpsCheckingServiceInterface;Lcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;
+HSPLcom/android/server/appop/AppOpsService;->setUidMode(IIILcom/android/internal/app/IAppOpsCallback;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/appop/AppOpsCheckingServiceInterface;Lcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;
 HSPLcom/android/server/appop/AppOpsService;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;ZZLjava/lang/String;ZII)Landroid/app/SyncNotedAppOp;
 HSPLcom/android/server/appop/AppOpsService;->startOperationImpl(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;IZZLjava/lang/String;ZII)Landroid/app/SyncNotedAppOp;+]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService;
 HSPLcom/android/server/appop/AppOpsService;->startOperationUnchecked(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;IIZZLjava/lang/String;ZII)Landroid/app/SyncNotedAppOp;+]Lcom/android/server/appop/AppOpsCheckingServiceInterface;Lcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService;
@@ -1306,16 +1328,15 @@
 HSPLcom/android/server/appop/AppOpsService;->switchPackageIfBootTimeOrRarelyUsedLocked(Ljava/lang/String;)V+]Ljava/util/concurrent/ThreadLocalRandom;Ljava/util/concurrent/ThreadLocalRandom;
 HPLcom/android/server/appop/AppOpsService;->updatePermissionRevokedCompat(III)V+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/content/pm/PermissionInfo;Landroid/content/pm/PermissionInfo;]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/appop/AppOpsService;->updateUidProcState(III)V+]Lcom/android/server/appop/AppOpsUidStateTracker;Lcom/android/server/appop/AppOpsUidStateTrackerImpl;
-HSPLcom/android/server/appop/AppOpsService;->verifyAndGetBypass(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/appop/AppOpsService$PackageVerificationResult;
-HSPLcom/android/server/appop/AppOpsService;->verifyAndGetBypass(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lcom/android/server/appop/AppOpsService$PackageVerificationResult;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/internal/compat/IPlatformCompat;Lcom/android/server/compat/PlatformCompat;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;
 HSPLcom/android/server/appop/AppOpsService;->verifyIncomingOp(I)V+]Landroid/content/Context;Landroid/app/ContextImpl;
 HSPLcom/android/server/appop/AppOpsService;->verifyIncomingUid(I)V+]Landroid/content/Context;Landroid/app/ContextImpl;
 HPLcom/android/server/appop/AppOpsService;->writeRecentAccesses()V+]Landroid/util/AtomicFile;Landroid/util/AtomicFile;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Map;Landroid/util/ArrayMap;]Ljava/util/Set;Landroid/util/MapCollections$KeySet;
 HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V+]Lcom/android/server/appop/AppOpsUidStateTracker$UidStateChangedCallback;Lcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda12;,Lcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda13;
+HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V+]Lcom/android/server/appop/AppOpsUidStateTracker$UidStateChangedCallback;Lcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda12;,Lcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda13;,Lcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda14;
 HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1$$ExternalSyntheticLambda0;->run()V
+HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1$$ExternalSyntheticLambda1;->run()V
 HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1;->execute(Ljava/lang/Runnable;)V
-HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1;->executeDelayed(Ljava/lang/Runnable;J)V
+HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1;->executeDelayed(Ljava/lang/Runnable;J)V
 HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V+]Lcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;Lcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;
 HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V+]Lcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;Lcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;
 HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V+]Lcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;Lcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;
@@ -1339,10 +1360,19 @@
 HSPLcom/android/server/appop/AttributedOp;->createAttributedOpEntryLocked()Landroid/app/AppOpsManager$AttributedOpEntry;+]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;
 HSPLcom/android/server/appop/AttributedOp;->deepClone(Landroid/util/LongSparseArray;)Landroid/util/LongSparseArray;+]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;
 HSPLcom/android/server/appop/AttributedOp;->finishOrPause(Landroid/os/IBinder;ZZ)V+]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;]Landroid/util/Pools$SimplePool;Lcom/android/server/appop/AttributedOp$InProgressStartOpEventPool;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService;
+HSPLcom/android/server/appop/AttributedOp;->isRunning()Z
 HSPLcom/android/server/appop/AttributedOp;->onUidStateChanged(I)V
 HSPLcom/android/server/appop/AttributedOp;->rejected(II)V
 HSPLcom/android/server/appop/AttributedOp;->rejected(JII)V+]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;
 HSPLcom/android/server/appop/AttributedOp;->startedOrPaused(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIIZZ)V+]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService;]Lcom/android/server/appop/AttributedOp$InProgressStartOpEventPool;Lcom/android/server/appop/AttributedOp$InProgressStartOpEventPool;
+HSPLcom/android/server/appop/DiscreteOpsRegistry;->isDiscreteOp(II)Z
+HPLcom/android/server/appop/DiscreteOpsXmlRegistry$DiscreteDeviceOp;->addDiscreteAccess(Ljava/lang/String;IIJJII)V+]Ljava/util/List;Ljava/util/ArrayList;
+HPLcom/android/server/appop/DiscreteOpsXmlRegistry$DiscreteOp;->getOrCreateDiscreteDeviceOp(Ljava/lang/String;)Lcom/android/server/appop/DiscreteOpsXmlRegistry$DiscreteDeviceOp;
+HPLcom/android/server/appop/DiscreteOpsXmlRegistry$DiscreteOps;->getOrCreateDiscreteUidOps(I)Lcom/android/server/appop/DiscreteOpsXmlRegistry$DiscreteUidOps;
+HPLcom/android/server/appop/DiscreteOpsXmlRegistry$DiscretePackageOps;->getOrCreateDiscreteOp(I)Lcom/android/server/appop/DiscreteOpsXmlRegistry$DiscreteOp;
+HPLcom/android/server/appop/DiscreteOpsXmlRegistry$DiscreteUidOps;->getOrCreateDiscretePackageOps(Ljava/lang/String;)Lcom/android/server/appop/DiscreteOpsXmlRegistry$DiscretePackageOps;
+HSPLcom/android/server/appop/DiscreteOpsXmlRegistry;->recordDiscreteAccess(ILjava/lang/String;Ljava/lang/String;ILjava/lang/String;IIJJIII)V
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->handlePersistHistoricalOpsRecursiveDLocked(Ljava/io/File;Ljava/io/File;Ljava/util/List;Ljava/util/Set;I)V+]Ljava/io/File;Ljava/io/File;]Ljava/util/List;Ljava/util/ArrayList;,Ljava/util/Collections$EmptyList;,Ljava/util/LinkedList;]Ljava/util/Set;Landroid/util/ArraySet;,Ljava/util/Collections$EmptySet;
 HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalAttributionOpsDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;[Ljava/lang/String;IID)Landroid/app/AppOpsManager$HistoricalOps;+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/ArtBinaryXmlPullParser;
 HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlPullParser;[Ljava/lang/String;IID)Landroid/app/AppOpsManager$HistoricalOps;+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/ArtBinaryXmlPullParser;
 HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalPackageOpsDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;IID)Landroid/app/AppOpsManager$HistoricalOps;+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/ArtBinaryXmlPullParser;
@@ -1369,11 +1399,13 @@
 HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->isBoundWidgetPackage(Ljava/lang/String;I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HPLcom/android/server/appwidget/AppWidgetServiceImpl;->isProfileWithLockedParent(I)Z+]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Landroid/os/UserManager;Landroid/os/UserManager;
 HPLcom/android/server/appwidget/AppWidgetServiceImpl;->lookupProviderLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;)Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;+]Ljava/util/ArrayList;Ljava/util/ArrayList;
-HPLcom/android/server/appwidget/AppWidgetServiceImpl;->parseAppWidgetProviderInfo(Landroid/content/Context;Lcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;Landroid/content/pm/ActivityInfo;Ljava/lang/String;)Landroid/appwidget/AppWidgetProviderInfo;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/ActivityInfo;Landroid/content/pm/ActivityInfo;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/content/res/XmlResourceParser;Landroid/content/res/XmlBlock$Parser;]Ljava/lang/CharSequence;Ljava/lang/String;
 HPLcom/android/server/appwidget/AppWidgetServiceImpl;->serializeProvider(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;Z)V+]Landroid/util/IntArray;Landroid/util/IntArray;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;,Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;
+HPLcom/android/server/appwidget/AppWidgetServiceImpl;->writeProfileStateToStreamLocked(Ljava/io/OutputStream;I)Z+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;
 HPLcom/android/server/appwidget/AppWidgetXmlUtil;->writeAppWidgetProviderInfoLocked(Lcom/android/modules/utils/TypedXmlSerializer;Landroid/appwidget/AppWidgetProviderInfo;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;
 HSPLcom/android/server/audio/AudioService$VolumeStreamState;->observeDevicesForStream_syncVSS(Z)Ljava/util/Set;+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService;]Lcom/android/server/audio/SystemServerAdapter;Lcom/android/server/audio/SystemServerAdapter;]Ljava/util/Set;Ljava/util/TreeSet;
+HSPLcom/android/server/audio/AudioService;->getDeviceForStream(I)I+]Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService;
 HSPLcom/android/server/audio/AudioService;->getDeviceSetForStream(I)Ljava/util/Set;+]Lcom/android/server/audio/AudioService$VolumeStreamState;Lcom/android/server/audio/AudioService$VolumeStreamState;]Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService;
+HSPLcom/android/server/audio/AudioService;->getStreamVolume(II)I+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/audio/AudioService$VolumeStreamState;Lcom/android/server/audio/AudioService$VolumeStreamState;]Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService;
 HSPLcom/android/server/audio/AudioService;->getVssForStreamOrDefault(I)Lcom/android/server/audio/AudioService$VolumeStreamState;+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/audio/AudioService;->selectOneAudioDevice(Ljava/util/Set;)I+]Ljava/util/Iterator;Ljava/util/TreeMap$KeyIterator;]Ljava/util/Set;Ljava/util/TreeSet;
 HSPLcom/android/server/audio/AudioSystemAdapter;->getDevicesForAttributesImpl(Landroid/media/AudioAttributes;Z)Ljava/util/ArrayList;+]Ljava/util/concurrent/ConcurrentHashMap;Ljava/util/concurrent/ConcurrentHashMap;
@@ -1384,6 +1416,7 @@
 HSPLcom/android/server/backup/BackupManagerService;->isUserReadyForBackup(I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/backup/BackupManagerService;Lcom/android/server/backup/BackupManagerService;
 HPLcom/android/server/backup/TransportManager;->getRegisteredTransportEntryLocked(Ljava/lang/String;)Ljava/util/Map$Entry;+]Ljava/util/Iterator;Landroid/util/MapCollections$MapIterator;]Ljava/util/Map$Entry;Landroid/util/MapCollections$MapIterator;]Ljava/util/Map;Landroid/util/ArrayMap;]Ljava/util/Set;Landroid/util/MapCollections$EntrySet;
 HPLcom/android/server/backup/TransportManager;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V+]Ljava/util/Map;Landroid/util/ArrayMap;
+HPLcom/android/server/backup/UserBackupManagerService;->dataChangedTargets(Ljava/lang/String;)Ljava/util/HashSet;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HPLcom/android/server/backup/UserBackupManagerService;->isAppEligibleForBackup(Ljava/lang/String;)Z+]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/backup/TransportManager;Lcom/android/server/backup/TransportManager;]Lcom/android/server/backup/utils/BackupEligibilityRules;Lcom/android/server/backup/utils/BackupEligibilityRules;
 HPLcom/android/server/backup/UserBackupManagerService;->updateTransportAttributes(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Lcom/android/server/backup/TransportManager;Lcom/android/server/backup/TransportManager;
 HPLcom/android/server/backup/transport/TransportConnection;-><init>(ILandroid/content/Context;Lcom/android/server/backup/transport/TransportStats;Landroid/content/Intent;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Landroid/os/Handler;)V
@@ -1397,7 +1430,9 @@
 HPLcom/android/server/backup/transport/TransportConnectionManager;->disposeOfTransportClient(Lcom/android/server/backup/transport/TransportConnection;Ljava/lang/String;)V+]Lcom/android/server/backup/transport/TransportConnection;Lcom/android/server/backup/transport/TransportConnection;]Ljava/util/Map;Ljava/util/WeakHashMap;
 HPLcom/android/server/backup/transport/TransportConnectionManager;->getTransportClient(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;)Lcom/android/server/backup/transport/TransportConnection;+]Ljava/util/Map;Ljava/util/WeakHashMap;
 HPLcom/android/server/backup/transport/TransportUtils;->formatMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/backup/utils/BackupEligibilityRules;->appIsEligibleForBackup(Landroid/content/pm/ApplicationInfo;)Z+]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/server/backup/utils/BackupEligibilityRules;Lcom/android/server/backup/utils/BackupEligibilityRules;]Ljava/util/Set;Ljava/util/HashSet;
 HPLcom/android/server/backup/utils/SparseArrayUtils;->union(Landroid/util/SparseArray;)Ljava/util/HashSet;+]Landroid/util/SparseArray;Landroid/util/SparseArray;
+HPLcom/android/server/biometrics/PreAuthInfo;->create(Landroid/app/trust/ITrustManager;Landroid/app/admin/DevicePolicyManager;Lcom/android/server/biometrics/BiometricService$SettingObserver;Ljava/util/List;ILandroid/hardware/biometrics/PromptInfo;Ljava/lang/String;ZLandroid/content/Context;Lcom/android/server/biometrics/BiometricCameraManager;Landroid/os/UserManager;)Lcom/android/server/biometrics/PreAuthInfo;+]Landroid/app/trust/ITrustManager;Lcom/android/server/trust/TrustManagerService$3;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/hardware/biometrics/PromptInfo;Landroid/hardware/biometrics/PromptInfo;]Landroid/os/UserManager;Landroid/os/UserManager;]Lcom/android/server/biometrics/BiometricService$SettingObserver;Lcom/android/server/biometrics/BiometricService$SettingObserver;]Ljava/util/Iterator;Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator;]Ljava/util/List;Ljava/util/concurrent/CopyOnWriteArrayList;
 HSPLcom/android/server/biometrics/sensors/BiometricServiceRegistry;->getProviderForSensor(I)Lcom/android/server/biometrics/sensors/BiometricServiceProvider;+]Lcom/android/server/biometrics/sensors/BiometricServiceProvider;Lcom/android/server/biometrics/sensors/face/aidl/FaceProvider;,Lcom/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;
 HPLcom/android/server/blob/BlobStoreManagerService$BlobStorageStatsAugmenter;->augmentStatsForPackageForUser(Landroid/content/pm/PackageStats;Ljava/lang/String;Landroid/os/UserHandle;Z)V
 HPLcom/android/server/blob/BlobStoreManagerService$BlobStorageStatsAugmenter;->augmentStatsForUid(Landroid/content/pm/PackageStats;IZ)V
@@ -1421,9 +1456,9 @@
 HSPLcom/android/server/compat/PlatformCompat;->isChangeEnabledByPackageName(JLjava/lang/String;I)Z+]Lcom/android/server/compat/PlatformCompat;Lcom/android/server/compat/PlatformCompat;
 HSPLcom/android/server/compat/PlatformCompat;->isChangeEnabledByUid(JI)Z+]Lcom/android/server/compat/PlatformCompat;Lcom/android/server/compat/PlatformCompat;
 HSPLcom/android/server/compat/PlatformCompat;->isChangeEnabledByUidInternal(JI)Z+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Lcom/android/server/compat/PlatformCompat;Lcom/android/server/compat/PlatformCompat;
-HSPLcom/android/server/compat/PlatformCompat;->isChangeEnabledByUidInternalNoLogging(JI)Z+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Lcom/android/server/compat/PlatformCompat;Lcom/android/server/compat/PlatformCompat;
 HSPLcom/android/server/compat/PlatformCompat;->isChangeEnabledInternal(JLandroid/content/pm/ApplicationInfo;)Z+]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/internal/compat/ChangeReporter;Lcom/android/internal/compat/ChangeReporter;
 HSPLcom/android/server/compat/PlatformCompat;->isChangeEnabledInternalNoLogging(JLandroid/content/pm/ApplicationInfo;)Z
+HSPLcom/android/server/compat/config/Change;->read(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/compat/config/Change;
 HPLcom/android/server/connectivity/NetdEventListenerService$TransportForNetIdNetworkCallback;->getNetworkCapabilities(I)Landroid/net/NetworkCapabilities;+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HPLcom/android/server/connectivity/NetdEventListenerService;->collectPendingMetricsSnapshot(JZ)V+]Lcom/android/internal/util/RingBuffer;Lcom/android/internal/util/RingBuffer;]Ljava/util/List;Ljava/util/ArrayList;
 HPLcom/android/server/connectivity/NetdEventListenerService;->getMetricsForNetwork(JI)Landroid/net/metrics/NetworkMetrics;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/connectivity/NetdEventListenerService$TransportForNetIdNetworkCallback;Lcom/android/server/connectivity/NetdEventListenerService$TransportForNetIdNetworkCallback;
@@ -1442,6 +1477,7 @@
 HSPLcom/android/server/content/ContentService$ObserverNode;->countUriSegments(Landroid/net/Uri;)I+]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri;]Ljava/util/List;Landroid/net/Uri$PathSegments;
 HSPLcom/android/server/content/ContentService$ObserverNode;->getUriSegment(Landroid/net/Uri;I)Ljava/lang/String;+]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri;]Ljava/util/List;Landroid/net/Uri$PathSegments;
 HSPLcom/android/server/content/ContentService$ObserverNode;->removeObserverLocked(Landroid/database/IContentObserver;)Z+]Landroid/database/IContentObserver;Landroid/database/ContentObserver$Transport;,Landroid/database/IContentObserver$Stub$Proxy;]Lcom/android/internal/os/BinderDeathDispatcher;Lcom/android/internal/os/BinderDeathDispatcher;]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HPLcom/android/server/content/ContentService;->getMasterSyncAutomaticallyAsUser(I)Z+]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager;]Lcom/android/server/content/SyncStorageEngine;Lcom/android/server/content/SyncStorageEngine;
 HSPLcom/android/server/content/ContentService;->getProviderPackageName(Landroid/net/Uri;I)Ljava/lang/String;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri;
 HPLcom/android/server/content/ContentService;->getSyncAdapterPackageAsUser(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;+]Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager;
 HSPLcom/android/server/content/ContentService;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String;+]Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager;
@@ -1454,9 +1490,13 @@
 HSPLcom/android/server/content/ContentService;->notifyChange([Landroid/net/Uri;Landroid/database/IContentObserver;ZIIILjava/lang/String;)V+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri;]Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager;
 HSPLcom/android/server/content/ContentService;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/IContentObserver;II)V+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri;
 HSPLcom/android/server/content/ContentService;->unregisterContentObserver(Landroid/database/IContentObserver;)V
+HPLcom/android/server/content/SyncJobService;->onStartJob(Landroid/app/job/JobParameters;)Z+]Landroid/app/job/JobParameters;Landroid/app/job/JobParameters;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/content/SyncLogger;Lcom/android/server/content/SyncLogger;
+HPLcom/android/server/content/SyncManager$ActiveSyncContext;->bindToSyncAdapter(Landroid/content/ComponentName;I)Z+]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/internal/app/IBatteryStats;Lcom/android/server/am/BatteryStatsService;]Lcom/android/server/content/SyncLogger;Lcom/android/server/content/SyncLogger;]Lcom/android/server/content/SyncOperation;Lcom/android/server/content/SyncOperation;
+HPLcom/android/server/content/SyncManager$SyncHandler;->computeSyncOpState(Lcom/android/server/content/SyncOperation;)I+]Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager;]Lcom/android/server/content/SyncOperation;Lcom/android/server/content/SyncOperation;]Lcom/android/server/content/SyncStorageEngine;Lcom/android/server/content/SyncStorageEngine;
 HPLcom/android/server/content/SyncManager$SyncHandler;->dispatchSyncOperation(Lcom/android/server/content/SyncOperation;)Z+]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService;]Landroid/content/SyncAdaptersCache;Landroid/content/SyncAdaptersCache;]Lcom/android/server/content/SyncManager$SyncHandler;Lcom/android/server/content/SyncManager$SyncHandler;]Lcom/android/server/content/SyncOperation;Lcom/android/server/content/SyncOperation;]Lcom/android/server/content/SyncStorageEngine;Lcom/android/server/content/SyncStorageEngine;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HPLcom/android/server/content/SyncManager$SyncHandler;->handleSyncMessage(Landroid/os/Message;)V+]Landroid/content/ISyncAdapter;Landroid/content/ISyncAdapter$Stub$Proxy;]Lcom/android/server/content/SyncLogger;Lcom/android/server/content/SyncLogger;]Lcom/android/server/content/SyncManager$SyncTimeTracker;Lcom/android/server/content/SyncManager$SyncTimeTracker;
 HPLcom/android/server/content/SyncManager$SyncHandler;->runSyncFinishedOrCanceledH(Landroid/content/SyncResult;Lcom/android/server/content/SyncManager$ActiveSyncContext;)V+]Landroid/accounts/Account;Landroid/accounts/Account;]Landroid/app/NotificationManager;Landroid/app/NotificationManager;]Landroid/content/ISyncAdapter;Landroid/content/ISyncAdapter$Stub$Proxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Lcom/android/server/content/SyncLogger;Lcom/android/server/content/SyncLogger;]Lcom/android/server/content/SyncManager$SyncHandler;Lcom/android/server/content/SyncManager$SyncHandler;]Lcom/android/server/content/SyncManagerConstants;Lcom/android/server/content/SyncManagerConstants;]Lcom/android/server/content/SyncOperation;Lcom/android/server/content/SyncOperation;
+HPLcom/android/server/content/SyncManager$SyncHandler;->startSyncH(Lcom/android/server/content/SyncOperation;)V+]Lcom/android/server/content/SyncOperation;Lcom/android/server/content/SyncOperation;]Lcom/android/server/content/SyncStorageEngine;Lcom/android/server/content/SyncStorageEngine;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
 HPLcom/android/server/content/SyncManager;->computeSyncable(Landroid/accounts/Account;ILjava/lang/String;ZZ)I+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/content/SyncAdaptersCache;Landroid/content/SyncAdaptersCache;
 HPLcom/android/server/content/SyncManager;->getAllPendingSyncs()Ljava/util/List;+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Landroid/app/job/JobScheduler;Landroid/app/JobSchedulerImpl;]Ljava/util/List;Ljava/util/ArrayList;
 HPLcom/android/server/content/SyncManager;->getIsSyncable(Landroid/accounts/Account;ILjava/lang/String;)I+]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Landroid/os/UserManager;Landroid/os/UserManager;]Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager;]Lcom/android/server/content/SyncStorageEngine;Lcom/android/server/content/SyncStorageEngine;
@@ -1473,6 +1513,7 @@
 HPLcom/android/server/content/SyncOperation;->wakeLockName()Ljava/lang/String;
 HSPLcom/android/server/content/SyncStorageEngine$EndPoint;-><init>(Landroid/accounts/Account;Ljava/lang/String;I)V
 HPLcom/android/server/content/SyncStorageEngine;->getAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;+]Ljava/util/HashMap;Ljava/util/HashMap;
+HPLcom/android/server/content/SyncStorageEngine;->getIsSyncable(Landroid/accounts/Account;ILjava/lang/String;)I
 HSPLcom/android/server/content/SyncStorageEngine;->getOrCreateAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;IZ)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;+]Ljava/util/HashMap;Ljava/util/HashMap;
 HPLcom/android/server/content/SyncStorageEngine;->insertStartSyncEvent(Lcom/android/server/content/SyncOperation;J)J+]Lcom/android/server/content/SyncOperation;Lcom/android/server/content/SyncOperation;]Lcom/android/server/content/SyncStorageEngine;Lcom/android/server/content/SyncStorageEngine;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HPLcom/android/server/content/SyncStorageEngine;->reportChange(ILjava/lang/String;I)V+]Landroid/content/ISyncStatusObserver;Landroid/content/ISyncStatusObserver$Stub$Proxy;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList;
@@ -1488,6 +1529,7 @@
 HSPLcom/android/server/cpu/CpuInfoReader$CpuUsageStats;->getTotalTimeMillis()J
 HSPLcom/android/server/cpu/CpuInfoReader;->calculateAvgCpuFreq(Landroid/util/LongSparseLongArray;)J+]Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray;
 HSPLcom/android/server/cpu/CpuInfoReader;->readCpuCores(Ljava/io/File;)Landroid/util/IntArray;+]Ljava/io/File;Ljava/io/File;]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/cpu/CpuInfoReader;->readCpuFreqKHz(Ljava/io/File;)J+]Ljava/io/File;Ljava/io/File;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/cpu/CpuInfoReader;->readCpuInfos()Landroid/util/SparseArray;+]Landroid/util/IntArray;Landroid/util/IntArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;
 HSPLcom/android/server/cpu/CpuInfoReader;->readCumulativeCpuUsageStats()Landroid/util/SparseArray;+]Ljava/io/File;Ljava/io/File;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/cpu/CpuInfoReader;->readDynamicPolicyInfo()Landroid/util/SparseArray;+]Landroid/util/IntArray;Landroid/util/IntArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;
@@ -1496,24 +1538,25 @@
 HSPLcom/android/server/cpu/CpuMonitorService;->monitorCpuStats()V+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HPLcom/android/server/devicepolicy/ActiveAdmin;->getUid()I
 HSPLcom/android/server/devicepolicy/ActiveAdmin;->getUserHandle()Landroid/os/UserHandle;
-HSPLcom/android/server/devicepolicy/ActiveAdmin;->writeToXml(Lcom/android/modules/utils/TypedXmlSerializer;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Lcom/android/server/devicepolicy/ActiveAdmin;Lcom/android/server/devicepolicy/ActiveAdmin;]Ljava/lang/CharSequence;Ljava/lang/String;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Set;Landroid/util/ArraySet;
 HSPLcom/android/server/devicepolicy/CallerIdentity;-><init>(ILjava/lang/String;Landroid/content/ComponentName;)V
 HSPLcom/android/server/devicepolicy/CallerIdentity;->getUserId()I
 HSPLcom/android/server/devicepolicy/DevicePolicyEngine$DevicePoliciesReaderWriter;->writeLocalPoliciesInner(Lcom/android/modules/utils/TypedXmlSerializer;)V+]Landroid/app/admin/PolicyKey;Landroid/app/admin/NoArgsPolicyKey;,Landroid/app/admin/PackagePolicyKey;,Landroid/app/admin/UserRestrictionPolicyKey;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Ljava/util/Iterator;Ljava/util/HashMap$EntryIterator;]Ljava/util/Map$Entry;Ljava/util/HashMap$Node;]Ljava/util/Map;Ljava/util/HashMap;]Ljava/util/Set;Ljava/util/HashMap$EntrySet;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda37;->getOrThrow()Ljava/lang/Object;
+HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda79;->getOrThrow()Ljava/lang/Object;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderClearCallingIdentity()J
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderGetCallingUid()I
+HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderRestoreCallingIdentity(J)V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPackageManagerLocal()Lcom/android/server/pm/PackageManagerLocal;
+HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->isActiveDeviceOwner(I)Z
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->isActiveProfileOwner(I)Z+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureLocked()V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminUncheckedLocked(Landroid/content/ComponentName;I)Lcom/android/server/devicepolicy/ActiveAdmin;+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdmins(I)Ljava/util/List;+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminsForLockscreenPoliciesLocked(I)Ljava/util/List;+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminsForUserAndItsManagedProfilesLocked(ILjava/util/function/Predicate;)Ljava/util/List;+]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;
-HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getBindDeviceAdminTargetUsers(Landroid/content/ComponentName;)Ljava/util/List;+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCallerIdentity(Landroid/content/ComponentName;Ljava/lang/String;)Lcom/android/server/devicepolicy/CallerIdentity;+]Lcom/android/server/devicepolicy/ActiveAdmin;Lcom/android/server/devicepolicy/ActiveAdmin;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerComponent(Z)Landroid/content/ComponentName;+]Lcom/android/server/devicepolicy/Owners;Lcom/android/server/devicepolicy/Owners;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerComponentOnUser(I)Landroid/content/ComponentName;+]Lcom/android/server/devicepolicy/Owners;Lcom/android/server/devicepolicy/Owners;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerComponentOnUser(I)Landroid/content/ComponentName;+]Lcom/android/server/devicepolicy/Owners;Lcom/android/server/devicepolicy/Owners;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)I+]Lcom/android/server/devicepolicy/ActiveAdmin;Lcom/android/server/devicepolicy/ActiveAdmin;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getLockObject()Ljava/lang/Object;+]Lcom/android/internal/util/StatLogger;Lcom/android/internal/util/StatLogger;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPermissionGrantState(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;
@@ -1523,6 +1566,8 @@
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserData(I)Lcom/android/server/devicepolicy/DevicePolicyData;+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserDataUnchecked(I)Lcom/android/server/devicepolicy/DevicePolicyData;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasCrossUsersPermission(Lcom/android/server/devicepolicy/CallerIdentity;I)Z
+HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasFullCrossUsersPermission(Lcom/android/server/devicepolicy/CallerIdentity;I)Z
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasPermission(Ljava/lang/String;Ljava/lang/String;)Z+]Landroid/content/Context;Landroid/app/ContextImpl;]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/util/List;Ljava/util/ImmutableCollections$ListN;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCallingFromPackage(Ljava/lang/String;I)Z+]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;]Lcom/android/server/pm/PackageManagerLocal$UnfilteredSnapshot;Lcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl;]Lcom/android/server/pm/PackageManagerLocal;Lcom/android/server/pm/local/PackageManagerLocalImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Ljava/util/Map;Ljava/util/Collections$UnmodifiableMap;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDefaultDeviceOwner(Lcom/android/server/devicepolicy/CallerIdentity;)Z+]Lcom/android/server/devicepolicy/Owners;Lcom/android/server/devicepolicy/Owners;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDeviceOwnerLocked(Lcom/android/server/devicepolicy/CallerIdentity;)Z+]Lcom/android/server/devicepolicy/Owners;Lcom/android/server/devicepolicy/Owners;
@@ -1530,26 +1575,28 @@
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isPackageSuspended(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isProfileOwner(Lcom/android/server/devicepolicy/CallerIdentity;)Z
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isSeparateProfileChallengeEnabled(I)Z
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isUidProfileOwnerLocked(I)Z+]Lcom/android/server/devicepolicy/ActiveAdmin;Lcom/android/server/devicepolicy/ActiveAdmin;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Lcom/android/server/devicepolicy/Owners;Lcom/android/server/devicepolicy/Owners;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isUninstallBlocked(Ljava/lang/String;)Z+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getActiveAdminsForUserAndItsManagedProfilesLocked$21(ILjava/util/ArrayList;Ljava/util/function/Predicate;)V+]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Landroid/os/UserManager;Landroid/os/UserManager;]Lcom/android/server/devicepolicy/ActiveAdmin;Lcom/android/server/devicepolicy/ActiveAdmin;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/function/Predicate;Lcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda114;,Lcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda116;
+HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getProfileParentId$86(I)Ljava/lang/Integer;+]Landroid/os/UserManager;Landroid/os/UserManager;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->packageHasActiveAdmins(Ljava/lang/String;I)Z+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setApplicationExemptions(Ljava/lang/String;Ljava/lang/String;[I)V+]Landroid/app/admin/DevicePolicyEventLogger;Landroid/app/admin/DevicePolicyEventLogger;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;
-HSPLcom/android/server/devicepolicy/EnforcingAdmin;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;
 HSPLcom/android/server/devicepolicy/Owners;->getDeviceOwnerUserId()I
 HSPLcom/android/server/devicepolicy/Owners;->getProfileOwnerComponent(I)Landroid/content/ComponentName;
 HSPLcom/android/server/devicepolicy/Owners;->hasDeviceOwner()Z
 HSPLcom/android/server/devicepolicy/Owners;->isProfileOwnerOfOrganizationOwnedDevice(I)Z
-HSPLcom/android/server/display/AutomaticBrightnessController;->configure(ILandroid/hardware/display/BrightnessConfiguration;FZFZIIZZ)V+]Lcom/android/server/display/AutomaticBrightnessController;Lcom/android/server/display/AutomaticBrightnessController;]Lcom/android/server/display/BrightnessThrottler;Lcom/android/server/display/BrightnessThrottler;]Lcom/android/server/display/brightness/clamper/BrightnessClamperController;Lcom/android/server/display/brightness/clamper/BrightnessClamperController;
+HPLcom/android/server/display/AutomaticBrightnessController;->calculateAmbientLux(JJ)F
+HSPLcom/android/server/display/AutomaticBrightnessController;->configure(ILandroid/hardware/display/BrightnessConfiguration;FZFZIIZZ)V+]Lcom/android/server/display/AutomaticBrightnessController;Lcom/android/server/display/AutomaticBrightnessController;]Lcom/android/server/display/brightness/clamper/BrightnessClamperController;Lcom/android/server/display/brightness/clamper/BrightnessClamperController;
 HSPLcom/android/server/display/BrightnessRangeController;->getCurrentBrightnessMax()F+]Lcom/android/server/display/HighBrightnessModeController;Lcom/android/server/display/HighBrightnessModeController;]Lcom/android/server/display/NormalBrightnessModeController;Lcom/android/server/display/NormalBrightnessModeController;
 HSPLcom/android/server/display/DisplayAdapter$$ExternalSyntheticLambda1;->run()V
 HSPLcom/android/server/display/DisplayBrightnessState$Builder;-><init>()V
 HSPLcom/android/server/display/DisplayBrightnessState$Builder;->from(Lcom/android/server/display/DisplayBrightnessState;)Lcom/android/server/display/DisplayBrightnessState$Builder;
 HSPLcom/android/server/display/DisplayBrightnessState;-><init>(Lcom/android/server/display/DisplayBrightnessState$Builder;)V+]Lcom/android/server/display/DisplayBrightnessState$Builder;Lcom/android/server/display/DisplayBrightnessState$Builder;
 HSPLcom/android/server/display/DisplayDevice;->populateViewportLocked(Landroid/hardware/display/DisplayViewport;)V+]Lcom/android/server/display/DisplayDevice;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;,Lcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;
-HSPLcom/android/server/display/DisplayDeviceConfig;->getNitsFromBacklight(F)F+]Landroid/util/Spline;Landroid/util/Spline$LinearSpline;,Landroid/util/Spline$MonotoneCubicSpline;
 HSPLcom/android/server/display/DisplayDeviceInfo;-><init>()V
 HSPLcom/android/server/display/DisplayDeviceInfo;->diff(Lcom/android/server/display/DisplayDeviceInfo;)I
 HSPLcom/android/server/display/DisplayDeviceInfo;->toString()Ljava/lang/String;
+HSPLcom/android/server/display/DisplayDeviceRepository;->containsLocked(Lcom/android/server/display/DisplayDevice;)Z+]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/display/DisplayDeviceRepository;->handleDisplayDeviceChanged(Lcom/android/server/display/DisplayDevice;)V+]Lcom/android/server/display/DisplayDevice;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;,Lcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/display/DisplayGroup;->getIdLocked(I)I+]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/display/DisplayGroup;->getSizeLocked()I+]Ljava/util/List;Ljava/util/ArrayList;
@@ -1558,8 +1605,7 @@
 HSPLcom/android/server/display/DisplayManagerService$BinderService;->getBrightnessInfo(I)Landroid/hardware/display/BrightnessInfo;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;
 HSPLcom/android/server/display/DisplayManagerService$BinderService;->getDisplayIds(Z)[I+]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;
 HSPLcom/android/server/display/DisplayManagerService$BinderService;->getDisplayInfo(I)Landroid/view/DisplayInfo;
-HSPLcom/android/server/display/DisplayManagerService$CallbackRecord;->notifyDisplayEventAsync(II)Z
-HSPLcom/android/server/display/DisplayManagerService$CallbackRecord;->shouldSendDisplayEvent(I)Z
+HSPLcom/android/server/display/DisplayManagerService$CallbackRecord;->notifyDisplayEventAsync(II)Z+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/display/DisplayManagerService$DisplayManagerHandler;->handleMessage(Landroid/os/Message;)V+]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Lcom/android/server/input/InputManagerInternal;Lcom/android/server/input/InputManagerService$LocalService;]Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/wm/WindowManagerService$LocalService;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;
 HSPLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayIdToMirror(I)I+]Lcom/android/server/display/DisplayDevice;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;,Lcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;
 HSPLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayInfo(I)Landroid/view/DisplayInfo;
@@ -1568,19 +1614,12 @@
 HSPLcom/android/server/display/DisplayManagerService$LocalService;->requestPowerState(ILandroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;Z)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/DisplayDevice;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;,Lcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;]Lcom/android/server/display/DisplayGroup;Lcom/android/server/display/DisplayGroup;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;
 HSPLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayProperties(IZFIFFZZZ)V
 HSPLcom/android/server/display/DisplayManagerService$LocalService;->setScreenBrightnessOverrideFromWindowManager(Landroid/util/SparseArray;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;
-HSPLcom/android/server/display/DisplayManagerService$UidImportanceListener;->onUidImportanceUnflagged(II)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/display/DisplayManagerService;->applyDisplayChangedLocked(Lcom/android/server/display/LogicalDisplay;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/HighBrightnessModeMetadataMapper;Lcom/android/server/display/HighBrightnessModeMetadataMapper;
-HSPLcom/android/server/display/DisplayManagerService;->configureDisplayLocked(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/display/DisplayDevice;)V+]Lcom/android/server/display/DisplayDevice;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;,Lcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;
 HSPLcom/android/server/display/DisplayManagerService;->deliverDisplayEvent(ILandroid/util/ArraySet;I)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList;
-HSPLcom/android/server/display/DisplayManagerService;->deliverEventUnflagged(Lcom/android/server/display/DisplayManagerService$CallbackRecord;II)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/display/DisplayManagerService;->getDisplayInfoForFrameRateOverride([Landroid/view/DisplayEventReceiver$FrameRateOverride;Landroid/view/DisplayInfo;I)Landroid/view/DisplayInfo;
 HSPLcom/android/server/display/DisplayManagerService;->getDisplayInfoInternal(II)Landroid/view/DisplayInfo;+]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;
-HSPLcom/android/server/display/DisplayManagerService;->getViewportLocked(ILjava/lang/String;)Landroid/hardware/display/DisplayViewport;+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/display/DisplayManagerService;->isMinimalPostProcessingAllowed()Z
-HSPLcom/android/server/display/DisplayManagerService;->isUidCached(I)Z+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;
 HSPLcom/android/server/display/DisplayManagerService;->performTraversalInternal(Landroid/view/SurfaceControl$Transaction;Landroid/util/SparseArray;)V+]Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;Lcom/android/server/display/ColorFade$NaturalSurfaceLayout;]Ljava/util/Iterator;Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator;]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList;
-HSPLcom/android/server/display/DisplayManagerService;->performTraversalLocked(Landroid/view/SurfaceControl$Transaction;Landroid/util/SparseArray;)V+]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;
-HSPLcom/android/server/display/DisplayManagerService;->populateViewportLocked(IILcom/android/server/display/DisplayDevice;Lcom/android/server/display/DisplayDeviceInfo;)V
 HSPLcom/android/server/display/DisplayManagerService;->requestDisplayStateInternal(IIFF)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Ljava/lang/Runnable;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;
 HSPLcom/android/server/display/DisplayManagerService;->scheduleTraversalLocked(Z)V
 HSPLcom/android/server/display/DisplayManagerService;->sendDisplayEventIfEnabledLocked(Lcom/android/server/display/LogicalDisplay;I)V
@@ -1602,13 +1641,15 @@
 HSPLcom/android/server/display/DisplayPowerState$PhotonicModulator;->run()V
 HSPLcom/android/server/display/DisplayPowerState$PhotonicModulator;->setState(IFF)Z
 HSPLcom/android/server/display/DisplayPowerState;->postScreenUpdateThreadSafe()V
+HSPLcom/android/server/display/HighBrightnessModeController;->calculateRemainingTime(J)J+]Lcom/android/server/display/HbmEvent;Lcom/android/server/display/HbmEvent;]Lcom/android/server/display/HighBrightnessModeController;Lcom/android/server/display/HighBrightnessModeController;]Lcom/android/server/display/HighBrightnessModeMetadata;Lcom/android/server/display/HighBrightnessModeMetadata;]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]Ljava/util/Iterator;Ljava/util/ArrayDeque$DeqIterator;
+HSPLcom/android/server/display/HighBrightnessModeController;->getCurrentBrightnessMax()F+]Lcom/android/server/display/HighBrightnessModeController;Lcom/android/server/display/HighBrightnessModeController;
+HSPLcom/android/server/display/HighBrightnessModeController;->onBrightnessChanged(FFI)V+]Lcom/android/server/display/DisplayManagerService$Clock;Lcom/android/server/display/HighBrightnessModeController$Injector$$ExternalSyntheticLambda0;]Lcom/android/server/display/HighBrightnessModeController;Lcom/android/server/display/HighBrightnessModeController;]Lcom/android/server/display/HighBrightnessModeMetadata;Lcom/android/server/display/HighBrightnessModeMetadata;
+HSPLcom/android/server/display/HighBrightnessModeController;->recalculateTimeAllowance()V+]Lcom/android/server/display/DisplayManagerService$Clock;Lcom/android/server/display/HighBrightnessModeController$Injector$$ExternalSyntheticLambda0;]Lcom/android/server/display/HbmEvent;Lcom/android/server/display/HbmEvent;]Lcom/android/server/display/HighBrightnessModeMetadata;Lcom/android/server/display/HighBrightnessModeMetadata;]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;
 HSPLcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;->hasMatchingMode(Landroid/view/SurfaceControl$DisplayMode;)Z
 HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->setDisplayBrightness(FF)V+]Lcom/android/server/display/DisplayDeviceConfig;Lcom/android/server/display/DisplayDeviceConfig;]Lcom/android/server/display/LocalDisplayAdapter$BacklightAdapter;Lcom/android/server/display/LocalDisplayAdapter$BacklightAdapter;]Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;]Lcom/android/server/display/feature/DisplayManagerFlags;Lcom/android/server/display/feature/DisplayManagerFlags;
 HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->getDisplayDeviceConfig()Lcom/android/server/display/DisplayDeviceConfig;
 HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->getDisplayDeviceInfoLocked()Lcom/android/server/display/DisplayDeviceInfo;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Lcom/android/server/display/DisplayDeviceConfig;Lcom/android/server/display/DisplayDeviceConfig;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->getLogicalDensity()I+]Lcom/android/server/display/DensityMapping;Lcom/android/server/display/DensityMapping;]Lcom/android/server/display/DisplayDeviceConfig;Lcom/android/server/display/DisplayDeviceConfig;]Lcom/android/server/display/feature/DisplayManagerFlags;Lcom/android/server/display/feature/DisplayManagerFlags;
-HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->requestDisplayStateLocked(IFFLcom/android/server/display/DisplayOffloadSessionImpl;)Ljava/lang/Runnable;
-HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->setDesiredDisplayModeSpecsLocked(Lcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;)V
 HSPLcom/android/server/display/LogicalDisplay;->configureDisplayLocked(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/display/DisplayDevice;Z)V+]Landroid/graphics/Point;Landroid/graphics/Point;]Lcom/android/server/display/DisplayDevice;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;,Lcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;
 HSPLcom/android/server/display/LogicalDisplay;->getDisplayIdLocked()I
 HSPLcom/android/server/display/LogicalDisplay;->getDisplayInfoLocked()Landroid/view/DisplayInfo;+]Lcom/android/server/display/DisplayInfoProxy;Lcom/android/server/display/DisplayInfoProxy;
@@ -1616,16 +1657,14 @@
 HSPLcom/android/server/display/LogicalDisplay;->updateFrameRateOverrides(Lcom/android/server/display/DisplayDeviceInfo;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/display/LogicalDisplay;->updateLocked(Lcom/android/server/display/DisplayDeviceRepository;Lcom/android/server/display/mode/SyntheticModeManager;)V+]Lcom/android/server/display/DisplayDevice;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;,Lcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;]Lcom/android/server/display/DisplayDeviceRepository;Lcom/android/server/display/DisplayDeviceRepository;]Lcom/android/server/display/DisplayInfoProxy;Lcom/android/server/display/DisplayInfoProxy;]Lcom/android/server/display/mode/SyntheticModeManager;Lcom/android/server/display/mode/SyntheticModeManager;
 HSPLcom/android/server/display/LogicalDisplayMapper;->assignDisplayGroupLocked(Lcom/android/server/display/LogicalDisplay;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/display/DisplayDevice;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;,Lcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;]Lcom/android/server/display/DisplayGroup;Lcom/android/server/display/DisplayGroup;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;
-HSPLcom/android/server/display/LogicalDisplayMapper;->forEachLocked(Ljava/util/function/Consumer;Z)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/function/Consumer;megamorphic_types
 HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayGroupIdFromDisplayIdLocked(I)I+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/DisplayGroup;Lcom/android/server/display/DisplayGroup;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;
 HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayGroupLocked(I)Lcom/android/server/display/DisplayGroup;+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayIdsLocked(IZ)[I+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayLocked(I)Lcom/android/server/display/LogicalDisplay;+]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;
 HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayLocked(IZ)Lcom/android/server/display/LogicalDisplay;+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayLocked(Lcom/android/server/display/DisplayDevice;Z)Lcom/android/server/display/LogicalDisplay;+]Landroid/util/SparseArray;Landroid/util/SparseArray;
-HSPLcom/android/server/display/LogicalDisplayMapper;->sendUpdatesForDisplaysLocked(I)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/display/LogicalDisplayMapper$Listener;Lcom/android/server/display/DisplayManagerService$LogicalDisplayListener;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Lcom/android/server/display/feature/DisplayManagerFlags;Lcom/android/server/display/feature/DisplayManagerFlags;
-HSPLcom/android/server/display/LogicalDisplayMapper;->sendUpdatesForGroupsLocked(I)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/display/LogicalDisplayMapper$Listener;Lcom/android/server/display/DisplayManagerService$LogicalDisplayListener;
-HSPLcom/android/server/display/LogicalDisplayMapper;->updateLogicalDisplaysLocked(IZ)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/display/DisplayGroup;Lcom/android/server/display/DisplayGroup;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Lcom/android/server/display/feature/DisplayManagerFlags;Lcom/android/server/display/feature/DisplayManagerFlags;
+HSPLcom/android/server/display/LogicalDisplayMapper;->sendUpdatesForDisplaysLocked(I)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/display/LogicalDisplayMapper$Listener;Lcom/android/server/display/DisplayManagerService$LogicalDisplayListener;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;
+HSPLcom/android/server/display/LogicalDisplayMapper;->updateLogicalDisplaysLocked(IZ)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/display/DisplayGroup;Lcom/android/server/display/DisplayGroup;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;
 HPLcom/android/server/display/RampAnimator$DualRampAnimator$1;->run()V+]Lcom/android/server/display/RampAnimator$DualRampAnimator;Lcom/android/server/display/RampAnimator$DualRampAnimator;]Lcom/android/server/display/RampAnimator$Listener;Lcom/android/server/display/DisplayPowerController$3;]Lcom/android/server/display/RampAnimator;Lcom/android/server/display/RampAnimator;
 HPLcom/android/server/display/RampAnimator;->performNextAnimationStep(J)V
 HSPLcom/android/server/display/RampAnimator;->setPropertyValue(F)V+]Landroid/util/FloatProperty;Lcom/android/server/display/DisplayPowerState$2;,Lcom/android/server/display/DisplayPowerState$3;
@@ -1647,7 +1686,6 @@
 HSPLcom/android/server/display/feature/DisplayManagerFlags$FlagState;->-$$Nest$misEnabled(Lcom/android/server/display/feature/DisplayManagerFlags$FlagState;)Z
 HSPLcom/android/server/display/feature/DisplayManagerFlags$FlagState;->isEnabled()Z
 HSPLcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;->setAppRequest(IIFFF)V+]Lcom/android/server/display/mode/VotesStorage;Lcom/android/server/display/mode/VotesStorage;
-HSPLcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;->equals(Ljava/lang/Object;)Z
 HSPLcom/android/server/display/mode/DisplayModeDirector;->getModeSwitchingType()I
 HSPLcom/android/server/display/mode/VotesStorage;->updateVote(IILcom/android/server/display/mode/Vote;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/mode/VotesStatsReporter;Lcom/android/server/display/mode/VotesStatsReporter;]Lcom/android/server/display/mode/VotesStorage$Listener;Lcom/android/server/display/mode/DisplayModeDirector$$ExternalSyntheticLambda0;]Ljava/lang/Object;megamorphic_types
 HSPLcom/android/server/display/state/DisplayStateController;->updateDisplayState(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;ZZ)Landroid/util/Pair;
@@ -1662,6 +1700,7 @@
 HSPLcom/android/server/grammaticalinflection/GrammaticalInflectionUtils;->checkSystemGrammaticalGenderPermission(Landroid/permission/PermissionManager;Landroid/content/AttributionSource;)Z
 HSPLcom/android/server/health/HealthServiceWrapperAidl;->getProperty(ILandroid/os/BatteryProperty;)I
 HSPLcom/android/server/health/HealthServiceWrapperAidl;->getPropertyInternal(ILandroid/os/BatteryProperty;)I+]Landroid/hardware/health/IHealth;Landroid/hardware/health/IHealth$Stub$Proxy;]Landroid/os/BatteryProperty;Landroid/os/BatteryProperty;
+HSPLcom/android/server/infra/AbstractMasterSystemService;->assertCalledByPackageOwner(Ljava/lang/String;)V+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;
 HSPLcom/android/server/infra/AbstractMasterSystemService;->getServiceListForUserLocked(I)Ljava/util/List;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/infra/AbstractMasterSystemService;megamorphic_types]Lcom/android/server/infra/ServiceNameResolver;Lcom/android/server/infra/FrameworkResourcesServiceNameResolver;,Lcom/android/server/infra/SecureSettingsServiceNameResolver;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/input/KeyboardLayoutManager$KeyboardLayoutDescriptor;->format(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/server/input/KeyboardLayoutManager;->visitKeyboardLayoutsInPackage(Landroid/content/pm/PackageManager;Landroid/content/pm/ActivityInfo;Ljava/lang/String;ILcom/android/server/input/KeyboardLayoutManager$KeyboardLayoutVisitor;)V+]Landroid/content/pm/ActivityInfo;Landroid/content/pm/ActivityInfo;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/content/res/XmlResourceParser;Landroid/content/res/XmlBlock$Parser;]Lcom/android/server/input/KeyboardLayoutManager$KeyboardLayoutVisitor;Lcom/android/server/input/KeyboardLayoutManager$$ExternalSyntheticLambda1;,Lcom/android/server/input/KeyboardLayoutManager$$ExternalSyntheticLambda5;,Lcom/android/server/input/KeyboardLayoutManager$2;]Ljava/lang/CharSequence;Ljava/lang/String;
@@ -1670,6 +1709,7 @@
 HSPLcom/android/server/inputmethod/InputMethodSettings;->getEnabledInputMethodsAndSubtypeList()Ljava/util/List;
 HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;->getInputMethodAndSubtypeListForHardwareKeyboard(Landroid/content/Context;Lcom/android/server/inputmethod/InputMethodSettings;)Ljava/util/List;+]Landroid/content/Context;Landroid/app/ContextImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;->getSortedInputMethodAndSubtypeList(ZZZLandroid/content/Context;Lcom/android/server/inputmethod/InputMethodSettings;)Ljava/util/List;+]Landroid/content/Context;Landroid/app/ContextImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/inputmethod/RawInputMethodMap;->toInputMethodMap(Lcom/android/server/inputmethod/AdditionalSubtypeMap;IZ)Lcom/android/server/inputmethod/InputMethodMap;+]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/inputmethod/SecureSettingsWrapper;->get(I)Lcom/android/server/inputmethod/SecureSettingsWrapper$ReaderWriter;
 HSPLcom/android/server/inputmethod/UserDataRepository;->getOrCreate(I)Lcom/android/server/inputmethod/UserData;
 HSPLcom/android/server/job/JobConcurrencyManager$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V
@@ -1779,7 +1819,7 @@
 HSPLcom/android/server/job/JobSchedulerService;->isReadyToBeExecutedLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;
 HSPLcom/android/server/job/JobSchedulerService;->isReadyToBeExecutedLocked(Lcom/android/server/job/controllers/JobStatus;Z)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;
 HSPLcom/android/server/job/JobSchedulerService;->lambda$new$2(ILjava/lang/String;Ljava/lang/String;)Lcom/android/server/utils/quota/Category;
-HSPLcom/android/server/job/JobSchedulerService;->lambda$onBootPhase$4(Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/StateController;megamorphic_types]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/job/JobSchedulerService;->lambda$onBootPhase$4(Lcom/android/server/job/controllers/JobStatus;)V
 HSPLcom/android/server/job/JobSchedulerService;->maybeProcessBuggyJob(Lcom/android/server/job/controllers/JobStatus;I)V+]Lcom/android/server/usage/AppStandbyInternal;Lcom/android/server/usage/AppStandbyController;]Lcom/android/server/utils/quota/CountQuotaTracker;Lcom/android/server/utils/quota/CountQuotaTracker;]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$1;
 HSPLcom/android/server/job/JobSchedulerService;->maybeRunPendingJobsLocked()V+]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;
 HSPLcom/android/server/job/JobSchedulerService;->onControllerStateChanged(Landroid/util/ArraySet;)V+]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;
@@ -1793,6 +1833,7 @@
 HSPLcom/android/server/job/JobSchedulerService;->startTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/controllers/StateController;megamorphic_types]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/job/JobSchedulerService;->stopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/server/job/controllers/StateController;megamorphic_types]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/job/JobSchedulerService;->updateUidState(III)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager;]Lcom/android/server/job/controllers/StateController;megamorphic_types]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/job/JobServiceContext$JobCallback;-><init>(Lcom/android/server/job/JobServiceContext;)V
 HSPLcom/android/server/job/JobServiceContext$JobCallback;->acknowledgeStartMessage(IZ)V
 HSPLcom/android/server/job/JobServiceContext;->applyStoppedReasonLocked(Ljava/lang/String;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;
 HSPLcom/android/server/job/JobServiceContext;->canGetNetworkInformation(Lcom/android/server/job/controllers/JobStatus;)Z+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;
@@ -1802,6 +1843,7 @@
 HPLcom/android/server/job/JobServiceContext;->doDequeueWork(Lcom/android/server/job/JobServiceContext$JobCallback;I)Landroid/app/job/JobWorkItem;+]Landroid/app/job/JobParameters;Landroid/app/job/JobParameters;
 HSPLcom/android/server/job/JobServiceContext;->doJobFinished(Lcom/android/server/job/JobServiceContext$JobCallback;IZ)V+]Landroid/app/job/JobParameters;Landroid/app/job/JobParameters;
 HSPLcom/android/server/job/JobServiceContext;->executeRunnableJob(Lcom/android/server/job/controllers/JobStatus;I)Z+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/internal/app/IBatteryStats;Lcom/android/server/am/BatteryStatsService;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;
+HSPLcom/android/server/job/JobServiceContext;->getRunningJobLocked()Lcom/android/server/job/controllers/JobStatus;
 HSPLcom/android/server/job/JobServiceContext;->handleFinishedLocked(ZLjava/lang/String;)V
 HSPLcom/android/server/job/JobServiceContext;->handleServiceBoundLocked()V+]Landroid/app/job/IJobService;Landroid/app/job/IJobService$Stub$Proxy;,Landroid/app/job/JobServiceEngine$JobInterface;
 HSPLcom/android/server/job/JobServiceContext;->handleStartedLocked(Z)V+]Landroid/app/job/JobParameters;Landroid/app/job/JobParameters;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;
@@ -1816,6 +1858,7 @@
 HPLcom/android/server/job/JobStore$2;->addAttributesToJobTag(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;
 HPLcom/android/server/job/JobStore$2;->deepCopyBundle(Landroid/os/PersistableBundle;I)Landroid/os/PersistableBundle;+]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/MapCollections$KeySet;
 HPLcom/android/server/job/JobStore$2;->run()V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Ljava/io/File;Ljava/io/File;]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;,Ljava/time/Clock$SystemClock;
+HPLcom/android/server/job/JobStore$2;->writeBundleToXml(Landroid/os/PersistableBundle;Lorg/xmlpull/v1/XmlSerializer;)V+]Lorg/xmlpull/v1/XmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;
 HPLcom/android/server/job/JobStore$2;->writeConstraintsToXml(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Landroid/net/NetworkRequest;Landroid/net/NetworkRequest;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;
 HPLcom/android/server/job/JobStore$2;->writeDebugInfoToXml(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;
 HPLcom/android/server/job/JobStore$2;->writeExecutionCriteriaToXml(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;,Ljava/time/Clock$SystemClock;]Lorg/xmlpull/v1/XmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;
@@ -1833,11 +1876,11 @@
 HSPLcom/android/server/job/JobStore;->countJobsForUid(I)I
 HSPLcom/android/server/job/JobStore;->getJobByUidAndJobId(ILjava/lang/String;I)Lcom/android/server/job/controllers/JobStatus;
 HPLcom/android/server/job/JobStore;->intArrayToString([I)Ljava/lang/String;
-HPLcom/android/server/job/JobStore;->maybeWriteStatusToDiskAsync()V
+HSPLcom/android/server/job/JobStore;->maybeWriteStatusToDiskAsync()V
 HSPLcom/android/server/job/JobStore;->remove(Lcom/android/server/job/controllers/JobStatus;Z)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;
 HPLcom/android/server/job/PendingJobQueue$$ExternalSyntheticLambda0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLcom/android/server/job/PendingJobQueue$AppJobQueue$AdjustedJobStatus;->clear()V
-HPLcom/android/server/job/PendingJobQueue$AppJobQueue;->$r8$lambda$g0OYYwC3jkCSkqvBk21tiP7tdvI(Lcom/android/server/job/PendingJobQueue$AppJobQueue$AdjustedJobStatus;Lcom/android/server/job/PendingJobQueue$AppJobQueue$AdjustedJobStatus;)I+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;
+HSPLcom/android/server/job/PendingJobQueue$AppJobQueue;->$r8$lambda$g0OYYwC3jkCSkqvBk21tiP7tdvI(Lcom/android/server/job/PendingJobQueue$AppJobQueue$AdjustedJobStatus;Lcom/android/server/job/PendingJobQueue$AppJobQueue$AdjustedJobStatus;)I+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;
 HPLcom/android/server/job/PendingJobQueue$AppJobQueue;->add(Lcom/android/server/job/controllers/JobStatus;)V+]Landroid/util/Pools$Pool;Landroid/util/Pools$SimplePool;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/job/PendingJobQueue$AppJobQueue;->addAll(Ljava/util/List;)V+]Landroid/util/Pools$Pool;Landroid/util/Pools$SimplePool;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/job/PendingJobQueue$AppJobQueue;->indexOf(Lcom/android/server/job/controllers/JobStatus;)I+]Ljava/util/List;Ljava/util/ArrayList;
@@ -1865,10 +1908,12 @@
 HSPLcom/android/server/job/controllers/BatteryController;->hasTopExemptionLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;
 HSPLcom/android/server/job/controllers/BatteryController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;
 HSPLcom/android/server/job/controllers/BatteryController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+HSPLcom/android/server/job/controllers/BatteryController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;
 HSPLcom/android/server/job/controllers/ComponentController;->getServiceProcessLocked(Lcom/android/server/job/controllers/JobStatus;)Ljava/lang/String;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;
 HSPLcom/android/server/job/controllers/ComponentController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
 HSPLcom/android/server/job/controllers/ComponentController;->updateComponentEnabledStateLocked(Lcom/android/server/job/controllers/JobStatus;)Z
 HSPLcom/android/server/job/controllers/ConnectivityController$CcHandler;->handleMessage(Landroid/os/Message;)V+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;
+HPLcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;->onBlockedStatusChanged(Landroid/net/Network;I)V
 HSPLcom/android/server/job/controllers/ConnectivityController;->evaluateStateLocked(Lcom/android/server/job/controllers/JobStatus;)V+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;
 HSPLcom/android/server/job/controllers/ConnectivityController;->getNetworkLocked(Lcom/android/server/job/controllers/JobStatus;)Landroid/net/Network;+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/job/controllers/ConnectivityController;->getNetworkMetadata(Landroid/net/Network;)Lcom/android/server/job/controllers/ConnectivityController$CachedNetworkMetadata;
@@ -1892,7 +1937,7 @@
 HPLcom/android/server/job/controllers/ContentObserverController$JobInstance;-><init>(Lcom/android/server/job/controllers/ContentObserverController;Lcom/android/server/job/controllers/JobStatus;)V+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/job/controllers/ContentObserverController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;
 HSPLcom/android/server/job/controllers/ContentObserverController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/DeviceIdleJobsController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V+]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/DeviceIdleInternal;Lcom/android/server/DeviceIdleController$LocalService;]Lcom/android/server/job/StateChangedListener;Lcom/android/server/job/JobSchedulerService;]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;
+HSPLcom/android/server/job/controllers/DeviceIdleJobsController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V+]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/DeviceIdleInternal;Lcom/android/server/DeviceIdleController$LocalService;]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;
 HSPLcom/android/server/job/controllers/DeviceIdleJobsController;->isWhitelistedLocked(Lcom/android/server/job/controllers/JobStatus;)Z
 HSPLcom/android/server/job/controllers/DeviceIdleJobsController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;
 HSPLcom/android/server/job/controllers/DeviceIdleJobsController;->setUidActiveLocked(IZ)V+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/StateChangedListener;Lcom/android/server/job/JobSchedulerService;
@@ -1929,9 +1974,9 @@
 HSPLcom/android/server/job/controllers/JobStatus;->createFromJobInfo(Landroid/app/job/JobInfo;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)Lcom/android/server/job/controllers/JobStatus;+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;
 HPLcom/android/server/job/controllers/JobStatus;->dequeueWorkLocked()Landroid/app/job/JobWorkItem;+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HPLcom/android/server/job/controllers/JobStatus;->enqueueWorkLocked(Landroid/app/job/JobWorkItem;)V+]Landroid/content/Intent;Landroid/content/Intent;]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/job/controllers/JobStatus;->generateLoggingId(Ljava/lang/String;I)J
 HSPLcom/android/server/job/controllers/JobStatus;->generateNamespaceHash(Ljava/lang/String;)Ljava/lang/String;+]Ljava/security/MessageDigest;Ljava/security/MessageDigest$Delegate;
 HSPLcom/android/server/job/controllers/JobStatus;->getAppTraceTag()Ljava/lang/String;+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;
-HSPLcom/android/server/job/controllers/JobStatus;->getEarliestRunTime()J
 HSPLcom/android/server/job/controllers/JobStatus;->getEffectivePriority()I+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;
 HSPLcom/android/server/job/controllers/JobStatus;->getEffectiveStandbyBucket()I+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Lcom/android/server/job/JobSchedulerInternal;Lcom/android/server/job/JobSchedulerService$LocalService;
 HSPLcom/android/server/job/controllers/JobStatus;->getFilteredDebugTags()[Ljava/lang/String;+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;
@@ -1947,7 +1992,7 @@
 HSPLcom/android/server/job/controllers/JobStatus;->getTimeoutBlameUserId()I
 HSPLcom/android/server/job/controllers/JobStatus;->getUid()I
 HSPLcom/android/server/job/controllers/JobStatus;->getUserId()I
-HSPLcom/android/server/job/controllers/JobStatus;->getWakelockTag()Ljava/lang/String;
+HSPLcom/android/server/job/controllers/JobStatus;->getWakelockTag()Ljava/lang/String;+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;
 HSPLcom/android/server/job/controllers/JobStatus;->getWorkCount()I+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/job/controllers/JobStatus;->hasBatteryNotLowConstraint()Z
 HSPLcom/android/server/job/controllers/JobStatus;->hasChargingConstraint()Z
@@ -1969,6 +2014,7 @@
 HSPLcom/android/server/job/controllers/JobStatus;->setBackgroundNotRestrictedConstraintSatisfied(JZZ)Z
 HSPLcom/android/server/job/controllers/JobStatus;->setConstraintSatisfied(IJZ)Z+]Ljava/util/List;Ljava/util/ArrayList$SubList;,Ljava/util/ArrayList;
 HSPLcom/android/server/job/controllers/JobStatus;->setDeviceNotDozingConstraintSatisfied(JZZ)Z
+HSPLcom/android/server/job/controllers/JobStatus;->setExpeditedJobQuotaApproved(JZ)Z
 HSPLcom/android/server/job/controllers/JobStatus;->shouldTreatAsExpeditedJob()Z
 HSPLcom/android/server/job/controllers/JobStatus;->shouldTreatAsUserInitiatedJob()Z+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;
 HSPLcom/android/server/job/controllers/JobStatus;->stopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;
@@ -2038,15 +2084,19 @@
 HSPLcom/android/server/job/controllers/TimeController;->setDelayExpiredAlarmLocked(JLandroid/os/WorkSource;)V
 HSPLcom/android/server/job/restrictions/ThermalStatusRestriction;->isJobRestricted(Lcom/android/server/job/controllers/JobStatus;I)Z+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;
 HSPLcom/android/server/lights/LightsService$LightImpl;->setLightLocked(IIIII)V
+HPLcom/android/server/locales/LocaleManagerService;->getApplicationLocales(Ljava/lang/String;I)Landroid/os/LocaleList;+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;
+HSPLcom/android/server/location/LocationManagerService;->getLocationProviderManager(Ljava/lang/String;)Lcom/android/server/location/provider/LocationProviderManager;+]Lcom/android/server/location/provider/LocationProviderManager;Lcom/android/server/location/provider/LocationProviderManager;,Lcom/android/server/location/provider/PassiveLocationProviderManager;]Ljava/util/Iterator;Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator;]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList;
 HSPLcom/android/server/location/LocationManagerService;->isLocationEnabledForUser(I)Z+]Lcom/android/server/location/injector/Injector;Lcom/android/server/location/LocationManagerService$SystemInjector;]Lcom/android/server/location/injector/SettingsHelper;Lcom/android/server/location/injector/SystemSettingsHelper;
-HPLcom/android/server/location/contexthub/ContextHubClientBroker;->doSendMessageToNanoApp(Landroid/hardware/location/NanoAppMessage;Landroid/hardware/location/IContextHubTransactionCallback;)I+]Landroid/hardware/location/ContextHubInfo;Landroid/hardware/location/ContextHubInfo;]Lcom/android/server/location/contexthub/ContextHubEventLogger;Lcom/android/server/location/contexthub/ContextHubEventLogger;]Lcom/android/server/location/contexthub/IContextHubWrapper;Lcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;]Ljava/util/Map;Ljava/util/concurrent/ConcurrentHashMap;
-HSPLcom/android/server/location/contexthub/ContextHubClientBroker;->sendMessageToClient(Landroid/hardware/location/NanoAppMessage;Ljava/util/List;Ljava/util/List;)B+]Lcom/android/server/location/contexthub/ContextHubClientBroker;Lcom/android/server/location/contexthub/ContextHubClientBroker;]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/location/contexthub/ContextHubClientBroker;->doSendMessageToNanoApp(Landroid/hardware/location/NanoAppMessage;Landroid/hardware/location/IContextHubTransactionCallback;)I+]Landroid/hardware/location/ContextHubInfo;Landroid/hardware/location/ContextHubInfo;]Lcom/android/server/location/contexthub/ContextHubEventLogger;Lcom/android/server/location/contexthub/ContextHubEventLogger;]Lcom/android/server/location/contexthub/IContextHubWrapper;Lcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;]Ljava/util/Map;Ljava/util/concurrent/ConcurrentHashMap;
+HSPLcom/android/server/location/contexthub/ContextHubClientBroker;->sendMessageToClient(Landroid/hardware/location/NanoAppMessage;Ljava/util/List;Ljava/util/List;)B
+HSPLcom/android/server/location/contexthub/ContextHubServiceUtil;->createNanoAppStateList([Landroid/hardware/contexthub/NanoappInfo;)Ljava/util/List;
+HSPLcom/android/server/location/contexthub/NanoAppStateManager;->getNanoAppHandle(IJ)I+]Landroid/hardware/location/NanoAppInstanceInfo;Landroid/hardware/location/NanoAppInstanceInfo;]Ljava/util/Collection;Ljava/util/HashMap$Values;]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/util/Iterator;Ljava/util/HashMap$ValueIterator;
 HSPLcom/android/server/location/eventlog/LocalEventLog;->addLog(JLjava/lang/Object;)V+]Lcom/android/server/location/eventlog/LocalEventLog;Lcom/android/server/location/eventlog/LocationEventLog;
 HSPLcom/android/server/location/eventlog/LocalEventLog;->addLogEventInternal(ZILjava/lang/Object;)V+]Lcom/android/server/location/eventlog/LocalEventLog;Lcom/android/server/location/eventlog/LocationEventLog$LocationsEventLog;,Lcom/android/server/location/eventlog/LocationEventLog;
+HSPLcom/android/server/location/eventlog/LocalEventLog;->createEntry(ZI)I
 HSPLcom/android/server/location/eventlog/LocationEventLog;->getAggregateStats(Ljava/lang/String;Landroid/location/util/identity/CallerIdentity;)Lcom/android/server/location/eventlog/LocationEventLog$AggregateStats;
 HPLcom/android/server/location/injector/SystemAppOpsHelper;->noteOpNoThrow(ILandroid/location/util/identity/CallerIdentity;)Z+]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;
 HSPLcom/android/server/location/injector/SystemSettingsHelper$IntegerSecureSetting;->getValueForUser(II)I+]Landroid/content/Context;Landroid/app/ContextImpl;
-HSPLcom/android/server/location/injector/SystemSettingsHelper;->isLocationEnabled(I)Z+]Lcom/android/server/location/injector/SystemSettingsHelper$IntegerSecureSetting;Lcom/android/server/location/injector/SystemSettingsHelper$IntegerSecureSetting;
 HSPLcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard;->acquire()Lcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard;
 HSPLcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard;->close()V+]Ljava/util/Map$Entry;Ljava/util/AbstractMap$SimpleImmutableEntry;
 HSPLcom/android/server/location/listeners/ListenerMultiplexer$UpdateServiceBuffer;->acquire()Lcom/android/server/location/listeners/ListenerMultiplexer$UpdateServiceBuffer;
@@ -2058,7 +2108,9 @@
 HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$2;->onPostExecute(Z)V
 HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$2;->operate(Lcom/android/server/location/provider/LocationProviderManager$LocationTransport;)V+]Lcom/android/server/location/eventlog/LocationEventLog;Lcom/android/server/location/eventlog/LocationEventLog;]Lcom/android/server/location/provider/LocationProviderManager$LocationTransport;Lcom/android/server/location/provider/LocationProviderManager$LocationListenerTransport;
 HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration;->acceptLocationChange(Landroid/location/LocationResult;)Lcom/android/internal/listeners/ListenerExecutor$ListenerOperation;+]Lcom/android/server/location/injector/AppOpsHelper;Lcom/android/server/location/injector/SystemAppOpsHelper;]Lcom/android/server/location/provider/LocationProviderManager$Registration;Lcom/android/server/location/provider/LocationProviderManager$LocationListenerRegistration;]Lcom/android/server/location/provider/LocationProviderManager;Lcom/android/server/location/provider/LocationProviderManager;,Lcom/android/server/location/provider/PassiveLocationProviderManager;
+HPLcom/android/server/location/provider/LocationProviderManager;->getLastLocationUnsafe(IIZJ)Landroid/location/Location;+]Landroid/location/Location;Landroid/location/Location;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/location/injector/UserInfoHelper;Lcom/android/server/location/LocationManagerService$Lifecycle$LifecycleUserInfoHelper;]Lcom/android/server/location/provider/LocationProviderManager$LastLocation;Lcom/android/server/location/provider/LocationProviderManager$LastLocation;]Lcom/android/server/location/provider/LocationProviderManager;Lcom/android/server/location/provider/LocationProviderManager;
 HSPLcom/android/server/location/provider/LocationProviderManager;->isEnabled(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;
+HSPLcom/android/server/location/provider/LocationProviderManager;->onAppForegroundChanged(IZ)V
 HPLcom/android/server/location/provider/LocationProviderManager;->onReportLocation(Landroid/location/LocationResult;)V+]Landroid/location/Location;Landroid/location/Location;]Lcom/android/server/location/eventlog/LocationEventLog;Lcom/android/server/location/eventlog/LocationEventLog;]Lcom/android/server/location/provider/LocationProviderManager;Lcom/android/server/location/provider/LocationProviderManager;]Lcom/android/server/location/provider/PassiveLocationProviderManager;Lcom/android/server/location/provider/PassiveLocationProviderManager;
 HSPLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;->equals(Ljava/lang/Object;)Z
 HSPLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;->hashCode()I
@@ -2081,10 +2133,10 @@
 HSPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->tempPowerSaveWlChanged(IZILjava/lang/String;)V
 HSPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->uidFirewallRuleChanged(III)V
 HSPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->uidStateChanged(IIJI)V
+HSPLcom/android/server/net/NetworkPolicyLogger;->tempPowerSaveWlChanged(IZILjava/lang/String;)V
 HSPLcom/android/server/net/NetworkPolicyLogger;->uidFirewallRuleChanged(III)V
 HSPLcom/android/server/net/NetworkPolicyLogger;->uidStateChanged(IIJI)V
-HSPLcom/android/server/net/NetworkPolicyManagerService$$ExternalSyntheticLambda5;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService$15;->handleMessage(Landroid/os/Message;)Z+]Landroid/app/usage/NetworkStatsManager;Landroid/app/usage/NetworkStatsManager;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService;
+HSPLcom/android/server/net/NetworkPolicyManagerService$15;->handleMessage(Landroid/os/Message;)Z+]Landroid/app/usage/NetworkStatsManager;Landroid/app/usage/NetworkStatsManager;]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService;
 HSPLcom/android/server/net/NetworkPolicyManagerService$16;->handleMessage(Landroid/os/Message;)Z+]Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService;
 HSPLcom/android/server/net/NetworkPolicyManagerService$4;->isUidStateChangeRelevant(Lcom/android/server/net/NetworkPolicyManagerService$UidStateCallbackInfo;IJI)Z
 HSPLcom/android/server/net/NetworkPolicyManagerService$4;->onUidStateChanged(IIJI)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;
@@ -2099,10 +2151,10 @@
 HSPLcom/android/server/net/NetworkPolicyManagerService;->isUidForegroundOnRestrictPowerUL(I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/net/NetworkPolicyManagerService;->isUidIdle(II)Z+]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;
 HSPLcom/android/server/net/NetworkPolicyManagerService;->isUidValidForAllowlistRulesUL(I)Z
+HSPLcom/android/server/net/NetworkPolicyManagerService;->isUidValidForDenylistRulesUL(I)Z
 HSPLcom/android/server/net/NetworkPolicyManagerService;->isUidValidForRulesUL(I)Z
 HSPLcom/android/server/net/NetworkPolicyManagerService;->postBlockedReasonsChangedMsg(III)V
 HSPLcom/android/server/net/NetworkPolicyManagerService;->setUidFirewallRuleUL(III)V+]Landroid/os/INetworkManagementService;Lcom/android/server/net/NetworkManagementService;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/net/NetworkPolicyLogger;Lcom/android/server/net/NetworkPolicyLogger;
-HPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkEnabledNL()V+]Landroid/net/NetworkPolicy;Landroid/net/NetworkPolicy;]Lcom/android/internal/util/StatLogger;Lcom/android/internal/util/StatLogger;
 HPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkRulesNL()V+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/net/ConnectivityManager;Landroid/net/ConnectivityManager;]Landroid/net/Network;Landroid/net/Network;]Landroid/net/NetworkPolicy;Landroid/net/NetworkPolicy;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkStats(IZ)V+]Landroid/app/usage/NetworkStatsManager;Landroid/app/usage/NetworkStatsManager;
 HSPLcom/android/server/net/NetworkPolicyManagerService;->updateNotificationsNL()V+]Landroid/net/NetworkPolicy;Landroid/net/NetworkPolicy;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/time/Clock;Landroid/os/BestClock;
@@ -2123,17 +2175,19 @@
 HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/server/notification/BadgeExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Landroid/app/Notification;Landroid/app/Notification;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/RankingConfig;Lcom/android/server/notification/PreferencesHelper;
 HSPLcom/android/server/notification/BubbleExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Landroid/app/ActivityManager;Landroid/app/ActivityManager;]Landroid/app/Notification;Landroid/app/Notification;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/BubbleExtractor;Lcom/android/server/notification/BubbleExtractor;]Lcom/android/server/notification/RankingConfig;Lcom/android/server/notification/PreferencesHelper;
+HSPLcom/android/server/notification/GlobalSortKeyComparator;->compare(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)I
 HSPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->enabledAndUserMatches(I)Z+]Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;]Lcom/android/server/notification/ManagedServices$UserProfiles;Lcom/android/server/notification/ManagedServices$UserProfiles;
 HSPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->getService()Landroid/os/IInterface;
 HSPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->hashCode()I
 HSPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isEnabledForCurrentProfiles()Z
 HPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isSameUser(I)Z+]Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+HSPLcom/android/server/notification/ManagedServices$UserProfiles;->isCurrentProfile(I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/notification/ManagedServices;->getServiceFromTokenLocked(Landroid/os/IInterface;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;+]Landroid/os/IInterface;Landroid/service/notification/ConditionProviderService$Provider;,Landroid/service/notification/IConditionProvider$Stub$Proxy;,Landroid/service/notification/INotificationListener$Stub$Proxy;,Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/notification/ManagedServices;->getServices()Ljava/util/List;
 HSPLcom/android/server/notification/ManagedServices;->isPackageOrComponentAllowed(Ljava/lang/String;I)Z
 HSPLcom/android/server/notification/ManagedServices;->isServiceTokenValidLocked(Landroid/os/IInterface;)Z
 HSPLcom/android/server/notification/ManagedServices;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;ZI)V+]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;,Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/ConditionProviders;,Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;,Lcom/android/server/notification/NotificationManagerService$NotificationListeners;
-HPLcom/android/server/notification/NotificationAttentionHelper$PolitenessStrategy;->getChannelKey(Lcom/android/server/notification/NotificationRecord;)Ljava/lang/String;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;
+HSPLcom/android/server/notification/NotificationAttentionHelper$PolitenessStrategy;->getChannelKey(Lcom/android/server/notification/NotificationRecord;)Ljava/lang/String;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;
 HSPLcom/android/server/notification/NotificationAttentionHelper;->buzzBeepBlinkLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationAttentionHelper$Signals;)I+]Landroid/app/Notification;Landroid/app/Notification;]Landroid/media/AudioManager;Landroid/media/AudioManager;]Landroid/metrics/LogMaker;Landroid/metrics/LogMaker;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationAttentionHelper$PolitenessStrategy;Lcom/android/server/notification/NotificationAttentionHelper$StrategyAvalanche;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/notification/NotificationChannelExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Landroid/app/Notification;Landroid/app/Notification;]Landroid/media/AudioAttributes$Builder;Landroid/media/AudioAttributes$Builder;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/RankingConfig;Lcom/android/server/notification/PreferencesHelper;
 HSPLcom/android/server/notification/NotificationIntrusivenessExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
@@ -2143,35 +2197,47 @@
 HSPLcom/android/server/notification/NotificationManagerService$EnqueueNotificationRunnable;->enqueueNotification()Z+]Landroid/app/Notification;Landroid/app/Notification;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;]Lcom/android/server/notification/TimeToLiveHelper;Lcom/android/server/notification/TimeToLiveHelper;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onNotificationEnqueuedLocked(Lcom/android/server/notification/NotificationRecord;)V+]Landroid/service/notification/INotificationListener;Landroid/service/notification/INotificationListener$Stub$Proxy;]Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getNotificationListenerFilter(Landroid/util/Pair;)Landroid/service/notification/NotificationListenerFilter;
+HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->isListenerPackage(Ljava/lang/String;)Z+]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->isUidTrusted(I)Z
+HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyNotificationChannelGroupChanged(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V+]Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->prepareNotifyPostedLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;Z)Ljava/util/List;+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;]Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;->postNotification()Z+]Landroid/app/Notification;Landroid/app/Notification;]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/internal/logging/InstanceIdSequence;Lcom/android/internal/logging/InstanceIdSequence;]Lcom/android/server/notification/GroupHelper;Lcom/android/server/notification/GroupHelper;]Lcom/android/server/notification/ManagedServices$UserProfiles;Lcom/android/server/notification/ManagedServices$UserProfiles;]Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Lcom/android/server/notification/NotificationRecordLogger;Lcom/android/server/notification/NotificationRecordLoggerImpl;]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats;]Lcom/android/server/notification/RankingHelper;Lcom/android/server/notification/RankingHelper;]Lcom/android/server/notification/ShortcutHelper;Lcom/android/server/notification/ShortcutHelper;]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/notification/NotificationManagerService$PostNotificationTracker;-><init>(Landroid/os/PowerManager$WakeLock;)V
+HSPLcom/android/server/notification/NotificationManagerService$PostNotificationTracker;->finish()J+]Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;]Ljava/lang/Runnable;Lcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda7;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/notification/NotificationManagerService$StrongAuthTracker;->isInLockDownMode(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;
 HSPLcom/android/server/notification/NotificationManagerService$TrimCache;->ForListener(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/StatusBarNotification;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;
 HSPLcom/android/server/notification/NotificationManagerService$WorkerHandler;->scheduleCancelNotification(Lcom/android/server/notification/NotificationManagerService$CancelNotificationRunnable;I)V
 HPLcom/android/server/notification/NotificationManagerService;->applyAdjustmentLocked(Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/Adjustment;Z)V+]Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/MapCollections$KeySet;
 HSPLcom/android/server/notification/NotificationManagerService;->areNotificationsEnabledForPackageInt(I)Z
 HSPLcom/android/server/notification/NotificationManagerService;->cancelNotification(IILjava/lang/String;Ljava/lang/String;IIIZIIIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V+]Lcom/android/server/notification/NotificationManagerService$WorkerHandler;Lcom/android/server/notification/NotificationManagerService$WorkerHandler;
-HSPLcom/android/server/notification/NotificationManagerService;->cancelNotificationInternal(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;III)V+]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;
+HSPLcom/android/server/notification/NotificationManagerService;->cancelNotificationInternal(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;III)V+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;
+HPLcom/android/server/notification/NotificationManagerService;->cancelNotificationLocked(Lcom/android/server/notification/NotificationRecord;ZIIIZLjava/lang/String;J)V+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/app/Notification;Landroid/app/Notification;]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService;]Landroid/metrics/LogMaker;Landroid/metrics/LogMaker;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationManagerService$Archive;Lcom/android/server/notification/NotificationManagerService$Archive;]Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Lcom/android/server/notification/NotificationRecordLogger;Lcom/android/server/notification/NotificationRecordLoggerImpl;]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats;]Lcom/android/server/notification/TimeToLiveHelper;Lcom/android/server/notification/TimeToLiveHelper;
 HSPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSameApp(Ljava/lang/String;)V
 HSPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSameApp(Ljava/lang/String;II)V+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;
 HSPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSystemOrSameApp(Ljava/lang/String;)V+]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;
 HSPLcom/android/server/notification/NotificationManagerService;->checkDisqualifyingFeatures(IIILjava/lang/String;Lcom/android/server/notification/NotificationRecord;ZZ)Z+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/app/Notification$Action;Landroid/app/Notification$Action;]Landroid/app/Notification;Landroid/app/Notification;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats;
+HSPLcom/android/server/notification/NotificationManagerService;->checkRemoteViews(Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;)V
 HSPLcom/android/server/notification/NotificationManagerService;->enqueueNotificationInternal(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILandroid/app/Notification;IZLcom/android/server/notification/NotificationManagerService$PostNotificationTracker;ZZ)Z+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/app/Notification;Landroid/app/Notification;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/DeviceIdleInternal;Lcom/android/server/DeviceIdleController$LocalService;]Lcom/android/server/job/JobSchedulerInternal;Lcom/android/server/job/JobSchedulerService$LocalService;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats;]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper;]Lcom/android/server/notification/ShortcutHelper;Lcom/android/server/notification/ShortcutHelper;]Ljava/util/Set;Ljava/util/ImmutableCollections$SetN;
 HSPLcom/android/server/notification/NotificationManagerService;->findNotificationByListLocked(Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/notification/NotificationManagerService;->findNotificationLocked(Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
 HSPLcom/android/server/notification/NotificationManagerService;->fixNotification(Landroid/app/Notification;Ljava/lang/String;Ljava/lang/String;IIILandroid/app/ActivityManagerInternal$ServiceNotificationPolicy;Z)V+]Landroid/app/Notification$Builder;Landroid/app/Notification$Builder;]Landroid/app/Notification$CallStyle;Landroid/app/Notification$CallStyle;]Landroid/app/Notification;Landroid/app/Notification;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Ljava/util/List;Ljava/util/ArrayList;
+HPLcom/android/server/notification/NotificationManagerService;->getNotificationCount(Ljava/lang/String;IILjava/lang/String;)I+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/notification/NotificationManagerService;->getPackageImportanceWithIdentity(Ljava/lang/String;)I+]Landroid/app/ActivityManager;Landroid/app/ActivityManager;
+HSPLcom/android/server/notification/NotificationManagerService;->handleGroupedNotificationLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;II)V+]Landroid/app/Notification;Landroid/app/Notification;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;
+HSPLcom/android/server/notification/NotificationManagerService;->handleRankingSort()V+]Landroid/app/Notification;Landroid/app/Notification;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationManagerService$WorkerHandler;Lcom/android/server/notification/NotificationManagerService$WorkerHandler;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Lcom/android/server/notification/NotificationRecordLogger;Lcom/android/server/notification/NotificationRecordLoggerImpl;]Lcom/android/server/notification/RankingHelper;Lcom/android/server/notification/RankingHelper;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/notification/NotificationManagerService;->isCallerSystemOrPhone()Z+]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;
+HSPLcom/android/server/notification/NotificationManagerService;->isCallerSystemOrSystemUi()Z+]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;
 HSPLcom/android/server/notification/NotificationManagerService;->isInLockDownMode(I)Z+]Lcom/android/server/notification/NotificationManagerService$StrongAuthTracker;Lcom/android/server/notification/NotificationManagerService$StrongAuthTracker;
 HSPLcom/android/server/notification/NotificationManagerService;->isInteractionVisibleToListener(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)Z+]Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
 HSPLcom/android/server/notification/NotificationManagerService;->isRecordBlockedLocked(Lcom/android/server/notification/NotificationRecord;)Z+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper;
 HSPLcom/android/server/notification/NotificationManagerService;->isServiceTokenValid(Landroid/os/IInterface;)Z+]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;
 HSPLcom/android/server/notification/NotificationManagerService;->isUidSystemOrPhone(I)Z
 HSPLcom/android/server/notification/NotificationManagerService;->isVisibleToListener(Landroid/service/notification/StatusBarNotification;ILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z+]Landroid/service/notification/NotificationListenerFilter;Landroid/service/notification/NotificationListenerFilter;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;]Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;
+HSPLcom/android/server/notification/NotificationManagerService;->isVisuallyInterruptive(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)Z+]Landroid/app/Notification;Landroid/app/Notification;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;
 HSPLcom/android/server/notification/NotificationManagerService;->makeRankingUpdateLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;+]Landroid/app/Notification;Landroid/app/Notification;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/notification/NotificationManagerService;->maybeRecordInterruptionLocked(Lcom/android/server/notification/NotificationRecord;)V+]Landroid/app/Notification;Landroid/app/Notification;]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationHistoryManager;Lcom/android/server/notification/NotificationHistoryManager;
 HSPLcom/android/server/notification/NotificationManagerService;->notificationMatchesUserId(Lcom/android/server/notification/NotificationRecord;IZ)Z
-HSPLcom/android/server/notification/NotificationManagerService;->resolveNotificationUid(Ljava/lang/String;Ljava/lang/String;II)I+]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper;
+HSPLcom/android/server/notification/NotificationManagerService;->resolveNotificationUid(Ljava/lang/String;Ljava/lang/String;II)I+]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;
 HSPLcom/android/server/notification/NotificationManagerService;->updateUriPermissions(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;IZ)V+]Lcom/android/server/uri/UriGrantsManagerInternal;Lcom/android/server/uri/UriGrantsManagerService$LocalService;
 HSPLcom/android/server/notification/NotificationRecord;-><init>(Landroid/content/Context;Landroid/service/notification/StatusBarNotification;Landroid/app/NotificationChannel;)V+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;
 HSPLcom/android/server/notification/NotificationRecord;->applyAdjustments()V+]Ljava/lang/Object;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
@@ -2179,7 +2245,12 @@
 HSPLcom/android/server/notification/NotificationRecord;->calculateImportance()V
 HSPLcom/android/server/notification/NotificationRecord;->calculateInitialImportance()I+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;
 HSPLcom/android/server/notification/NotificationRecord;->calculateLights()Lcom/android/server/notification/NotificationRecord$Light;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/res/Resources;Landroid/content/res/Resources;
+HSPLcom/android/server/notification/NotificationRecord;->calculateRankingTimeMs(J)J+]Landroid/app/Notification;Landroid/app/Notification;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;
+HSPLcom/android/server/notification/NotificationRecord;->calculateSound()Landroid/net/Uri;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;
+HSPLcom/android/server/notification/NotificationRecord;->calculateUserSentiment()V
 HSPLcom/android/server/notification/NotificationRecord;->calculateVibration()Landroid/os/VibrationEffect;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;
+HSPLcom/android/server/notification/NotificationRecord;->getFlags()I+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;
+HSPLcom/android/server/notification/NotificationRecord;->getImportance()I
 HSPLcom/android/server/notification/NotificationRecord;->getImportanceExplanation()Ljava/lang/CharSequence;
 HSPLcom/android/server/notification/NotificationRecord;->getKey()Ljava/lang/String;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;
 HSPLcom/android/server/notification/NotificationRecord;->getLogMaker(J)Landroid/metrics/LogMaker;+]Landroid/metrics/LogMaker;Landroid/metrics/LogMaker;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;
@@ -2190,6 +2261,7 @@
 HSPLcom/android/server/notification/NotificationRecord;->getUserId()I+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;
 HSPLcom/android/server/notification/NotificationRecord;->isConversation()Z+]Landroid/app/Notification;Landroid/app/Notification;
 HSPLcom/android/server/notification/NotificationRecord;->updateNotificationChannel(Landroid/app/NotificationChannel;)V
+HPLcom/android/server/notification/NotificationRecord;->visitGrantableUri(Landroid/net/Uri;ZZ)V+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;
 HSPLcom/android/server/notification/NotificationRecordLogger$NotificationReported;-><init>(Lcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;Lcom/android/server/notification/NotificationRecordLogger$NotificationReportedEvent;IILcom/android/internal/logging/InstanceId;)V+]Landroid/app/Notification;Landroid/app/Notification;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;Lcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;
 HSPLcom/android/server/notification/NotificationRecordLoggerImpl;->writeNotificationReportedAtom(Lcom/android/server/notification/NotificationRecordLogger$NotificationReported;)V
 HSPLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->countApiUse(Lcom/android/server/notification/NotificationRecord;)V+]Lcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;Lcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;]Ljava/util/Set;Landroid/util/MapCollections$KeySet;
@@ -2197,43 +2269,54 @@
 HSPLcom/android/server/notification/NotificationUsageStats;->getAggregatedStatsLocked(Ljava/lang/String;)[Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;+]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;
 HSPLcom/android/server/notification/NotificationUsageStats;->getOrCreateAggregatedStatsLocked(Ljava/lang/String;)Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;+]Ljava/util/Map;Ljava/util/HashMap;
 HSPLcom/android/server/notification/PermissionHelper;->hasPermission(I)Z+]Landroid/content/Context;Landroid/app/ContextImpl;
+HSPLcom/android/server/notification/PermissionHelper;->isPermissionFixed(Ljava/lang/String;I)Z+]Landroid/permission/IPermissionManager;Lcom/android/server/pm/permission/PermissionManagerService;
 HSPLcom/android/server/notification/PreferencesHelper$PackagePreferences;-><init>()V
-HSPLcom/android/server/notification/PreferencesHelper;->createNotificationChannel(Ljava/lang/String;ILandroid/app/NotificationChannel;ZZIZ)Z+]Landroid/metrics/LogMaker;Landroid/metrics/LogMaker;]Lcom/android/server/notification/NotificationChannelLogger;Lcom/android/server/notification/NotificationChannelLoggerImpl;]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Map;Ljava/util/concurrent/ConcurrentHashMap;
+HSPLcom/android/server/notification/PreferencesHelper;->bubblesEnabled(Landroid/os/UserHandle;)Z+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;
+HSPLcom/android/server/notification/PreferencesHelper;->createNotificationChannel(Ljava/lang/String;ILandroid/app/NotificationChannel;ZZIZ)Z+]Landroid/metrics/LogMaker;Landroid/metrics/LogMaker;]Lcom/android/server/notification/NotificationChannelLogger;Lcom/android/server/notification/NotificationChannelLoggerImpl;]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Map;Landroid/util/ArrayMap;,Ljava/util/concurrent/ConcurrentHashMap;
+HSPLcom/android/server/notification/PreferencesHelper;->createNotificationChannelGroup(Ljava/lang/String;ILandroid/app/NotificationChannelGroup;ZIZ)V+]Lcom/android/server/notification/NotificationChannelLogger;Lcom/android/server/notification/NotificationChannelLoggerImpl;]Ljava/util/Map;Landroid/util/ArrayMap;,Ljava/util/concurrent/ConcurrentHashMap;
 HSPLcom/android/server/notification/PreferencesHelper;->getConversationNotificationChannel(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ZZ)Landroid/app/NotificationChannel;
-HPLcom/android/server/notification/PreferencesHelper;->getNotificationChannelGroupWithChannels(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannelGroup;+]Ljava/util/Map;Ljava/util/concurrent/ConcurrentHashMap;
-HPLcom/android/server/notification/PreferencesHelper;->getNotificationChannelGroups(Ljava/lang/String;IZZZZLjava/util/Set;)Landroid/content/pm/ParceledListSlice;+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;,Ljava/util/concurrent/ConcurrentHashMap$ValuesView;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Ljava/util/concurrent/ConcurrentHashMap$ValueIterator;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Map;Landroid/util/ArrayMap;,Ljava/util/concurrent/ConcurrentHashMap;]Ljava/util/Set;Ljava/util/HashSet;
+HPLcom/android/server/notification/PreferencesHelper;->getNotificationChannelGroupWithChannels(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannelGroup;+]Ljava/util/Map;Landroid/util/ArrayMap;,Ljava/util/concurrent/ConcurrentHashMap;
 HSPLcom/android/server/notification/PreferencesHelper;->getOrCreatePackagePreferencesLocked(Ljava/lang/String;I)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;+]Ljava/time/Clock;Ljava/time/Clock$SystemClock;
 HSPLcom/android/server/notification/PreferencesHelper;->getOrCreatePackagePreferencesLocked(Ljava/lang/String;IIIIIZIJ)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;+]Ljava/time/Clock;Ljava/time/Clock$SystemClock;
 HSPLcom/android/server/notification/PreferencesHelper;->getPackagePreferencesLocked(Ljava/lang/String;I)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;
 HSPLcom/android/server/notification/PreferencesHelper;->packagePreferencesKey(Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/server/notification/PreferencesHelper;->readXml(Lcom/android/modules/utils/TypedXmlPullParser;ZI)V
 HSPLcom/android/server/notification/PreferencesHelper;->restoreChannel(Lcom/android/modules/utils/TypedXmlPullParser;ZLcom/android/server/notification/PreferencesHelper$PackagePreferences;)V
-HSPLcom/android/server/notification/PreferencesHelper;->restorePackage(Lcom/android/modules/utils/TypedXmlPullParser;ZILjava/lang/String;ZZ)V
+HSPLcom/android/server/notification/PreferencesHelper;->restorePackage(Lcom/android/modules/utils/TypedXmlPullParser;ZILjava/lang/String;ZZ)V+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/ArtBinaryXmlPullParser;]Ljava/time/Clock;Ljava/time/Clock$SystemClock;]Ljava/util/Map;Ljava/util/concurrent/ConcurrentHashMap;
 HSPLcom/android/server/notification/PreferencesHelper;->writePackageXml(Lcom/android/server/notification/PreferencesHelper$PackagePreferences;Lcom/android/modules/utils/TypedXmlSerializer;Landroid/util/ArrayMap;Z)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;,Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;,Ljava/util/concurrent/ConcurrentHashMap$ValuesView;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Ljava/util/concurrent/ConcurrentHashMap$ValueIterator;]Ljava/util/Map;Landroid/util/ArrayMap;,Ljava/util/concurrent/ConcurrentHashMap;
 HSPLcom/android/server/notification/PreferencesHelper;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;ZI)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;,Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/MapCollections$KeySet;
+HSPLcom/android/server/notification/PriorityExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+HSPLcom/android/server/notification/RankingHelper;->extractSignals(Lcom/android/server/notification/NotificationRecord;)V+]Lcom/android/server/notification/NotificationSignalExtractor;megamorphic_types]Lcom/android/server/notification/RankingHandler;Lcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;
 HSPLcom/android/server/notification/RankingHelper;->sort(Ljava/util/ArrayList;)V+]Landroid/app/Notification;Landroid/app/Notification;]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/notification/ShortcutHelper;->maybeListenForShortcutChangesForBubbles(Lcom/android/server/notification/NotificationRecord;Z)V+]Landroid/app/Notification;Landroid/app/Notification;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Ljava/util/HashMap;Ljava/util/HashMap;
 HSPLcom/android/server/notification/SnoozeHelper;->cancel(ILjava/lang/String;Ljava/lang/String;I)Z+]Ljava/util/Iterator;Landroid/util/MapCollections$MapIterator;]Ljava/util/Set;Landroid/util/MapCollections$EntrySet;
 HSPLcom/android/server/notification/SnoozeHelper;->getSnoozed(ILjava/lang/String;)Ljava/util/Collection;+]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;
 HSPLcom/android/server/notification/TimeToLiveHelper;->removeMatchingEntry(Ljava/lang/String;)V+]Ljava/util/Iterator;Ljava/util/TreeMap$KeyIterator;]Ljava/util/TreeSet;Ljava/util/TreeSet;
 HSPLcom/android/server/notification/TimeToLiveHelper;->scheduleTimeoutLocked(Lcom/android/server/notification/NotificationRecord;J)V+]Landroid/app/Notification;Landroid/app/Notification;]Ljava/util/TreeSet;Ljava/util/TreeSet;
 HSPLcom/android/server/notification/ValidateNotificationPeople;->getExtraPeopleForKey(Landroid/os/Bundle;Ljava/lang/String;)[Ljava/lang/String;+]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/notification/ValidateNotificationPeople;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Lcom/android/server/notification/ValidateNotificationPeople;Lcom/android/server/notification/ValidateNotificationPeople;
 HSPLcom/android/server/notification/ValidateNotificationPeople;->validatePeople(Landroid/content/Context;Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats;]Lcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;Lcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;
 HSPLcom/android/server/notification/ValidateNotificationPeople;->validatePeople(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/List;[FLandroid/util/ArraySet;)Lcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;+]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/notification/ValidateNotificationPeople$LookupResult;Lcom/android/server/notification/ValidateNotificationPeople$LookupResult;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;
 HSPLcom/android/server/notification/VibratorHelper;-><init>(Landroid/content/Context;)V+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/res/Resources;Landroid/content/res/Resources;
 HSPLcom/android/server/notification/VibratorHelper;->getFloatArray(Landroid/content/res/Resources;I)[F+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;
+HSPLcom/android/server/notification/VibratorHelper;->getLongArray(Landroid/content/res/Resources;II[J)[J+]Landroid/content/res/Resources;Landroid/content/res/Resources;
 HSPLcom/android/server/notification/VisibilityExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Lcom/android/server/notification/RankingConfig;Lcom/android/server/notification/PreferencesHelper;
+HSPLcom/android/server/notification/ZenModeExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Lcom/android/server/notification/ZenModeHelper;Lcom/android/server/notification/ZenModeHelper;
+HSPLcom/android/server/notification/ZenModeHelper;->shouldIntercept(Lcom/android/server/notification/NotificationRecord;)Z+]Lcom/android/server/notification/ZenModeFiltering;Lcom/android/server/notification/ZenModeFiltering;
 HSPLcom/android/server/notification/ZenModeHelper;->zenRuleToAutomaticZenRule(Landroid/service/notification/ZenModeConfig$ZenRule;)Landroid/app/AutomaticZenRule;
 HSPLcom/android/server/om/OverlayManagerServiceImpl;->updateState(Landroid/content/om/CriticalOverlayInfo;II)Z
+HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmUserId(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
 HSPLcom/android/server/om/OverlayManagerSettings;->forEachMatching(ILjava/lang/String;Ljava/lang/String;Ljava/util/function/Consumer;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/function/Consumer;Lcom/android/server/om/OverlayManagerServiceImpl$$ExternalSyntheticLambda1;
 HSPLcom/android/server/om/OverlayManagerSettings;->select(Landroid/content/om/OverlayIdentifier;I)I+]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/om/OverlayReferenceMapper$1;->getTargetToOverlayables(Lcom/android/server/pm/pkg/AndroidPackage;)Landroid/util/Pair;+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;
 HSPLcom/android/server/om/OverlayReferenceMapper;->addPkg(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/util/Map;)Landroid/util/ArraySet;
 HSPLcom/android/server/om/OverlayReferenceMapper;->addTarget(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/util/Map;Ljava/util/Collection;)V+]Lcom/android/server/om/OverlayReferenceMapper$Provider;Lcom/android/server/om/OverlayReferenceMapper$1;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Ljava/util/Collections$UnmodifiableCollection$1;,Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$1;]Ljava/util/Map$Entry;Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry;]Ljava/util/Map;Landroid/util/ArrayMap;,Ljava/util/Collections$EmptyMap;,Ljava/util/Collections$UnmodifiableMap;,Ljava/util/HashMap;]Ljava/util/Set;Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet;,Ljava/util/Collections$UnmodifiableSet;,Ljava/util/HashSet;
-HPLcom/android/server/om/OverlayReferenceMapper;->ensureMapBuilt()V
-HPLcom/android/server/om/OverlayReferenceMapper;->isValidActor(Ljava/lang/String;Ljava/lang/String;)Z
+HSPLcom/android/server/om/OverlayReferenceMapper;->ensureMapBuilt()V
+HSPLcom/android/server/om/OverlayReferenceMapper;->isValidActor(Ljava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/server/os/NativeTombstoneManager;->collectTombstones(Ljava/util/ArrayList;III)V
 HSPLcom/android/server/permission/access/AccessCheckingService;->access$getState$p(Lcom/android/server/permission/access/AccessCheckingService;)Lcom/android/server/permission/access/AccessState;
 HSPLcom/android/server/permission/access/AccessPersistence;->write(Lcom/android/server/permission/access/AccessState;)V
 HSPLcom/android/server/permission/access/AccessPersistence;->write(Lcom/android/server/permission/access/WritableState;Lcom/android/server/permission/access/AccessState;I)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/permission/access/WritableState;Lcom/android/server/permission/access/MutableSystemState;,Lcom/android/server/permission/access/MutableUserState;
+HSPLcom/android/server/permission/access/AccessPersistence;->writeSystemState(Lcom/android/server/permission/access/AccessState;)V
 HSPLcom/android/server/permission/access/AccessPersistence;->writeUserState(Lcom/android/server/permission/access/AccessState;I)V
 HSPLcom/android/server/permission/access/AccessPolicy;->onStateMutated(Lcom/android/server/permission/access/GetStateScope;)V+]Lcom/android/server/permission/access/SchemePolicy;Lcom/android/server/permission/access/appop/AppIdAppOpPolicy;,Lcom/android/server/permission/access/appop/PackageAppOpPolicy;,Lcom/android/server/permission/access/permission/AppIdPermissionPolicy;,Lcom/android/server/permission/access/permission/DevicePermissionPolicy;
 HSPLcom/android/server/permission/access/AccessPolicy;->serializePackageVersions(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/immutable/IndexedMap;)V+]Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/modules/utils/BinaryXmlSerializer;]Ljava/lang/Number;Ljava/lang/Integer;
@@ -2243,6 +2326,7 @@
 HSPLcom/android/server/permission/access/AccessState;->getUserStates()Lcom/android/server/permission/access/immutable/IntReferenceMap;
 HSPLcom/android/server/permission/access/AccessState;->toMutable()Lcom/android/server/permission/access/MutableAccessState;
 HSPLcom/android/server/permission/access/ExternalState;->getAppIdPackageNames()Lcom/android/server/permission/access/immutable/IntReferenceMap;
+HSPLcom/android/server/permission/access/ExternalState;->getPackageStates()Ljava/util/Map;
 HSPLcom/android/server/permission/access/GetStateScope;-><init>(Lcom/android/server/permission/access/AccessState;)V
 HSPLcom/android/server/permission/access/GetStateScope;->getState()Lcom/android/server/permission/access/AccessState;
 HSPLcom/android/server/permission/access/MutableAccessState;-><init>(Lcom/android/server/permission/access/AccessState;)V
@@ -2251,11 +2335,13 @@
 HSPLcom/android/server/permission/access/MutateStateScope;->getNewState()Lcom/android/server/permission/access/MutableAccessState;
 HSPLcom/android/server/permission/access/SystemState;->getPermissions()Lcom/android/server/permission/access/immutable/IndexedMap;
 HSPLcom/android/server/permission/access/SystemState;->getWriteMode()I
+HSPLcom/android/server/permission/access/UserState;->getAppIdAppOpModes()Lcom/android/server/permission/access/immutable/IntReferenceMap;
 HSPLcom/android/server/permission/access/UserState;->getAppIdPermissionFlags()Lcom/android/server/permission/access/immutable/IntReferenceMap;
 HSPLcom/android/server/permission/access/UserState;->getWriteMode()I
 HSPLcom/android/server/permission/access/appop/AppIdAppOpPolicy;->getAppOpMode(Lcom/android/server/permission/access/GetStateScope;IILjava/lang/String;)I+]Ljava/lang/Number;Ljava/lang/Integer;
 HSPLcom/android/server/permission/access/appop/AppIdAppOpPolicy;->getAppOpModes(Lcom/android/server/permission/access/GetStateScope;II)Lcom/android/server/permission/access/immutable/IndexedMap;
 HSPLcom/android/server/permission/access/appop/AppIdAppOpPolicy;->onStateMutated(Lcom/android/server/permission/access/GetStateScope;)V+]Lcom/android/server/permission/access/appop/AppIdAppOpPolicy$OnAppOpModeChangedListener;Lcom/android/server/permission/access/appop/AppOpService$OnAppIdAppOpModeChangedListener;
+HSPLcom/android/server/permission/access/appop/AppIdAppOpPolicy;->setAppOpMode(Lcom/android/server/permission/access/MutateStateScope;IILjava/lang/String;I)Z+]Lcom/android/server/permission/access/appop/AppIdAppOpPolicy$OnAppOpModeChangedListener;Lcom/android/server/permission/access/appop/AppOpService$OnAppIdAppOpModeChangedListener;]Ljava/lang/Number;Ljava/lang/Integer;
 HSPLcom/android/server/permission/access/appop/AppOpService$OnAppIdAppOpModeChangedListener;->onStateMutated()V+]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;]Lcom/android/server/appop/AppOpsCheckingServiceInterface$AppOpsModeChangedListener;Lcom/android/server/appop/AppOpsService$2;]Ljava/lang/Number;Ljava/lang/Integer;
 HSPLcom/android/server/permission/access/appop/AppOpService$OnPackageAppOpModeChangedListener;->onStateMutated()V+]Lcom/android/server/appop/AppOpsCheckingServiceInterface$AppOpsModeChangedListener;Lcom/android/server/appop/AppOpsService$2;]Ljava/lang/Number;Ljava/lang/Integer;
 HSPLcom/android/server/permission/access/appop/AppOpService$OnPermissionFlagsChangedListener;->onStateMutated()V+]Lcom/android/server/appop/AppOpsCheckingServiceInterface$AppOpsModeChangedListener;Lcom/android/server/appop/AppOpsService$2;]Ljava/lang/Number;Ljava/lang/Integer;
@@ -2267,7 +2353,8 @@
 HSPLcom/android/server/permission/access/appop/AppOpService;->getUidMode(ILjava/lang/String;I)I+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/permission/access/appop/AppOpService;->getUidModeFromPermissionState(Lcom/android/server/permission/access/GetStateScope;IILjava/lang/String;Ljava/lang/String;)I+]Ljava/util/Set;Ljava/util/ImmutableCollections$Set12;
 HSPLcom/android/server/permission/access/appop/AppOpService;->getUidModes(I)Landroid/util/ArrayMap;
-HPLcom/android/server/permission/access/appop/AppOpService;->setUidMode(ILjava/lang/String;II)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/permission/access/AccessState;Lcom/android/server/permission/access/MutableAccessState;
+HSPLcom/android/server/permission/access/appop/AppOpService;->setUidMode(ILjava/lang/String;II)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/permission/access/AccessState;Lcom/android/server/permission/access/MutableAccessState;
+HSPLcom/android/server/permission/access/appop/BaseAppOpPersistence;->serializeAppOp(Lcom/android/modules/utils/BinaryXmlSerializer;Ljava/lang/String;I)V+]Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/modules/utils/BinaryXmlSerializer;
 HSPLcom/android/server/permission/access/appop/BaseAppOpPersistence;->serializeAppOps(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/immutable/IndexedMap;)V+]Ljava/lang/Number;Ljava/lang/Integer;
 HSPLcom/android/server/permission/access/appop/PackageAppOpPolicy;->getAppOpMode(Lcom/android/server/permission/access/GetStateScope;Ljava/lang/String;ILjava/lang/String;)I+]Ljava/lang/Number;Ljava/lang/Integer;
 HSPLcom/android/server/permission/access/appop/PackageAppOpPolicy;->getAppOpModes(Lcom/android/server/permission/access/GetStateScope;Ljava/lang/String;I)Lcom/android/server/permission/access/immutable/IndexedMap;
@@ -2287,9 +2374,10 @@
 HSPLcom/android/server/permission/access/immutable/IntReferenceMap;->keyAt(I)I+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/permission/access/immutable/IntReferenceMap;->valueAt(I)Lcom/android/server/permission/access/immutable/Immutable;+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/permission/access/immutable/MutableIndexedList;->add(Ljava/lang/Object;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;
-HSPLcom/android/server/permission/access/immutable/MutableReference;-><init>(Lcom/android/server/permission/access/immutable/Immutable;Lcom/android/server/permission/access/immutable/Immutable;)V
+HSPLcom/android/server/permission/access/immutable/MutableIndexedMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/server/permission/access/immutable/MutableReference;->get()Lcom/android/server/permission/access/immutable/Immutable;
 HSPLcom/android/server/permission/access/immutable/MutableReference;->mutate()Lcom/android/server/permission/access/immutable/Immutable;+]Lcom/android/server/permission/access/immutable/Immutable;megamorphic_types
+HSPLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->parsePermission(Lcom/android/modules/utils/BinaryXmlPullParser;Lcom/android/server/permission/access/immutable/MutableIndexedMap;)V
 HSPLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->serializeAppId(Lcom/android/modules/utils/BinaryXmlSerializer;ILcom/android/server/permission/access/immutable/IndexedMap;)V+]Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/modules/utils/BinaryXmlSerializer;]Ljava/lang/Number;Ljava/lang/Integer;
 HSPLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->serializeAppIdPermission(Lcom/android/modules/utils/BinaryXmlSerializer;Ljava/lang/String;I)V+]Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/modules/utils/BinaryXmlSerializer;
 HSPLcom/android/server/permission/access/permission/AppIdPermissionPersistence;->serializeAppIdPermissions(Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/server/permission/access/immutable/IntReferenceMap;)V+]Lcom/android/modules/utils/BinaryXmlSerializer;Lcom/android/modules/utils/BinaryXmlSerializer;
@@ -2300,7 +2388,7 @@
 HSPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->evaluateAllPermissionStatesForPackageAndUser(Lcom/android/server/permission/access/MutateStateScope;Lcom/android/server/pm/pkg/PackageState;ILcom/android/server/pm/pkg/PackageState;)V+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Ljava/lang/Iterable;Ljava/util/Collections$UnmodifiableSet;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1;
 HSPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->evaluatePermissionState(Lcom/android/server/permission/access/MutateStateScope;IILjava/lang/String;Lcom/android/server/pm/pkg/PackageState;)V+]Landroid/content/pm/PermissionInfo;Landroid/content/pm/PermissionInfo;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Ljava/util/Map;Ljava/util/Collections$UnmodifiableMap;]Ljava/util/Set;Ljava/util/Collections$UnmodifiableSet;
 HSPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->findPermissionTree(Lcom/android/server/permission/access/GetStateScope;Ljava/lang/String;)Lcom/android/server/permission/access/permission/Permission;
-HSPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->getAppIdTargetSdkVersion(Lcom/android/server/permission/access/MutateStateScope;ILjava/lang/String;Lcom/android/server/permission/access/AccessState;)I+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Ljava/util/Map;Ljava/util/Collections$UnmodifiableMap;]Ljava/util/Set;Ljava/util/Collections$UnmodifiableSet;
+HSPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->getAppIdTargetSdkVersion(Lcom/android/server/permission/access/MutateStateScope;ILjava/lang/String;Lcom/android/server/permission/access/AccessState;)I+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Ljava/util/Map;Ljava/util/Collections$UnmodifiableMap;
 HSPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->getPermissionFlags(Lcom/android/server/permission/access/AccessState;IILjava/lang/String;)I+]Ljava/lang/Number;Ljava/lang/Integer;
 HSPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->getPermissionFlags(Lcom/android/server/permission/access/GetStateScope;IILjava/lang/String;)I
 HSPLcom/android/server/permission/access/permission/AppIdPermissionPolicy;->getPermissions(Lcom/android/server/permission/access/GetStateScope;)Lcom/android/server/permission/access/immutable/IndexedMap;
@@ -2342,7 +2430,7 @@
 HSPLcom/android/server/permission/access/permission/PermissionService;->getGrantedPermissions(Ljava/lang/String;I)Ljava/util/Set;+]Lcom/android/server/pm/PackageManagerLocal;Lcom/android/server/pm/local/PackageManagerLocalImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Ljava/lang/Number;Ljava/lang/Integer;
 HSPLcom/android/server/permission/access/permission/PermissionService;->getInstalledPermissions(Ljava/lang/String;)Ljava/util/Set;
 HSPLcom/android/server/permission/access/permission/PermissionService;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)I+]Lcom/android/server/pm/PackageManagerLocal$FilteredSnapshot;Lcom/android/server/pm/local/PackageManagerLocalImpl$FilteredSnapshotImpl;]Lcom/android/server/pm/PackageManagerLocal;Lcom/android/server/pm/local/PackageManagerLocalImpl;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;
-HSPLcom/android/server/permission/access/permission/PermissionService;->getPermissionFlagsWithPolicy(Lcom/android/server/permission/access/GetStateScope;IILjava/lang/String;Ljava/lang/String;)I+]Ljava/util/Set;Ljava/util/ImmutableCollections$Set12;
+HSPLcom/android/server/permission/access/permission/PermissionService;->getPermissionFlagsWithPolicy(Lcom/android/server/permission/access/GetStateScope;IILjava/lang/String;Ljava/lang/String;)I
 HSPLcom/android/server/permission/access/permission/PermissionService;->getPermissionInfo(Ljava/lang/String;ILjava/lang/String;)Landroid/content/pm/PermissionInfo;+]Lcom/android/server/pm/PackageManagerLocal;Lcom/android/server/pm/local/PackageManagerLocalImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;
 HSPLcom/android/server/permission/access/permission/PermissionService;->isPackageVisibleToUid(Lcom/android/server/pm/PackageManagerLocal$UnfilteredSnapshot;Ljava/lang/String;II)Z+]Lcom/android/server/pm/PackageManagerLocal$FilteredSnapshot;Lcom/android/server/pm/local/PackageManagerLocalImpl$FilteredSnapshotImpl;
 HSPLcom/android/server/permission/access/permission/PermissionService;->isPermissionGranted(Lcom/android/server/permission/access/GetStateScope;Lcom/android/server/pm/pkg/PackageState;ILjava/lang/String;Ljava/lang/String;)Z+]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateDefault;,Lcom/android/server/pm/pkg/PackageUserStateImpl;
@@ -2361,6 +2449,7 @@
 HSPLcom/android/server/permission/jarjar/kotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z+]Ljava/lang/Object;Landroid/content/pm/SigningDetails;,Landroid/util/ArraySet;,Ljava/lang/Integer;,Ljava/lang/String;
 HSPLcom/android/server/permission/jarjar/kotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;)V
 HSPLcom/android/server/permission/jarjar/kotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
+HSPLcom/android/server/pinner/PinnerService$4;->onUidActive(I)V
 HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->getActivePackageNameForApexModuleName(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/server/pm/AppDataHelper$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLcom/android/server/pm/AppDataHelper;->lambda$prepareAppData$2(Ljava/lang/String;Ljava/lang/String;IILandroid/os/CreateAppDataArgs;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/pkg/AndroidPackage;Landroid/os/CreateAppDataResult;Ljava/lang/Throwable;)V+]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;
@@ -2369,11 +2458,10 @@
 HSPLcom/android/server/pm/AppIdSettingMap;-><init>(Lcom/android/server/pm/AppIdSettingMap;)V
 HSPLcom/android/server/pm/AppIdSettingMap;->getSetting(I)Lcom/android/server/pm/SettingBase;+]Lcom/android/server/utils/WatchedArrayList;Lcom/android/server/utils/WatchedArrayList;]Lcom/android/server/utils/WatchedSparseArray;Lcom/android/server/utils/WatchedSparseArray;
 HSPLcom/android/server/pm/AppsFilterBase;-><init>()V
-HPLcom/android/server/pm/AppsFilterBase;->isImplicitlyQueryable(II)Z+]Lcom/android/server/utils/WatchedSparseSetArray;Lcom/android/server/utils/WatchedSparseSetArray;
-HPLcom/android/server/pm/AppsFilterBase;->isQueryableViaComponent(II)Z+]Lcom/android/server/utils/WatchedSparseSetArray;Lcom/android/server/utils/WatchedSparseSetArray;
-HPLcom/android/server/pm/AppsFilterBase;->isQueryableViaPackage(II)Z+]Lcom/android/server/utils/WatchedSparseSetArray;Lcom/android/server/utils/WatchedSparseSetArray;
+HSPLcom/android/server/pm/AppsFilterBase;->isImplicitlyQueryable(II)Z+]Lcom/android/server/utils/WatchedSparseSetArray;Lcom/android/server/utils/WatchedSparseSetArray;
+HSPLcom/android/server/pm/AppsFilterBase;->isQueryableViaPackage(II)Z+]Lcom/android/server/utils/WatchedSparseSetArray;Lcom/android/server/utils/WatchedSparseSetArray;
 HSPLcom/android/server/pm/AppsFilterBase;->shouldFilterApplication(Lcom/android/server/pm/snapshot/PackageDataSnapshot;ILjava/lang/Object;Lcom/android/server/pm/pkg/PackageStateInternal;I)Z+]Lcom/android/server/pm/AppsFilterBase;Lcom/android/server/pm/AppsFilterImpl;,Lcom/android/server/pm/AppsFilterSnapshotImpl;]Lcom/android/server/pm/FeatureConfig;Lcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;
-HSPLcom/android/server/pm/AppsFilterBase;->shouldFilterApplicationInternal(Lcom/android/server/pm/Computer;ILjava/lang/Object;Lcom/android/server/pm/pkg/PackageStateInternal;I)Z+]Lcom/android/server/om/OverlayReferenceMapper;Lcom/android/server/om/OverlayReferenceMapper;]Lcom/android/server/pm/AppsFilterBase;Lcom/android/server/pm/AppsFilterImpl;,Lcom/android/server/pm/AppsFilterSnapshotImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;]Lcom/android/server/pm/FeatureConfig;Lcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/SharedUserApi;Lcom/android/server/pm/SharedUserSetting;
+HSPLcom/android/server/pm/AppsFilterBase;->shouldFilterApplicationInternal(Lcom/android/server/pm/Computer;ILjava/lang/Object;Lcom/android/server/pm/pkg/PackageStateInternal;I)Z+]Lcom/android/server/om/OverlayReferenceMapper;Lcom/android/server/om/OverlayReferenceMapper;]Lcom/android/server/pm/AppsFilterBase;Lcom/android/server/pm/AppsFilterImpl;,Lcom/android/server/pm/AppsFilterSnapshotImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/FeatureConfig;Lcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/SharedUserApi;Lcom/android/server/pm/SharedUserSetting;
 HPLcom/android/server/pm/AppsFilterBase;->shouldFilterApplicationUsingCache(III)Z+]Lcom/android/server/utils/WatchedSparseBooleanMatrix;Lcom/android/server/utils/WatchedSparseBooleanMatrix;
 HSPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;-><init>(Lcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;)V
 HSPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;->isGloballyEnabled()Z
@@ -2420,7 +2508,6 @@
 HSPLcom/android/server/pm/ComputerEngine;->canViewInstantApps(II)Z+]Landroid/content/Context;Landroid/app/ContextImpl;
 HSPLcom/android/server/pm/ComputerEngine;->checkSignatures(Ljava/lang/String;Ljava/lang/String;I)I+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;
 HSPLcom/android/server/pm/ComputerEngine;->checkUidPermission(Ljava/lang/String;I)I+]Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;
-HPLcom/android/server/pm/ComputerEngine;->createForwardingResolveInfoUnchecked(Lcom/android/server/pm/WatchedIntentFilter;II)Landroid/content/pm/ResolveInfo;+]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/WatchedIntentFilter;Lcom/android/server/pm/CrossProfileIntentFilter;
 HSPLcom/android/server/pm/ComputerEngine;->enforceCrossUserOrProfilePermission(IIZZLjava/lang/String;)V+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;
 HSPLcom/android/server/pm/ComputerEngine;->enforceCrossUserPermission(IIZZLjava/lang/String;)V
 HSPLcom/android/server/pm/ComputerEngine;->enforceCrossUserPermission(IIZZZLjava/lang/String;)V+]Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerServiceInjector;
@@ -2436,7 +2523,6 @@
 HSPLcom/android/server/pm/ComputerEngine;->getApplicationInfo(Ljava/lang/String;JI)Landroid/content/pm/ApplicationInfo;
 HSPLcom/android/server/pm/ComputerEngine;->getApplicationInfoInternal(Ljava/lang/String;JII)Landroid/content/pm/ApplicationInfo;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;
 HSPLcom/android/server/pm/ComputerEngine;->getApplicationInfoInternalBody(Ljava/lang/String;JII)Landroid/content/pm/ApplicationInfo;+]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;
-HPLcom/android/server/pm/ComputerEngine;->getBlockUninstallForUser(Ljava/lang/String;I)Z+]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;
 HSPLcom/android/server/pm/ComputerEngine;->getComponentEnabledSetting(Landroid/content/ComponentName;II)I+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;
 HSPLcom/android/server/pm/ComputerEngine;->getComponentEnabledSettingInternal(Landroid/content/ComponentName;II)I+]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;
 HSPLcom/android/server/pm/ComputerEngine;->getComponentResolver()Lcom/android/server/pm/resolution/ComponentResolverApi;
@@ -2463,7 +2549,7 @@
 HSPLcom/android/server/pm/ComputerEngine;->getPackageStateInternal(Ljava/lang/String;I)Lcom/android/server/pm/pkg/PackageStateInternal;+]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;
 HSPLcom/android/server/pm/ComputerEngine;->getPackageStates()Landroid/util/ArrayMap;+]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;
 HSPLcom/android/server/pm/ComputerEngine;->getPackageUid(Ljava/lang/String;JI)I+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;
-HSPLcom/android/server/pm/ComputerEngine;->getPackageUidInternal(Ljava/lang/String;JII)I+]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateDefault;,Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;
+HSPLcom/android/server/pm/ComputerEngine;->getPackageUidInternal(Ljava/lang/String;JII)I+]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateDefault;,Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;
 HSPLcom/android/server/pm/ComputerEngine;->getPackagesForUid(I)[Ljava/lang/String;
 HSPLcom/android/server/pm/ComputerEngine;->getPackagesForUidInternal(II)[Ljava/lang/String;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;
 HSPLcom/android/server/pm/ComputerEngine;->getPackagesForUidInternalBody(IIIZ)[Ljava/lang/String;+]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateDefault;,Lcom/android/server/pm/pkg/PackageUserStateImpl;
@@ -2481,6 +2567,7 @@
 HSPLcom/android/server/pm/ComputerEngine;->getVersion()I
 HSPLcom/android/server/pm/ComputerEngine;->hasCrossUserPermission(IIIZZ)Z
 HSPLcom/android/server/pm/ComputerEngine;->hasNonNegativePriority(Ljava/util/List;)Z+]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/pm/ComputerEngine;->hasSigningCertificate(Ljava/lang/String;[BI)Z+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;
 HSPLcom/android/server/pm/ComputerEngine;->instantAppInstallerActivity()Landroid/content/pm/ActivityInfo;
 HSPLcom/android/server/pm/ComputerEngine;->isApexPackage(Ljava/lang/String;)Z+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;
 HSPLcom/android/server/pm/ComputerEngine;->isCallerInstallerOfRecord(Lcom/android/server/pm/pkg/AndroidPackage;I)Z+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;
@@ -2527,7 +2614,6 @@
 HSPLcom/android/server/pm/CrossProfileIntentResolverEngine;->resolveIntent(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;IJLjava/lang/String;ZZLjava/util/function/Function;)Ljava/util/List;
 HSPLcom/android/server/pm/CrossProfileIntentResolverEngine;->resolveIntentInternal(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;IIJLjava/lang/String;ZZLjava/util/function/Function;Ljava/util/Set;)Ljava/util/List;+]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;]Lcom/android/server/pm/CrossProfileResolver;Lcom/android/server/pm/DefaultCrossProfileResolver;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Set;Ljava/util/HashSet;
 HSPLcom/android/server/pm/CrossProfileIntentResolverEngine;->shouldSkipCurrentProfile(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;I)Z+]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;]Lcom/android/server/pm/CrossProfileIntentFilter;Lcom/android/server/pm/CrossProfileIntentFilter;]Ljava/util/List;Ljava/util/ArrayList;
-HSPLcom/android/server/pm/DefaultCrossProfileResolver;->createForwardingResolveInfo(Lcom/android/server/pm/Computer;Lcom/android/server/pm/CrossProfileIntentFilter;Landroid/content/Intent;Ljava/lang/String;JILjava/util/function/Function;)Lcom/android/server/pm/CrossProfileDomainInfo;+]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/CrossProfileIntentFilter;Lcom/android/server/pm/CrossProfileIntentFilter;]Lcom/android/server/pm/resolution/ComponentResolverApi;Lcom/android/server/pm/resolution/ComponentResolverSnapshot;]Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal;Lcom/android/server/pm/verify/domain/DomainVerificationService;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/function/Function;Lcom/android/server/pm/ComputerEngine$$ExternalSyntheticLambda0;
 HSPLcom/android/server/pm/GentleUpdateHelper;->onUidImportance(II)V+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;
 HSPLcom/android/server/pm/IPackageManagerBase;->checkUidPermission(Ljava/lang/String;I)I+]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;
 HSPLcom/android/server/pm/IPackageManagerBase;->getApplicationInfo(Ljava/lang/String;JI)Landroid/content/pm/ApplicationInfo;+]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;
@@ -2574,14 +2660,19 @@
 HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->generateLauncherActivitiesForArchivedApp(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/pkg/ArchiveState;Lcom/android/server/pm/pkg/ArchiveState;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Ljava/util/List;Ljava/util/ArrayList;,Ljava/util/Collections$EmptyList;,Ljava/util/ImmutableCollections$List12;
 HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getApplicationInfoForArchivedApp(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;+]Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;
 HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getLauncherActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;+]Landroid/app/admin/DevicePolicyManager;Landroid/app/admin/DevicePolicyManager;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/LauncherActivityInfoInternal;Landroid/content/pm/LauncherActivityInfoInternal;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/content/pm/ParceledListSlice;Landroid/content/pm/ParceledListSlice;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Landroid/os/UserManager;Landroid/os/UserManager;]Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
+HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getShortcuts(Ljava/lang/String;Landroid/content/pm/ShortcutQueryWrapper;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;+]Landroid/content/pm/ShortcutServiceInternal;Lcom/android/server/pm/ShortcutService$LocalService;]Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;
 HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectBinderCallingPid()I
 HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectBinderCallingUid()I
+HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectRestoreCallingIdentity(J)V
+HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->isHiddenProfile(Landroid/os/UserHandle;)Z+]Landroid/os/UserManager;Landroid/os/UserManager;]Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;
+HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->lambda$getApplicationInfoForArchivedApp$2(Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/pm/ApplicationInfo;+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;
 HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->queryActivitiesForUser(Ljava/lang/String;Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;+]Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;
-HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->queryIntentLauncherActivities(Landroid/content/Intent;ILandroid/os/UserHandle;)Ljava/util/List;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Ljava/util/List;Ljava/util/ArrayList;,Ljava/util/Collections$EmptyList;
+HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->queryIntentLauncherActivities(Landroid/content/Intent;ILandroid/os/UserHandle;)Ljava/util/List;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/ActivityInfo;Landroid/content/pm/ActivityInfo;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Ljava/util/List;Ljava/util/ArrayList;,Ljava/util/Collections$EmptyList;
 HSPLcom/android/server/pm/PackageAbiHelper$NativeLibraryPaths;->applyTo(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;)V
 HSPLcom/android/server/pm/PackageAbiHelperImpl;->deriveNativeLibraryPaths(Lcom/android/server/pm/PackageAbiHelper$Abis;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;ZZ)Lcom/android/server/pm/PackageAbiHelper$NativeLibraryPaths;
 HSPLcom/android/server/pm/PackageArchiver;->isArchived(Lcom/android/server/pm/pkg/PackageUserState;)Z+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateDefault;,Lcom/android/server/pm/pkg/PackageUserStateImpl;
 HPLcom/android/server/pm/PackageInstallerSession;->generateInfoInternal(ZZ)Landroid/content/pm/PackageInstaller$SessionInfo;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageInstaller$SessionParams;Landroid/content/pm/PackageInstaller$SessionParams;]Lcom/android/server/pm/PackageInstallerSession;Lcom/android/server/pm/PackageInstallerSession;]Ljava/io/File;Ljava/io/File;]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/pm/PackageInstallerSession;->write(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/io/File;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Lcom/android/server/pm/PackageInstallerSession$PerFileChecksum;Lcom/android/server/pm/PackageInstallerSession$PerFileChecksum;]Lcom/android/server/pm/PackageInstallerSession;Lcom/android/server/pm/PackageInstallerSession;]Ljava/io/File;Ljava/io/File;
 HSPLcom/android/server/pm/PackageKeySetData;-><init>()V
 HSPLcom/android/server/pm/PackageKeySetData;-><init>(Lcom/android/server/pm/PackageKeySetData;)V
 HSPLcom/android/server/pm/PackageManagerInternalBase;->canQueryPackage(ILjava/lang/String;)Z+]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;
@@ -2590,12 +2681,14 @@
 HSPLcom/android/server/pm/PackageManagerInternalBase;->getApplicationInfo(Ljava/lang/String;JII)Landroid/content/pm/ApplicationInfo;+]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;
 HSPLcom/android/server/pm/PackageManagerInternalBase;->getInstantAppPackageName(I)Ljava/lang/String;+]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;
 HSPLcom/android/server/pm/PackageManagerInternalBase;->getPackage(I)Lcom/android/server/pm/pkg/AndroidPackage;+]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;
+HSPLcom/android/server/pm/PackageManagerInternalBase;->getPackage(Ljava/lang/String;)Lcom/android/server/pm/pkg/AndroidPackage;+]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;
 HSPLcom/android/server/pm/PackageManagerInternalBase;->getPackageStateInternal(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateInternal;+]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;
 HSPLcom/android/server/pm/PackageManagerInternalBase;->getPackageUid(Ljava/lang/String;JI)I+]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;
 HSPLcom/android/server/pm/PackageManagerInternalBase;->getUidTargetSdkVersion(I)I+]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;
 HSPLcom/android/server/pm/PackageManagerInternalBase;->grantImplicitAccess(ILandroid/content/Intent;IIZ)V
 HSPLcom/android/server/pm/PackageManagerInternalBase;->grantImplicitAccess(ILandroid/content/Intent;IIZZ)V+]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService;
-HSPLcom/android/server/pm/PackageManagerInternalBase;->isPackageEphemeral(ILjava/lang/String;)Z+]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateDefault;,Lcom/android/server/pm/pkg/PackageUserStateImpl;
+HSPLcom/android/server/pm/PackageManagerInternalBase;->isInstantApp(Ljava/lang/String;I)Z+]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;
+HSPLcom/android/server/pm/PackageManagerInternalBase;->isPackageEphemeral(ILjava/lang/String;)Z+]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;
 HSPLcom/android/server/pm/PackageManagerInternalBase;->isPackageFrozen(Ljava/lang/String;II)Z+]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService;
 HSPLcom/android/server/pm/PackageManagerInternalBase;->isPackageSuspended(Ljava/lang/String;I)Z+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;
 HSPLcom/android/server/pm/PackageManagerInternalBase;->isPermissionsReviewRequired(Ljava/lang/String;I)Z+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;
@@ -2662,11 +2755,11 @@
 HSPLcom/android/server/pm/PackageSetting;->getCategoryOverride()I
 HSPLcom/android/server/pm/PackageSetting;->getCpuAbiOverride()Ljava/lang/String;
 HSPLcom/android/server/pm/PackageSetting;->getCurrentEnabledStateLPr(Ljava/lang/String;I)I+]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageUserStateInternal;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/utils/WatchedArraySet;Lcom/android/server/utils/WatchedArraySet;
+HSPLcom/android/server/pm/PackageSetting;->getEnabled(I)I+]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;
 HSPLcom/android/server/pm/PackageSetting;->getInstallSource()Lcom/android/server/pm/InstallSource;
 HSPLcom/android/server/pm/PackageSetting;->getKeySetData()Lcom/android/server/pm/PackageKeySetData;
 HSPLcom/android/server/pm/PackageSetting;->getLastUpdateTime()J
-HSPLcom/android/server/pm/PackageSetting;->getLoadingCompletedTime()J
-HSPLcom/android/server/pm/PackageSetting;->getLoadingProgress()F
+HSPLcom/android/server/pm/PackageSetting;->getLegacyPermissionState()Lcom/android/server/pm/permission/LegacyPermissionState;
 HSPLcom/android/server/pm/PackageSetting;->getPackageName()Ljava/lang/String;
 HSPLcom/android/server/pm/PackageSetting;->getPkg()Lcom/android/internal/pm/parsing/pkg/AndroidPackageInternal;
 HSPLcom/android/server/pm/PackageSetting;->getPkgState()Lcom/android/server/pm/pkg/PackageStateUnserialized;
@@ -2674,10 +2767,13 @@
 HSPLcom/android/server/pm/PackageSetting;->getSeInfo()Ljava/lang/String;+]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageStateUnserialized;Lcom/android/server/pm/pkg/PackageStateUnserialized;
 HSPLcom/android/server/pm/PackageSetting;->getSecondaryCpuAbi()Ljava/lang/String;
 HSPLcom/android/server/pm/PackageSetting;->getSharedLibraryDependencies()Ljava/util/List;+]Lcom/android/server/pm/pkg/PackageStateUnserialized;Lcom/android/server/pm/pkg/PackageStateUnserialized;
+HSPLcom/android/server/pm/PackageSetting;->getSignatures()Lcom/android/server/pm/PackageSignatures;
 HSPLcom/android/server/pm/PackageSetting;->getSigningDetails()Landroid/content/pm/SigningDetails;
 HSPLcom/android/server/pm/PackageSetting;->getStateForUser(Landroid/os/UserHandle;)Lcom/android/server/pm/pkg/PackageUserState;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;
 HSPLcom/android/server/pm/PackageSetting;->getTransientState()Lcom/android/server/pm/pkg/PackageStateUnserialized;
 HSPLcom/android/server/pm/PackageSetting;->getUserStates()Landroid/util/SparseArray;
+HSPLcom/android/server/pm/PackageSetting;->getUsesSdkLibraries()[Ljava/lang/String;
+HSPLcom/android/server/pm/PackageSetting;->getUsesSdkLibrariesVersionsMajor()[J
 HSPLcom/android/server/pm/PackageSetting;->getUsesStaticLibrariesVersions()[J
 HSPLcom/android/server/pm/PackageSetting;->getVolumeUuid()Ljava/lang/String;
 HSPLcom/android/server/pm/PackageSetting;->hasSharedUser()Z
@@ -2702,6 +2798,8 @@
 HSPLcom/android/server/pm/Policy;->getMatchedSeInfo(Lcom/android/server/pm/pkg/AndroidPackage;)Ljava/lang/String;+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Ljava/util/Map;Ljava/util/Collections$UnmodifiableMap;]Ljava/util/Set;Ljava/util/Collections$UnmodifiableSet;
 HSPLcom/android/server/pm/PreferredActivityHelper;->replacePreferredActivity(Lcom/android/server/pm/Computer;Lcom/android/server/pm/WatchedIntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V+]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService;]Lcom/android/server/pm/PreferredComponent;Lcom/android/server/pm/PreferredComponent;]Lcom/android/server/pm/WatchedIntentResolver;Lcom/android/server/pm/PreferredIntentResolver;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/pm/ProtectedPackages;->hasDeviceOwnerOrProfileOwner(ILjava/lang/String;)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;
+HSPLcom/android/server/pm/ProtectedPackages;->isOwnerProtectedPackage(ILjava/lang/String;)Z
+HSPLcom/android/server/pm/ProtectedPackages;->isPackageProtectedForUser(ILjava/lang/String;)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/Set;Landroid/util/ArraySet;
 HSPLcom/android/server/pm/ProtectedPackages;->isPackageStateProtected(ILjava/lang/String;)Z
 HSPLcom/android/server/pm/ProtectedPackages;->isProtectedPackage(ILjava/lang/String;)Z
 HSPLcom/android/server/pm/ReconcilePackageUtils;->reconcilePackages(Ljava/util/List;Ljava/util/Map;Ljava/util/Map;Lcom/android/server/pm/SharedLibrariesImpl;Lcom/android/server/pm/KeySetManagerService;Lcom/android/server/pm/Settings;Lcom/android/server/SystemConfig;)Ljava/util/List;
@@ -2709,6 +2807,7 @@
 HSPLcom/android/server/pm/ReconciledPackage;->getCombinedAvailablePackages()Ljava/util/Map;
 HSPLcom/android/server/pm/ResilientAtomicFile;-><init>(Ljava/io/File;Ljava/io/File;Ljava/io/File;ILjava/lang/String;Lcom/android/server/pm/ResilientAtomicFile$ReadEventLogger;)V
 HSPLcom/android/server/pm/ResilientAtomicFile;->close()V
+HSPLcom/android/server/pm/ResilientAtomicFile;->finishWrite(Ljava/io/FileOutputStream;Z)V+]Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;]Ljava/io/File;Ljava/io/File;]Ljava/io/FileInputStream;Ljava/io/FileInputStream;]Ljava/io/FileOutputStream;Ljava/io/FileOutputStream;
 HSPLcom/android/server/pm/ResilientAtomicFile;->startWrite()Ljava/io/FileOutputStream;+]Ljava/io/File;Ljava/io/File;
 HSPLcom/android/server/pm/ResolveIntentHelper;->chooseBestActivity(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JJLjava/util/List;IZ)Landroid/content/pm/ResolveInfo;+]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/server/pm/UserNeedsBadgingCache;Lcom/android/server/pm/UserNeedsBadgingCache;]Ljava/util/List;Ljava/util/ArrayList;,Ljava/util/Collections$EmptyList;]Ljava/util/function/Supplier;Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda38;
 HSPLcom/android/server/pm/ResolveIntentHelper;->queryIntentReceiversInternal(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JII)Ljava/util/List;
@@ -2719,6 +2818,7 @@
 HSPLcom/android/server/pm/SELinuxMMAC;->getSeInfo(Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/pkg/AndroidPackage;ZI)Ljava/lang/String;+]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/pm/SaferIntentUtils$IntentArgs;-><init>(Landroid/content/Intent;Ljava/lang/String;ZZII)V
 HSPLcom/android/server/pm/SaferIntentUtils;->blockNullAction(Lcom/android/server/pm/SaferIntentUtils$IntentArgs;Ljava/util/List;)V+]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;]Lcom/android/internal/pm/pkg/component/ParsedMainComponent;Lcom/android/internal/pm/pkg/component/ParsedActivityImpl;,Lcom/android/internal/pm/pkg/component/ParsedServiceImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/SaferIntentUtils$IntentArgs;Lcom/android/server/pm/SaferIntentUtils$IntentArgs;]Ljava/util/List;Ljava/util/ArrayList;,Ljava/util/Collections$EmptyList;
+HSPLcom/android/server/pm/SaferIntentUtils;->enforceIntentFilterMatchingWithIntentMatchingFlags(Lcom/android/server/pm/SaferIntentUtils$IntentArgs;Ljava/util/List;)V+]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;]Lcom/android/internal/pm/pkg/component/ParsedIntentInfo;Lcom/android/internal/pm/pkg/component/ParsedIntentInfoImpl;]Lcom/android/internal/pm/pkg/component/ParsedMainComponent;Lcom/android/internal/pm/pkg/component/ParsedActivityImpl;,Lcom/android/internal/pm/pkg/component/ParsedServiceImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/SaferIntentUtils$IntentArgs;Lcom/android/server/pm/SaferIntentUtils$IntentArgs;]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/pm/SaferIntentUtils;->filterNonExportedComponents(Lcom/android/server/pm/SaferIntentUtils$IntentArgs;Ljava/util/List;)V+]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;]Lcom/android/server/pm/SaferIntentUtils$IntentArgs;Lcom/android/server/pm/SaferIntentUtils$IntentArgs;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/pm/SaferIntentUtils;->infoToComponent(Landroid/content/pm/ComponentInfo;Lcom/android/server/pm/resolution/ComponentResolverApi;Z)Lcom/android/internal/pm/pkg/component/ParsedMainComponent;+]Landroid/content/pm/ComponentInfo;Landroid/content/pm/ActivityInfo;,Landroid/content/pm/ServiceInfo;]Lcom/android/server/pm/resolution/ComponentResolverApi;Lcom/android/server/pm/resolution/ComponentResolverSnapshot;
 HSPLcom/android/server/pm/ScanPackageUtils;->applyPolicy(Lcom/android/internal/pm/parsing/pkg/ParsedPackage;ILcom/android/server/pm/pkg/AndroidPackage;Z)V
@@ -2737,10 +2837,12 @@
 HSPLcom/android/server/pm/Settings$1;->onChange(Lcom/android/server/utils/Watchable;)V
 HSPLcom/android/server/pm/Settings$2;->createSnapshot()Lcom/android/server/pm/Settings;+]Lcom/android/server/utils/WatchableImpl;Lcom/android/server/utils/WatchableImpl;
 HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->getPackagePermissions(ILcom/android/server/utils/WatchedArrayMap;)Ljava/util/Map;+]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->readStateForUserSync(ILcom/android/server/pm/Settings$VersionInfo;Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;Ljava/io/File;)V
 HSPLcom/android/server/pm/Settings;-><init>(Lcom/android/server/pm/Settings;)V
 HSPLcom/android/server/pm/Settings;->dispatchChange(Lcom/android/server/utils/Watchable;)V+]Lcom/android/server/utils/WatchableImpl;Lcom/android/server/utils/WatchableImpl;
 HSPLcom/android/server/pm/Settings;->getApplicationEnabledSettingLPr(Ljava/lang/String;I)I+]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;
 HSPLcom/android/server/pm/Settings;->getComponentEnabledSettingLPr(Landroid/content/ComponentName;I)I+]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;
+HSPLcom/android/server/pm/Settings;->getCrossProfileIntentResolver(I)Lcom/android/server/pm/CrossProfileIntentResolver;+]Lcom/android/server/utils/WatchedSparseArray;Lcom/android/server/utils/WatchedSparseArray;
 HSPLcom/android/server/pm/Settings;->getDisabledSystemPkgLPr(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;+]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;
 HSPLcom/android/server/pm/Settings;->getPackageLPr(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;+]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;
 HSPLcom/android/server/pm/Settings;->getRenamedPackageLPr(Ljava/lang/String;)Ljava/lang/String;+]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;
@@ -2768,8 +2870,6 @@
 HSPLcom/android/server/pm/SharedUserSetting;->getPackageStates()Landroid/util/ArraySet;+]Lcom/android/server/utils/WatchedArraySet;Lcom/android/server/utils/WatchedArraySet;
 HPLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda24;-><init>(Lcom/android/server/pm/ShortcutPackage;Ljava/util/List;Ljava/util/function/Predicate;ILjava/lang/String;Landroid/util/ArraySet;Z)V
 HPLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda24;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda31;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HPLcom/android/server/pm/ShortcutPackage;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;Lcom/android/server/pm/ShortcutPackageInfo;)V
 HPLcom/android/server/pm/ShortcutPackage;->findAll(Ljava/util/List;Ljava/util/function/Predicate;ILjava/lang/String;IZ)V+]Lcom/android/server/pm/ShortcutLauncher;Lcom/android/server/pm/ShortcutLauncher;]Lcom/android/server/pm/ShortcutPackageInfo;Lcom/android/server/pm/ShortcutPackageInfo;]Lcom/android/server/pm/ShortcutPackageItem;Lcom/android/server/pm/ShortcutPackage;]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService;
 HPLcom/android/server/pm/ShortcutPackage;->forEachShortcutStopWhen(Ljava/util/function/Function;)V+]Ljava/util/function/Function;Lcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda23;,Lcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda28;,Lcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda31;,Lcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda36;,Lcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda3;
 HPLcom/android/server/pm/ShortcutPackage;->parseShortcut(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;IZ)Landroid/content/pm/ShortcutInfo;+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/ArtBinaryXmlPullParser;
@@ -2779,14 +2879,15 @@
 HPLcom/android/server/pm/ShortcutPackageInfo;->saveToXml(Lcom/android/server/pm/ShortcutService;Lcom/android/modules/utils/TypedXmlSerializer;Z)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;,Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Base64$Encoder;Ljava/util/Base64$Encoder;
 HPLcom/android/server/pm/ShortcutPackageItem;->getResilientFile(Ljava/io/File;)Lcom/android/server/pm/ResilientAtomicFile;+]Ljava/io/File;Ljava/io/File;
 HPLcom/android/server/pm/ShortcutPackageItem;->saveShortcutPackageItem()V+]Lcom/android/server/pm/ShortcutPackageItem;Lcom/android/server/pm/ShortcutLauncher;,Lcom/android/server/pm/ShortcutPackage;]Ljava/io/File;Ljava/io/File;
-HPLcom/android/server/pm/ShortcutParser;->parseShortcutsOneFile(Lcom/android/server/pm/ShortcutService;Landroid/content/pm/ActivityInfo;Ljava/lang/String;ILjava/util/List;Ljava/util/List;)Ljava/util/List;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/ActivityInfo;Landroid/content/pm/ActivityInfo;]Landroid/content/res/XmlResourceParser;Landroid/content/res/XmlBlock$Parser;]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService;]Ljava/util/List;Ljava/util/ArrayList;
+HPLcom/android/server/pm/ShortcutParser;->parseShortcutsOneFile(Lcom/android/server/pm/ShortcutService;Landroid/content/pm/ActivityInfo;Ljava/lang/String;ILjava/util/List;Ljava/util/List;)Ljava/util/List;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/res/XmlResourceParser;Landroid/content/res/XmlBlock$Parser;]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/pm/ShortcutService$4;->onUidStateChanged(IIJI)V+]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService;
 HPLcom/android/server/pm/ShortcutService$LocalService$$ExternalSyntheticLambda3;-><init>(JLandroid/util/ArraySet;Landroid/util/ArraySet;Landroid/content/ComponentName;ZZZZZ)V
 HPLcom/android/server/pm/ShortcutService$LocalService$$ExternalSyntheticLambda3;->test(Ljava/lang/Object;)Z
-HPLcom/android/server/pm/ShortcutService$LocalService;->$r8$lambda$4oN-teeezN_bMPNKBELK1aAUWLM(JLandroid/util/ArraySet;Landroid/util/ArraySet;Landroid/content/ComponentName;ZZZZZLandroid/content/pm/ShortcutInfo;)Z
 HPLcom/android/server/pm/ShortcutService$LocalService;->getShortcuts(ILjava/lang/String;JLjava/lang/String;Ljava/util/List;Ljava/util/List;Landroid/content/ComponentName;IIII)Ljava/util/List;+]Lcom/android/server/pm/ShortcutPackageItem;Lcom/android/server/pm/ShortcutLauncher;]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService;]Lcom/android/server/pm/ShortcutUser;Lcom/android/server/pm/ShortcutUser;
 HPLcom/android/server/pm/ShortcutService$LocalService;->getShortcutsInnerLocked(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;JLandroid/content/ComponentName;IILjava/util/ArrayList;III)V+]Lcom/android/server/pm/ShortcutPackage;Lcom/android/server/pm/ShortcutPackage;]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService;]Lcom/android/server/pm/ShortcutUser;Lcom/android/server/pm/ShortcutUser;
 HPLcom/android/server/pm/ShortcutService;->getUserShortcutsLocked(I)Lcom/android/server/pm/ShortcutUser;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService;
+HSPLcom/android/server/pm/ShortcutService;->handleOnUidStateChanged(II)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService;
+HPLcom/android/server/pm/ShortcutService;->injectHasAccessShortcutsPermission(II)Z+]Landroid/content/Context;Landroid/app/ContextImpl;
 HPLcom/android/server/pm/ShortcutService;->injectPackageInfoWithUninstalled(Ljava/lang/String;IZ)Landroid/content/pm/PackageInfo;+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService;
 HSPLcom/android/server/pm/ShortcutService;->injectPostToHandler(Ljava/lang/Runnable;)V
 HPLcom/android/server/pm/ShortcutService;->isUserUnlockedL(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;
@@ -2837,7 +2938,6 @@
 HSPLcom/android/server/pm/UserManagerService;->hasManageUsersPermission(I)Z
 HSPLcom/android/server/pm/UserManagerService;->hasQueryOrCreateUsersPermission()Z
 HSPLcom/android/server/pm/UserManagerService;->hasUserRestriction(Ljava/lang/String;I)Z+]Lcom/android/server/pm/UserManagerService$LocalService;Lcom/android/server/pm/UserManagerService$LocalService;]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;
-HSPLcom/android/server/pm/UserManagerService;->isProfileOf(Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;)Z
 HSPLcom/android/server/pm/UserManagerService;->isSameProfileGroupNoChecks(II)Z
 HSPLcom/android/server/pm/UserManagerService;->isUserRunning(I)Z+]Lcom/android/server/pm/UserManagerService$LocalService;Lcom/android/server/pm/UserManagerService$LocalService;
 HPLcom/android/server/pm/UserManagerService;->packageToRestrictionsFileName(Ljava/lang/String;)Ljava/lang/String;
@@ -2853,7 +2953,6 @@
 HSPLcom/android/server/pm/UserVisibilityMediator;->isCurrentUserOrRunningProfileOfCurrentUser(I)Z+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;
 HSPLcom/android/server/pm/UserVisibilityMediator;->isUserVisible(I)Z
 HSPLcom/android/server/pm/WatchedIntentFilter;->getIntentFilter()Landroid/content/IntentFilter;
-HSPLcom/android/server/pm/dex/DexManager;->loadInternal(Ljava/util/Map;)V
 HSPLcom/android/server/pm/local/PackageManagerLocalImpl$BaseSnapshotImpl;-><init>(Lcom/android/server/pm/snapshot/PackageDataSnapshot;)V
 HSPLcom/android/server/pm/local/PackageManagerLocalImpl$BaseSnapshotImpl;-><init>(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Lcom/android/server/pm/local/PackageManagerLocalImpl-IA;)V
 HSPLcom/android/server/pm/local/PackageManagerLocalImpl$BaseSnapshotImpl;->checkClosed()V
@@ -2875,8 +2974,8 @@
 HSPLcom/android/server/pm/local/PackageManagerLocalImpl;->withUnfilteredSnapshot()Lcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl;+]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService;
 HSPLcom/android/server/pm/parsing/PackageCacher;->getCacheKey(Ljava/io/File;I)Ljava/lang/String;
 HSPLcom/android/server/pm/parsing/PackageCacher;->isCacheFileUpToDate(Ljava/io/File;Ljava/io/File;)Z
-HSPLcom/android/server/pm/parsing/PackageInfoUtils;->appInfoFlags(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/PackageStateInternal;)I
-HSPLcom/android/server/pm/parsing/PackageInfoUtils;->appInfoPrivateFlags(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/PackageStateInternal;)I
+HSPLcom/android/server/pm/parsing/PackageInfoUtils;->appInfoFlags(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/PackageStateInternal;)I+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;
+HSPLcom/android/server/pm/parsing/PackageInfoUtils;->appInfoPrivateFlags(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/PackageStateInternal;)I+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->appInfoPrivateFlagsExt(ILcom/android/server/pm/pkg/PackageStateInternal;)I+]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->assignFieldsComponentInfoParsedMainComponent(Landroid/content/pm/ComponentInfo;Lcom/android/internal/pm/pkg/component/ParsedMainComponent;)V+]Lcom/android/internal/pm/pkg/component/ParsedMainComponent;Lcom/android/internal/pm/pkg/component/ParsedActivityImpl;,Lcom/android/internal/pm/pkg/component/ParsedProviderImpl;,Lcom/android/internal/pm/pkg/component/ParsedServiceImpl;
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->assignFieldsComponentInfoParsedMainComponent(Landroid/content/pm/ComponentInfo;Lcom/android/internal/pm/pkg/component/ParsedMainComponent;Lcom/android/server/pm/pkg/PackageStateInternal;I)V
@@ -2887,7 +2986,7 @@
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generatePermissionInfo(Lcom/android/internal/pm/pkg/component/ParsedPermission;J)Landroid/content/pm/PermissionInfo;+]Lcom/android/internal/pm/pkg/component/ParsedPermission;Lcom/android/internal/pm/pkg/component/ParsedPermissionImpl;
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generateProviderInfo(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/pkg/component/ParsedProvider;JLcom/android/server/pm/pkg/PackageUserStateInternal;Landroid/content/pm/ApplicationInfo;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/ProviderInfo;+]Lcom/android/internal/pm/pkg/component/ParsedProvider;Lcom/android/internal/pm/pkg/component/ParsedProviderImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Ljava/util/List;Ljava/util/ArrayList;,Ljava/util/Collections$EmptyList;
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generateServiceInfo(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/pkg/component/ParsedService;JLcom/android/server/pm/pkg/PackageUserStateInternal;Landroid/content/pm/ApplicationInfo;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/ServiceInfo;+]Lcom/android/internal/pm/pkg/component/ParsedService;Lcom/android/internal/pm/pkg/component/ParsedServiceImpl;
-HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generateWithComponents(Lcom/android/server/pm/pkg/AndroidPackage;[IJJJLjava/util/Set;Ljava/util/Set;Lcom/android/server/pm/pkg/PackageUserStateInternal;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/PackageInfo;+]Lcom/android/internal/pm/pkg/component/ParsedActivity;Lcom/android/internal/pm/pkg/component/ParsedActivityImpl;]Lcom/android/internal/pm/pkg/component/ParsedAttribution;Lcom/android/internal/pm/pkg/component/ParsedAttributionImpl;]Lcom/android/internal/pm/pkg/component/ParsedPermission;Lcom/android/internal/pm/pkg/component/ParsedPermissionImpl;]Lcom/android/internal/pm/pkg/component/ParsedProvider;Lcom/android/internal/pm/pkg/component/ParsedProviderImpl;]Lcom/android/internal/pm/pkg/component/ParsedService;Lcom/android/internal/pm/pkg/component/ParsedServiceImpl;]Lcom/android/internal/pm/pkg/component/ParsedUsesPermission;Lcom/android/internal/pm/pkg/component/ParsedUsesPermissionImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateDefault;,Lcom/android/server/pm/pkg/PackageUserStateImpl;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Ljava/util/Set;Landroid/util/ArraySet;,Lcom/android/server/permission/jarjar/kotlin/collections/EmptySet;,Ljava/util/Collections$UnmodifiableSet;
+HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generateWithComponents(Lcom/android/server/pm/pkg/AndroidPackage;[IJJJLjava/util/Set;Ljava/util/Set;Lcom/android/server/pm/pkg/PackageUserStateInternal;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/PackageInfo;+]Lcom/android/internal/pm/pkg/component/ParsedActivity;Lcom/android/internal/pm/pkg/component/ParsedActivityImpl;]Lcom/android/internal/pm/pkg/component/ParsedAttribution;Lcom/android/internal/pm/pkg/component/ParsedAttributionImpl;]Lcom/android/internal/pm/pkg/component/ParsedPermission;Lcom/android/internal/pm/pkg/component/ParsedPermissionImpl;]Lcom/android/internal/pm/pkg/component/ParsedProvider;Lcom/android/internal/pm/pkg/component/ParsedProviderImpl;]Lcom/android/internal/pm/pkg/component/ParsedService;Lcom/android/internal/pm/pkg/component/ParsedServiceImpl;]Lcom/android/internal/pm/pkg/component/ParsedUsesPermission;Lcom/android/internal/pm/pkg/component/ParsedUsesPermissionImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/ArchiveState;Lcom/android/server/pm/pkg/ArchiveState;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateDefault;,Lcom/android/server/pm/pkg/PackageUserStateImpl;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Ljava/util/Set;Landroid/util/ArraySet;,Lcom/android/server/permission/jarjar/kotlin/collections/EmptySet;,Ljava/util/Collections$UnmodifiableSet;
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->getDataDir(Lcom/android/server/pm/pkg/PackageStateInternal;I)Ljava/io/File;+]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateDefault;,Lcom/android/server/pm/pkg/PackageUserStateImpl;
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->getDeprecatedSignatures(Landroid/content/pm/SigningDetails;J)[Landroid/content/pm/Signature;
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->initForUser(Landroid/content/pm/ApplicationInfo;Lcom/android/server/pm/pkg/AndroidPackage;ILcom/android/server/pm/pkg/PackageUserStateInternal;)V+]Lcom/android/internal/pm/parsing/pkg/PackageImpl;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateDefault;,Lcom/android/server/pm/pkg/PackageUserStateImpl;
@@ -2900,6 +2999,7 @@
 HSPLcom/android/server/pm/permission/LegacyPermission;->write(Lcom/android/modules/utils/TypedXmlSerializer;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;
 HSPLcom/android/server/pm/permission/LegacyPermissionManagerService;->checkDeviceIdentifierAccess(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)I+]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Landroid/app/admin/DevicePolicyManager;Landroid/app/admin/DevicePolicyManager;]Lcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;Lcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;
 HSPLcom/android/server/pm/permission/LegacyPermissionManagerService;->verifyCallerCanCheckAccess(Ljava/lang/String;Ljava/lang/String;II)V+]Lcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;Lcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;
+HSPLcom/android/server/pm/permission/LegacyPermissionSettings;->replacePermissions(Ljava/util/List;)V+]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/pm/permission/LegacyPermissionState;-><init>()V
 HSPLcom/android/server/pm/permission/LegacyPermissionState;->copyFrom(Lcom/android/server/pm/permission/LegacyPermissionState;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;
 HSPLcom/android/server/pm/permission/PermissionManagerService$AttributionSourceRegistry;->isRegisteredAttributionSource(Landroid/content/AttributionSource;)Z+]Ljava/util/WeakHashMap;Ljava/util/WeakHashMap;
@@ -2923,6 +3023,7 @@
 HSPLcom/android/server/pm/permission/PermissionManagerService;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;+]Lcom/android/server/pm/permission/PermissionManagerServiceInterface;Lcom/android/server/permission/access/permission/PermissionService;
 HSPLcom/android/server/pm/permission/PermissionManagerService;->getPersistentDeviceId(I)Ljava/lang/String;+]Lcom/android/server/companion/virtual/VirtualDeviceManagerInternal;Lcom/android/server/companion/virtual/VirtualDeviceManagerService$LocalService;
 HSPLcom/android/server/pm/permission/PermissionManagerService;->isRegisteredAttributionSource(Landroid/content/AttributionSourceState;)Z
+HSPLcom/android/server/pm/permission/PermissionManagerService;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IIZLjava/lang/String;I)V+]Lcom/android/server/pm/permission/PermissionManagerServiceInterface;Lcom/android/server/permission/access/permission/PermissionService;
 HSPLcom/android/server/pm/pkg/PackageStateInternal;->getUserStateOrDefault(I)Lcom/android/server/pm/pkg/PackageUserState;+]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;
 HSPLcom/android/server/pm/pkg/PackageStateInternal;->getUserStateOrDefault(I)Lcom/android/server/pm/pkg/PackageUserStateInternal;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;
 HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->getApexModuleName()Ljava/lang/String;
@@ -2960,7 +3061,6 @@
 HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->isSuspended()Z
 HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->isVirtualPreload()Z
 HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->onChanged()V+]Lcom/android/server/utils/Watchable;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/utils/WatchableImpl;Lcom/android/server/pm/pkg/PackageUserStateImpl;
-HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setBoolean(IZ)V
 HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setDisabledComponents(Landroid/util/ArraySet;)Lcom/android/server/pm/pkg/PackageUserStateImpl;
 HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setEnabledComponents(Landroid/util/ArraySet;)Lcom/android/server/pm/pkg/PackageUserStateImpl;
 HSPLcom/android/server/pm/pkg/PackageUserStateUtils;->isAvailable(Lcom/android/server/pm/pkg/PackageUserState;J)Z+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateDefault;,Lcom/android/server/pm/pkg/PackageUserStateImpl;
@@ -3004,8 +3104,6 @@
 HSPLcom/android/server/pm/resolution/ComponentResolver;->addActivitiesLocked(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/AndroidPackage;Ljava/util/List;Z)V+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;
 HSPLcom/android/server/pm/resolution/ComponentResolver;->addAllComponents(Lcom/android/server/pm/pkg/AndroidPackage;ZLjava/lang/String;Lcom/android/server/pm/Computer;)V+]Lcom/android/internal/pm/pkg/component/ParsedActivity;Lcom/android/internal/pm/pkg/component/ParsedActivityImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerLocked;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;
 HSPLcom/android/server/pm/resolution/ComponentResolver;->addProvidersLocked(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/AndroidPackage;Z)V+]Lcom/android/internal/pm/pkg/component/ParsedProvider;Lcom/android/internal/pm/pkg/component/ParsedProviderImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;
-HSPLcom/android/server/pm/resolution/ComponentResolver;->addReceiversLocked(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/AndroidPackage;Z)V+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;
-HSPLcom/android/server/pm/resolution/ComponentResolver;->addServicesLocked(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/AndroidPackage;Z)V+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;
 HSPLcom/android/server/pm/resolution/ComponentResolver;->snapshot()Lcom/android/server/pm/resolution/ComponentResolverApi;
 HSPLcom/android/server/pm/resolution/ComponentResolverBase;->getActivity(Landroid/content/ComponentName;)Lcom/android/internal/pm/pkg/component/ParsedActivity;
 HSPLcom/android/server/pm/resolution/ComponentResolverBase;->getReceiver(Landroid/content/ComponentName;)Lcom/android/internal/pm/pkg/component/ParsedActivity;
@@ -3031,7 +3129,7 @@
 HSPLcom/android/server/policy/AppOpsPolicy;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;ILcom/android/internal/util/function/HexConsumer;)V+]Lcom/android/internal/util/function/HexConsumer;Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda11;
 HSPLcom/android/server/policy/AppOpsPolicy;->noteOperation(IILjava/lang/String;Ljava/lang/String;IZLjava/lang/String;ZILcom/android/internal/util/function/NonaFunction;)Landroid/app/SyncNotedAppOp;+]Lcom/android/internal/util/function/NonaFunction;Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda5;
 HSPLcom/android/server/policy/AppOpsPolicy;->resolveDatasourceOp(IILjava/lang/String;Ljava/lang/String;)I
-HSPLcom/android/server/policy/AppOpsPolicy;->resolveRecordAudioOp(II)I+]Landroid/service/voice/VoiceInteractionManagerInternal$HotwordDetectionServiceIdentity;Landroid/service/voice/VoiceInteractionManagerInternal$HotwordDetectionServiceIdentity;]Landroid/service/voice/VoiceInteractionManagerInternal;Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$LocalService;
+HSPLcom/android/server/policy/AppOpsPolicy;->resolveRecordAudioOp(II)I
 HSPLcom/android/server/policy/AppOpsPolicy;->resolveSandboxedServiceOp(II)I
 HSPLcom/android/server/policy/AppOpsPolicy;->resolveUid(II)I+]Landroid/service/voice/VoiceInteractionManagerInternal$HotwordDetectionServiceIdentity;Landroid/service/voice/VoiceInteractionManagerInternal$HotwordDetectionServiceIdentity;]Landroid/service/voice/VoiceInteractionManagerInternal;Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$LocalService;
 HSPLcom/android/server/policy/AppOpsPolicy;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;IZZLjava/lang/String;ZIILcom/android/internal/util/function/DodecFunction;)Landroid/app/SyncNotedAppOp;+]Lcom/android/internal/util/function/DodecFunction;Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda7;
@@ -3047,7 +3145,6 @@
 HSPLcom/android/server/policy/PhoneWindowManager;->updateLockScreenTimeout()V+]Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Ljava/util/HashSet;Ljava/util/HashSet;
 HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(I)I+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;
 HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(IZ)I+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;
-HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(IZZ)I+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;
 HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)I+]Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;
 HPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isInputRestricted()Z+]Lcom/android/server/policy/keyguard/KeyguardServiceWrapper;Lcom/android/server/policy/keyguard/KeyguardServiceWrapper;
 HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isOccluded()Z
@@ -3058,6 +3155,8 @@
 HSPLcom/android/server/policy/role/RoleServicePlatformHelperImpl;->$r8$lambda$iHIoFGt-sugSqlklSHHOwdIQL9Y(Ljava/io/DataOutputStream;Landroid/content/pm/PackageManagerInternal;ILcom/android/server/pm/pkg/AndroidPackage;)V+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/content/pm/Signature;Landroid/content/pm/Signature;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/internal/pm/parsing/pkg/PackageImpl;]Ljava/io/DataOutputStream;Ljava/io/DataOutputStream;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1;]Ljava/util/Set;Ljava/util/Collections$UnmodifiableSet;
 HSPLcom/android/server/power/AttentionDetector;->updateUserActivity(JJ)J+]Landroid/attention/AttentionManagerInternal;Lcom/android/server/attention/AttentionManagerService$LocalService;]Lcom/android/server/power/AttentionDetector;Lcom/android/server/power/AttentionDetector;]Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/wm/WindowManagerService$LocalService;
 HSPLcom/android/server/power/FaceDownDetector;->onSensorChanged(Landroid/hardware/SensorEvent;)V
+HSPLcom/android/server/power/FrameworkStatsLogger;->wakelockStateChanged(ILjava/lang/String;ILcom/android/server/power/FrameworkStatsLogger$WakelockEventType;)V
+HSPLcom/android/server/power/FrameworkStatsLogger;->wakelockStateChanged(Ljava/lang/String;Landroid/os/WorkSource$WorkChain;ILcom/android/server/power/FrameworkStatsLogger$WakelockEventType;)V
 HSPLcom/android/server/power/InattentiveSleepWarningController;->isShown()Z
 HSPLcom/android/server/power/Notifier$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/power/Notifier;ZLjava/lang/String;IIILandroid/os/WorkSource;Ljava/lang/String;Ljava/lang/String;JLandroid/os/IWakeLockCallback;)V
 HSPLcom/android/server/power/Notifier$$ExternalSyntheticLambda2;->run()V
@@ -3066,7 +3165,7 @@
 HSPLcom/android/server/power/Notifier$NotifierHandler;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/server/power/Notifier$RealInjector;->currentTimeMillis()J
 HSPLcom/android/server/power/Notifier;->getBatteryStatsWakeLockMonitorType(I)I
-HSPLcom/android/server/power/Notifier;->lambda$notifyWakeLockListener$9(ZLjava/lang/String;IIILandroid/os/WorkSource;Ljava/lang/String;Ljava/lang/String;JLandroid/os/IWakeLockCallback;)V+]Landroid/os/IWakeLockCallback;Landroid/os/IWakeLockCallback$Stub$Proxy;]Lcom/android/server/power/feature/PowerManagerFlags;Lcom/android/server/power/feature/PowerManagerFlags;
+HSPLcom/android/server/power/Notifier;->lambda$notifyWakeLockListener$9(ZLjava/lang/String;IIILandroid/os/WorkSource;Ljava/lang/String;Ljava/lang/String;JLandroid/os/IWakeLockCallback;)V+]Lcom/android/server/power/feature/PowerManagerFlags;Lcom/android/server/power/feature/PowerManagerFlags;
 HSPLcom/android/server/power/Notifier;->logWakelockStateChanged(ILjava/lang/String;ILandroid/os/WorkSource;Lcom/android/server/power/FrameworkStatsLogger$WakelockEventType;)V+]Landroid/os/BatteryStatsInternal;Lcom/android/server/am/BatteryStatsService$LocalService;]Landroid/os/WorkSource;Landroid/os/WorkSource;]Lcom/android/server/power/FrameworkStatsLogger;Lcom/android/server/power/FrameworkStatsLogger;]Lcom/android/server/power/Notifier;Lcom/android/server/power/Notifier;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/power/Notifier;->notifyWakeLockListener(Landroid/os/IWakeLockCallback;Ljava/lang/String;ZIIILandroid/os/WorkSource;Ljava/lang/String;Ljava/lang/String;)V+]Lcom/android/server/power/Notifier$Injector;Lcom/android/server/power/Notifier$RealInjector;
 HSPLcom/android/server/power/Notifier;->notifyWakelockAcquisition(Ljava/lang/String;IIILandroid/os/WorkSource;Ljava/lang/String;Ljava/lang/String;J)V+]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Lcom/android/internal/app/IBatteryStats;Lcom/android/server/am/BatteryStatsService;
@@ -3095,7 +3194,7 @@
 HSPLcom/android/server/power/PowerGroup;->supportsSandmanLocked()Z
 HSPLcom/android/server/power/PowerGroup;->updateLocked(FLjava/lang/CharSequence;ZZIIFZZLandroid/os/PowerSaveState;ZZZZZZ)Z+]Landroid/hardware/display/DisplayManagerInternal;Lcom/android/server/display/DisplayManagerService$LocalService;]Lcom/android/server/power/Notifier;Lcom/android/server/power/Notifier;]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;
 HSPLcom/android/server/power/PowerGroup;->updateScreenPolicyLocked(ZZZZZ)V+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;]Lcom/android/server/power/feature/PowerManagerFlags;Lcom/android/server/power/feature/PowerManagerFlags;
-HSPLcom/android/server/power/PowerManagerService$BinderService;->acquireWakeLock(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;ILandroid/os/IWakeLockCallback;)V+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/os/WorkSource;Landroid/os/WorkSource;]Lcom/android/server/power/feature/PowerManagerFlags;Lcom/android/server/power/feature/PowerManagerFlags;
+HSPLcom/android/server/power/PowerManagerService$BinderService;->acquireWakeLock(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;ILandroid/os/IWakeLockCallback;)V+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/os/WorkSource;Landroid/os/WorkSource;
 HSPLcom/android/server/power/PowerManagerService$BinderService;->isDeviceIdleMode()Z
 HSPLcom/android/server/power/PowerManagerService$BinderService;->isDisplayInteractive(I)Z
 HSPLcom/android/server/power/PowerManagerService$BinderService;->isLightDeviceIdleMode()Z
@@ -3134,6 +3233,7 @@
 HPLcom/android/server/power/PowerManagerService;->isBeingKeptAwakeLocked(Lcom/android/server/power/PowerGroup;)Z+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;
 HSPLcom/android/server/power/PowerManagerService;->isDeviceIdleModeInternal()Z
 HSPLcom/android/server/power/PowerManagerService;->isInteractiveInternal(II)Z+]Landroid/hardware/display/DisplayManagerInternal;Lcom/android/server/display/DisplayManagerService$LocalService;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;
+HSPLcom/android/server/power/PowerManagerService;->isItBedTimeYetLocked(Lcom/android/server/power/PowerGroup;)Z+]Lcom/android/server/power/PowerManagerService$Clock;Lcom/android/server/power/PowerManagerService$Injector$2;
 HSPLcom/android/server/power/PowerManagerService;->isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()Z
 HSPLcom/android/server/power/PowerManagerService;->maybeHideInattentiveSleepWarningLocked(JJ)Z+]Lcom/android/server/power/InattentiveSleepWarningController;Lcom/android/server/power/InattentiveSleepWarningController;
 HSPLcom/android/server/power/PowerManagerService;->needSuspendBlockerLocked()Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;
@@ -3198,6 +3298,7 @@
 HSPLcom/android/server/power/feature/PowerManagerFlags;->improveWakelockLatency()Z
 HSPLcom/android/server/power/feature/PowerManagerFlags;->isFrameworkWakelockInfoEnabled()Z
 HSPLcom/android/server/power/feature/PowerManagerFlags;->isPolicyReasonInDisplayPowerRequestEnabled()Z
+HSPLcom/android/server/power/feature/PowerManagerFlags;->isScreenTimeoutPolicyListenerApiEnabled()Z
 HSPLcom/android/server/power/hint/HintManagerService$AppHintSession;-><init>(Lcom/android/server/power/hint/HintManagerService;III[ILandroid/os/IBinder;JJLjava/lang/Integer;)V+]Landroid/os/IBinder;Landroid/os/BinderProxy;
 HPLcom/android/server/power/hint/HintManagerService$AppHintSession;->close()V+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Lcom/android/server/power/hint/HintManagerService$AppHintSessionSnapshot;Lcom/android/server/power/hint/HintManagerService$AppHintSessionSnapshot;]Lcom/android/server/power/hint/HintManagerService$NativeWrapper;Lcom/android/server/power/hint/HintManagerService$NativeWrapper;]Ljava/util/Map;Ljava/util/HashMap;]Ljava/util/Set;Landroid/util/ArraySet;
 HSPLcom/android/server/power/hint/HintManagerService$BinderService;->createHintSessionWithConfig(Landroid/os/IBinder;ILandroid/os/SessionCreationConfig;Landroid/hardware/power/SessionConfig;)Landroid/os/IHintManager$SessionCreationReturn;+]Lcom/android/server/power/hint/HintManagerService$AppHintSessionSnapshot;Lcom/android/server/power/hint/HintManagerService$AppHintSessionSnapshot;]Lcom/android/server/power/hint/HintManagerService$NativeWrapper;Lcom/android/server/power/hint/HintManagerService$NativeWrapper;]Ljava/util/Map;Ljava/util/HashMap;]Ljava/util/Set;Landroid/util/ArraySet;
@@ -3216,16 +3317,17 @@
 HSPLcom/android/server/power/stats/BatteryStatsImpl$4;->retrieveUidWakelockDuration(Lcom/android/server/power/stats/WakelockPowerStatsCollector$WakelockDurationRetriever$Callback;)V+]Landroid/os/BatteryStats$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Landroid/os/BatteryStats$Uid$Wakelock;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/WakelockPowerStatsCollector$WakelockDurationRetriever$Callback;Lcom/android/server/power/stats/WakelockPowerStatsCollector$$ExternalSyntheticLambda0;
 HPLcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;->addCpuClusterSpeedDurationsMs(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;IIJ)V+]Lcom/android/server/power/stats/CpuPowerCalculator;Lcom/android/server/power/stats/CpuPowerCalculator;
 HPLcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;->getOrCreateUidCpuClusterCharges(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;)[D
+HSPLcom/android/server/power/stats/BatteryStatsImpl$DualTimer;-><init>(Lcom/android/internal/os/Clock;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V
 HSPLcom/android/server/power/stats/BatteryStatsImpl$DualTimer;->startRunningLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$DualTimer;->stopRunningLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->getCurrentDurationMsLocked(J)J+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->getMaxDurationMsLocked(J)J+]Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->getTotalDurationMsLocked(J)J+]Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
 HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->startRunningLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->stopRunningLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;->uidProcessStateChanged(II)V
-HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;->addCountLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;->addCountLocked(JZ)V
 HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;->writeSummaryFromParcelLocked(Landroid/os/Parcel;)V
 HPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;->addCountLocked([JZ)V
@@ -3251,7 +3353,7 @@
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Timer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;megamorphic_types
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;->startLaunchedLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;->startRunningLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
-HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;->stopLaunchedLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;->stopLaunchedLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
 HPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;->stopRunningLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;->getWakeTime(I)Landroid/os/BatteryStats$Timer;+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;->getWakeTime(I)Lcom/android/server/power/stats/BatteryStatsImpl$Timer;
@@ -3263,15 +3365,18 @@
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getOrCreateEnergyConsumerStatsIfSupportedLocked()Lcom/android/internal/power/EnergyConsumerStats;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getPackageStatsLocked(Ljava/lang/String;)Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getPidStatsLocked(I)Landroid/os/BatteryStats$Uid$Pid;+]Landroid/util/SparseArray;Landroid/util/SparseArray;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getProcessStateTime(IJI)J+]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getProcessStatsLocked(Ljava/lang/String;)Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getSensorTimerLocked(IZ)Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;+]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getServiceStatsLocked(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getWakelockTimerLocked(Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;I)Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getWifiBatchedScanTime(IJI)J
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getWifiControllerActivity()Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->maybeScheduleExternalStatsSync(II)V+]Lcom/android/server/power/stats/BatteryStatsImpl$ExternalStatsSync;Lcom/android/server/power/stats/BatteryExternalStatsWorker;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStartWakeLocked(ILjava/lang/String;IJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$1;]Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;
-HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStopJobLocked(Ljava/lang/String;JI)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$3;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;
+HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStopJobLocked(Ljava/lang/String;JI)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$3;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStopWakeLocked(ILjava/lang/String;IJ)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$1;]Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;
+HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->reset(JJI)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$1;,Lcom/android/server/power/stats/BatteryStatsImpl$Uid$2;,Lcom/android/server/power/stats/BatteryStatsImpl$Uid$3;]Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Sensor;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Sensor;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->updateOnBatteryBgTimeBase(JJ)Z+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->updateOnBatteryScreenOffBgTimeBase(JJ)Z+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;
 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->updateUidProcessStateLocked(IJJ)V+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Lcom/android/internal/power/EnergyConsumerStats;Lcom/android/internal/power/EnergyConsumerStats;]Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;
@@ -3281,26 +3386,27 @@
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->getRpmTimerLocked(Ljava/lang/String;)Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;+]Ljava/util/HashMap;Ljava/util/HashMap;
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->getServiceStatsLocked(ILjava/lang/String;Ljava/lang/String;JJ)Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->getUidStatsLocked(IJJ)Lcom/android/server/power/stats/BatteryStatsImpl$Uid;+]Landroid/util/SparseArray;Landroid/util/SparseArray;
+HPLcom/android/server/power/stats/BatteryStatsImpl;->lambda$readKernelUidCpuFreqTimesLocked$4(JJZZZII[ILcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;I[J)V+]Lcom/android/internal/os/CpuScalingPolicies;Lcom/android/internal/os/CpuScalingPolicies;]Lcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;Lcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;]Lcom/android/server/power/stats/BatteryStatsImpl$UserInfoProvider;Lcom/android/server/am/BatteryStatsService$3;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->mapUid(I)I+]Lcom/android/server/power/stats/PowerStatsUidResolver;Lcom/android/server/power/stats/PowerStatsUidResolver;
 HPLcom/android/server/power/stats/BatteryStatsImpl;->noteChangeWakelockFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;ILandroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZJJ)V+]Landroid/os/WorkSource;Landroid/os/WorkSource;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Ljava/util/List;Ljava/util/ArrayList;
-HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteJobFinishLocked(Ljava/lang/String;IIJJ)V+]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
-HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteJobStartLocked(Ljava/lang/String;IJJ)V+]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
+HPLcom/android/server/power/stats/BatteryStatsImpl;->noteJobFinishLocked(Ljava/lang/String;IIJJ)V+]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
+HPLcom/android/server/power/stats/BatteryStatsImpl;->noteJobStartLocked(Ljava/lang/String;IJJ)V+]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteStartWakeFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZJJ)V+]Landroid/os/WorkSource;Landroid/os/WorkSource;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteStartWakeLocked(IILandroid/os/WorkSource$WorkChain;Ljava/lang/String;Ljava/lang/String;IZJJ)V+]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Lcom/android/server/power/feature/PowerManagerFlags;Lcom/android/server/power/feature/PowerManagerFlags;]Lcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;Lcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Lcom/android/server/power/stats/PowerStatsUidResolver;Lcom/android/server/power/stats/PowerStatsUidResolver;
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteStopWakeFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IJJ)V+]Landroid/os/WorkSource;Landroid/os/WorkSource;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteStopWakeLocked(IILandroid/os/WorkSource$WorkChain;Ljava/lang/String;Ljava/lang/String;IJJ)V+]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Lcom/android/server/power/feature/PowerManagerFlags;Lcom/android/server/power/feature/PowerManagerFlags;]Lcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;Lcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteUidProcessStateLocked(IIJJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;Lcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
-HPLcom/android/server/power/stats/BatteryStatsImpl;->noteWakeupReasonLocked(Ljava/lang/String;JJ)V+]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Lcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;Lcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;]Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->readSummaryFromParcel(Landroid/os/Parcel;)V
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->recordPowerStats(Lcom/android/internal/os/PowerStats;)V+]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1;
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->reportChangesToStatsLog(III)V+]Lcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;Lcom/android/server/power/stats/BatteryStatsImpl$FrameworkStatsLogger;
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->retrieveBluetoothScanTimesLocked(Lcom/android/server/power/stats/BluetoothPowerStatsCollector$BluetoothStatsRetriever$Callback;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;]Lcom/android/server/power/stats/BluetoothPowerStatsCollector$BluetoothStatsRetriever$Callback;Lcom/android/server/power/stats/BluetoothPowerStatsCollector$$ExternalSyntheticLambda0;
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->retrieveWifiScanTimesLocked(Lcom/android/server/power/stats/WifiPowerStatsCollector$WifiStatsRetriever$Callback;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/WifiPowerStatsCollector$WifiStatsRetriever$Callback;Lcom/android/server/power/stats/WifiPowerStatsCollector$$ExternalSyntheticLambda1;
-HSPLcom/android/server/power/stats/BatteryStatsImpl;->setBatteryStateLocked(IIIIIIIIJJJJ)V+]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Lcom/android/server/power/stats/BatteryStatsImpl$ExternalStatsSync;Lcom/android/server/power/stats/BatteryExternalStatsWorker;]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->setBatteryStateLocked(IIIIIIIIJJJJ)V+]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Lcom/android/server/power/stats/BatteryStatsImpl$ExternalStatsSync;Lcom/android/server/power/stats/BatteryExternalStatsWorker;]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Lcom/android/server/power/stats/BatteryUsageStatsProvider;Lcom/android/server/power/stats/BatteryUsageStatsProvider;
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateClusterSpeedTimes(Landroid/util/SparseLongArray;ZLcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1;]Lcom/android/internal/os/CpuScalingPolicies;Lcom/android/internal/os/CpuScalingPolicies;]Lcom/android/internal/os/KernelCpuSpeedReader;Lcom/android/internal/os/KernelCpuSpeedReader;]Lcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;Lcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateCpuTimeLocked(ZZ[J)V+]Lcom/android/internal/os/CpuScalingPolicies;Lcom/android/internal/os/CpuScalingPolicies;]Lcom/android/internal/os/KernelCpuSpeedReader;Lcom/android/internal/os/KernelCpuSpeedReader;]Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidActiveTimeReader;Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidActiveTimeReader;]Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader;Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader;]Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;]Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;]Lcom/android/internal/power/EnergyConsumerStats;Lcom/android/internal/power/EnergyConsumerStats;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateKernelWakelocksLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;]Lcom/android/server/power/stats/KernelWakelockReader;Lcom/android/server/power/stats/KernelWakelockReader;]Ljava/util/HashMap;Lcom/android/server/power/stats/KernelWakelockStats;,Ljava/util/HashMap;]Ljava/util/Iterator;Ljava/util/HashMap$EntryIterator;]Ljava/util/Map$Entry;Ljava/util/HashMap$Node;]Ljava/util/Set;Ljava/util/HashMap$EntrySet;
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateRpmStatsLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Ljava/util/Iterator;Landroid/util/MapCollections$MapIterator;]Ljava/util/Map$Entry;Landroid/util/MapCollections$MapIterator;]Ljava/util/Map;Landroid/util/ArrayMap;]Ljava/util/Set;Landroid/util/MapCollections$EntrySet;
+HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateWifiBatteryStats(Landroid/os/connectivity/WifiActivityEnergyInfo;Landroid/net/NetworkStats;JJJ)V+]Landroid/net/NetworkStats$Entry;Landroid/net/NetworkStats$Entry;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Lcom/android/internal/os/PowerProfile;Lcom/android/internal/os/PowerProfile;]Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Ljava/util/Iterator;Landroid/net/NetworkStats$1;
 HSPLcom/android/server/power/stats/BatteryStatsImpl;->writeSummaryToParcel(Landroid/os/Parcel;Z)V+]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1;]Lcom/android/internal/os/MonotonicClock;Lcom/android/internal/os/MonotonicClock;]Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;]Lcom/android/server/power/stats/BatteryStatsImpl$Counter;Lcom/android/server/power/stats/BatteryStatsImpl$Counter;]Lcom/android/server/power/stats/BatteryStatsImpl$DisplayBatteryStats;Lcom/android/server/power/stats/BatteryStatsImpl$DisplayBatteryStats;]Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Lcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$1;,Lcom/android/server/power/stats/BatteryStatsImpl$Uid$2;,Lcom/android/server/power/stats/BatteryStatsImpl$Uid$3;]Lcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats;Lcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/util/Iterator;Landroid/util/MapCollections$MapIterator;,Ljava/util/HashMap$EntryIterator;]Ljava/util/Map$Entry;Landroid/util/MapCollections$MapIterator;,Ljava/util/HashMap$Node;]Ljava/util/Set;Landroid/util/MapCollections$EntrySet;,Ljava/util/HashMap$EntrySet;
 HSPLcom/android/server/power/stats/BluetoothPowerStatsCollector;->collectBluetoothActivityInfo()Landroid/bluetooth/BluetoothActivityEnergyInfo;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/BluetoothPowerStatsCollector$BluetoothStatsRetriever;Lcom/android/server/power/stats/BatteryStatsImpl$BluetoothStatsRetrieverImpl;]Lcom/android/server/power/stats/PowerStatsUidResolver;Lcom/android/server/power/stats/PowerStatsUidResolver;]Lcom/android/server/power/stats/format/BluetoothPowerStatsLayout;Lcom/android/server/power/stats/format/BluetoothPowerStatsLayout;]Lcom/android/server/power/stats/format/PowerStatsLayout;Lcom/android/server/power/stats/format/BluetoothPowerStatsLayout;]Ljava/util/List;Ljava/util/ArrayList;
 HPLcom/android/server/power/stats/CpuPowerCalculator;->calculatePerCpuFreqPowerMah(IIJ)D+]Lcom/android/server/power/stats/UsageBasedPowerEstimator;Lcom/android/server/power/stats/UsageBasedPowerEstimator;
@@ -3310,33 +3416,38 @@
 HSPLcom/android/server/power/stats/EnergyConsumerSnapshot;->updateAndGetDelta([Landroid/hardware/power/stats/EnergyConsumerResult;I)Lcom/android/server/power/stats/EnergyConsumerSnapshot$EnergyConsumerDeltaData;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;
 HSPLcom/android/server/power/stats/KernelWakelockReader;->removeOldStats(Lcom/android/server/power/stats/KernelWakelockStats;)Lcom/android/server/power/stats/KernelWakelockStats;+]Ljava/util/Collection;Ljava/util/HashMap$Values;]Ljava/util/HashMap;Lcom/android/server/power/stats/KernelWakelockStats;]Ljava/util/Iterator;Ljava/util/HashMap$ValueIterator;
 HSPLcom/android/server/power/stats/KernelWakelockReader;->updateWakelockStats([Landroid/system/suspend/internal/WakeLockInfo;Lcom/android/server/power/stats/KernelWakelockStats;)Lcom/android/server/power/stats/KernelWakelockStats;+]Ljava/util/HashMap;Lcom/android/server/power/stats/KernelWakelockStats;
+HSPLcom/android/server/power/stats/MobileRadioPowerStatsCollector;->collectModemActivityInfo()Landroid/telephony/ModemActivityInfo;+]Landroid/telephony/TelephonyManager;Landroid/telephony/TelephonyManager;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/format/MobileRadioPowerStatsLayout;Lcom/android/server/power/stats/format/MobileRadioPowerStatsLayout;]Ljava/util/function/LongSupplier;Lcom/android/server/power/stats/BatteryStatsImpl$PowerStatsCollectorInjector$$ExternalSyntheticLambda3;,Lcom/android/server/power/stats/BatteryStatsImpl$PowerStatsCollectorInjector$$ExternalSyntheticLambda4;
 HSPLcom/android/server/power/stats/PowerStatsCollector$ConsumedEnergyHelper;->collectConsumedEnergy(Lcom/android/internal/os/PowerStats;Lcom/android/server/power/stats/format/PowerStatsLayout;)Z+]Lcom/android/server/power/stats/PowerStatsCollector$ConsumedEnergyRetriever;Lcom/android/server/power/stats/PowerStatsCollector$ConsumedEnergyRetrieverImpl;
 HSPLcom/android/server/power/stats/PowerStatsCollector$ConsumedEnergyHelper;->populatePowerStats(Lcom/android/internal/os/PowerStats;Lcom/android/server/power/stats/format/PowerStatsLayout;[Landroid/hardware/power/stats/EnergyConsumerResult;II)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/power/stats/PowerStatsUidResolver;Lcom/android/server/power/stats/PowerStatsUidResolver;]Lcom/android/server/power/stats/format/PowerStatsLayout;megamorphic_types
-HSPLcom/android/server/power/stats/PowerStatsCollector;->deliverStats(Lcom/android/internal/os/PowerStats;)V+]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Ljava/util/function/Consumer;Lcom/android/server/power/stats/BatteryStatsImpl$$ExternalSyntheticLambda3;,Lcom/android/server/power/stats/CustomEnergyConsumerPowerStatsCollector$$ExternalSyntheticLambda0;
+HSPLcom/android/server/power/stats/PowerStatsCollector;->deliverStats(Lcom/android/internal/os/PowerStats;)V+]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Ljava/util/function/Consumer;Lcom/android/server/power/stats/BatteryStatsImpl$$ExternalSyntheticLambda3;,Lcom/android/server/power/stats/BatteryStatsImpl$$ExternalSyntheticLambda8;,Lcom/android/server/power/stats/CustomEnergyConsumerPowerStatsCollector$$ExternalSyntheticLambda0;
 HSPLcom/android/server/power/stats/PowerStatsCollector;->schedule()Z+]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1;
 HSPLcom/android/server/power/stats/PowerStatsUidResolver;->mapUid(I)I+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;
 HSPLcom/android/server/power/stats/ScreenPowerStatsCollector;->collectStats()Lcom/android/internal/os/PowerStats;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1;]Lcom/android/server/power/stats/PowerStatsCollector$ConsumedEnergyHelper;Lcom/android/server/power/stats/PowerStatsCollector$ConsumedEnergyHelper;]Lcom/android/server/power/stats/ScreenPowerStatsCollector$ScreenUsageTimeRetriever;Lcom/android/server/power/stats/BatteryStatsImpl$2;]Lcom/android/server/power/stats/format/ScreenPowerStatsLayout;Lcom/android/server/power/stats/format/ScreenPowerStatsLayout;
+HSPLcom/android/server/power/stats/ScreenPowerStatsCollector;->lambda$collectStats$0(IJ)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/power/stats/PowerStatsUidResolver;Lcom/android/server/power/stats/PowerStatsUidResolver;]Lcom/android/server/power/stats/format/PowerStatsLayout;Lcom/android/server/power/stats/format/ScreenPowerStatsLayout;]Lcom/android/server/power/stats/format/ScreenPowerStatsLayout;Lcom/android/server/power/stats/format/ScreenPowerStatsLayout;
 HSPLcom/android/server/power/stats/UsageBasedPowerEstimator;->calculatePower(J)D
+HSPLcom/android/server/power/stats/WifiPowerStatsCollector;->collectNetworkStats()Landroid/net/NetworkStats;+]Landroid/net/NetworkStats$Entry;Landroid/net/NetworkStats$Entry;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/PowerStatsUidResolver;Lcom/android/server/power/stats/PowerStatsUidResolver;]Lcom/android/server/power/stats/WifiPowerStatsCollector$Injector;Lcom/android/server/power/stats/BatteryStatsImpl$PowerStatsCollectorInjector;]Lcom/android/server/power/stats/format/PowerStatsLayout;Lcom/android/server/power/stats/format/WifiPowerStatsLayout;]Lcom/android/server/power/stats/format/WifiPowerStatsLayout;Lcom/android/server/power/stats/format/WifiPowerStatsLayout;]Ljava/util/function/Supplier;Lcom/android/server/power/stats/BatteryStatsImpl$PowerStatsCollectorInjector$$ExternalSyntheticLambda1;
 HSPLcom/android/server/power/stats/format/BluetoothPowerStatsLayout;->getUidRxBytes([J)J
 HSPLcom/android/server/power/stats/format/BluetoothPowerStatsLayout;->getUidTxBytes([J)J
 HSPLcom/android/server/power/stats/format/CpuPowerStatsLayout;->getCpuPowerBracketCount()I
 HSPLcom/android/server/power/stats/format/CpuPowerStatsLayout;->getTimeByScalingStep([JI)J
 HSPLcom/android/server/power/stats/format/CpuPowerStatsLayout;->setUidTimeByPowerBracket([JIJ)V
+HSPLcom/android/server/power/stats/format/PowerStatsLayout;-><init>()V
 HSPLcom/android/server/power/stats/format/PowerStatsLayout;-><init>(Lcom/android/internal/os/PowerStats$Descriptor;)V
 HSPLcom/android/server/power/stats/format/PowerStatsLayout;->appendFormat(Ljava/lang/StringBuilder;IILjava/lang/String;I)V
 HSPLcom/android/server/power/stats/format/PowerStatsLayout;->getUidConsumedEnergy([JI)J
-HSPLcom/android/server/power/stats/format/PowerStatsLayout;->getUidPowerEstimate([J)D
 HSPLcom/android/server/power/stats/format/PowerStatsLayout;->getUidUsageDuration([J)J
+HSPLcom/android/server/power/stats/format/PowerStatsLayout;->getUsageDuration([J)J
 HSPLcom/android/server/power/stats/format/PowerStatsLayout;->setUidPowerEstimate([JD)V
 HSPLcom/android/server/power/stats/format/PowerStatsLayout;->toExtras(Landroid/os/PersistableBundle;)V
 HSPLcom/android/server/power/stats/format/ScreenPowerStatsLayout;-><init>(Lcom/android/internal/os/PowerStats$Descriptor;)V
 HSPLcom/android/server/power/stats/format/WifiPowerStatsLayout;->getUidRxPackets([J)J
 HSPLcom/android/server/power/stats/format/WifiPowerStatsLayout;->getUidTxPackets([J)J
+HSPLcom/android/server/power/stats/processor/AggregatedPowerStats;-><init>(Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig;Landroid/util/SparseBooleanArray;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;]Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig;Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/power/stats/processor/AggregatedPowerStats;->addClockUpdate(JJ)V+]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/power/stats/processor/AggregatedPowerStats;->addPowerStats(Lcom/android/internal/os/PowerStats;J)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig;Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;
 HSPLcom/android/server/power/stats/processor/AggregatedPowerStats;->getPowerComponentStats()Ljava/util/List;+]Landroid/util/SparseArray;Landroid/util/SparseArray;
-HSPLcom/android/server/power/stats/processor/AggregatedPowerStats;->isCompatible(Lcom/android/internal/os/PowerStats;)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;
 HSPLcom/android/server/power/stats/processor/AggregatedPowerStats;->noteStateChange(Landroid/os/BatteryStats$HistoryItem;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;
+HSPLcom/android/server/power/stats/processor/AggregatedPowerStats;->reset()V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/power/stats/processor/AggregatedPowerStats;->setUidState(IIIJ)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;
 HSPLcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;->getDeviceStateConfig()[Lcom/android/server/power/stats/processor/MultiStateStats$States;
 HSPLcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;->getUidStateConfig()[Lcom/android/server/power/stats/processor/MultiStateStats$States;
@@ -3345,11 +3456,13 @@
 HSPLcom/android/server/power/stats/processor/AmbientDisplayPowerStatsProcessor;->lambda$finish$0(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;[I)V+]Lcom/android/server/power/stats/format/PowerStatsLayout;Lcom/android/server/power/stats/format/AmbientDisplayPowerStatsLayout;]Lcom/android/server/power/stats/format/ScreenPowerStatsLayout;Lcom/android/server/power/stats/format/ScreenPowerStatsLayout;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;
 HSPLcom/android/server/power/stats/processor/AudioPowerStatsProcessor;->getBinaryState(Landroid/os/BatteryStats$HistoryItem;)I
 HSPLcom/android/server/power/stats/processor/BasePowerStatsProcessor;->finish(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;J)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/power/stats/format/BasePowerStatsLayout;Lcom/android/server/power/stats/format/BasePowerStatsLayout;]Lcom/android/server/power/stats/format/PowerStatsLayout;Lcom/android/server/power/stats/format/BasePowerStatsLayout;]Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/power/stats/processor/BasePowerStatsProcessor;->noteBatteryLevel(IIJ)V
 HSPLcom/android/server/power/stats/processor/BasePowerStatsProcessor;->setUidState(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;IIIJ)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;
 HSPLcom/android/server/power/stats/processor/BinaryStatePowerStatsProcessor;->combineDevicePowerEstimates(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;)V+]Lcom/android/server/power/stats/format/PowerStatsLayout;Lcom/android/server/power/stats/format/BinaryStatePowerStatsLayout;,Lcom/android/server/power/stats/format/GnssPowerStatsLayout;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/power/stats/processor/BinaryStatePowerStatsProcessor;->computeDevicePowerEstimates(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerStatsProcessor$PowerEstimationPlan;Z)V+]Lcom/android/server/power/stats/UsageBasedPowerEstimator;Lcom/android/server/power/stats/UsageBasedPowerEstimator;]Lcom/android/server/power/stats/format/PowerStatsLayout;Lcom/android/server/power/stats/format/BinaryStatePowerStatsLayout;,Lcom/android/server/power/stats/format/GnssPowerStatsLayout;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/power/stats/processor/BinaryStatePowerStatsProcessor;->computeUidActivityTotals(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Ljava/util/List;)V+]Lcom/android/server/power/stats/format/PowerStatsLayout;Lcom/android/server/power/stats/format/BinaryStatePowerStatsLayout;,Lcom/android/server/power/stats/format/GnssPowerStatsLayout;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/power/stats/processor/BinaryStatePowerStatsProcessor;->computeUidPowerEstimates(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Ljava/util/List;)V+]Lcom/android/server/power/stats/format/PowerStatsLayout;Lcom/android/server/power/stats/format/BinaryStatePowerStatsLayout;,Lcom/android/server/power/stats/format/GnssPowerStatsLayout;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/power/stats/processor/BinaryStatePowerStatsProcessor;->ensureInitialized()V+]Lcom/android/server/power/stats/format/PowerStatsLayout;Lcom/android/server/power/stats/format/BinaryStatePowerStatsLayout;,Lcom/android/server/power/stats/format/GnssPowerStatsLayout;
 HSPLcom/android/server/power/stats/processor/BinaryStatePowerStatsProcessor;->finish(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;J)V+]Lcom/android/server/power/stats/processor/BinaryStatePowerStatsProcessor;megamorphic_types]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;
 HSPLcom/android/server/power/stats/processor/BinaryStatePowerStatsProcessor;->flushPowerStats(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;J)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;
 HSPLcom/android/server/power/stats/processor/BinaryStatePowerStatsProcessor;->noteStateChange(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Landroid/os/BatteryStats$HistoryItem;)V+]Lcom/android/server/power/stats/processor/BinaryStatePowerStatsProcessor;megamorphic_types
@@ -3380,7 +3493,7 @@
 HSPLcom/android/server/power/stats/processor/MobileRadioPowerStatsProcessor;->computeUidRxTxTotals(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;ILcom/android/server/power/stats/processor/PowerStatsProcessor$UidStateEstimate;)V+]Lcom/android/server/power/stats/format/MobileRadioPowerStatsLayout;Lcom/android/server/power/stats/format/MobileRadioPowerStatsLayout;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/power/stats/processor/MobileRadioPowerStatsProcessor;->finish(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;J)V+]Lcom/android/server/power/stats/format/PowerStatsLayout;Lcom/android/server/power/stats/format/MobileRadioPowerStatsLayout;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;]Lcom/android/server/power/stats/processor/PowerStatsProcessor$PowerEstimationPlan;Lcom/android/server/power/stats/processor/PowerStatsProcessor$PowerEstimationPlan;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/power/stats/processor/MobileRadioPowerStatsProcessor;->lambda$computeDevicePowerEstimates$0(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;[ILcom/android/server/power/stats/processor/MobileRadioPowerStatsProcessor$Intermediates;I)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/UsageBasedPowerEstimator;Lcom/android/server/power/stats/UsageBasedPowerEstimator;]Lcom/android/server/power/stats/format/MobileRadioPowerStatsLayout;Lcom/android/server/power/stats/format/MobileRadioPowerStatsLayout;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;
-HPLcom/android/server/power/stats/processor/MultiStateStats$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
+HSPLcom/android/server/power/stats/processor/MultiStateStats$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/power/stats/processor/MultiStateStats$Factory;-><init>(I[Lcom/android/server/power/stats/processor/MultiStateStats$States;)V
 HSPLcom/android/server/power/stats/processor/MultiStateStats$Factory;->create()Lcom/android/server/power/stats/processor/MultiStateStats;
 HSPLcom/android/server/power/stats/processor/MultiStateStats$Factory;->getSerialState([I)I+]Lcom/android/server/power/stats/processor/MultiStateStats$Factory;Lcom/android/server/power/stats/processor/MultiStateStats$Factory;
@@ -3392,17 +3505,19 @@
 HSPLcom/android/server/power/stats/processor/MultiStateStats;-><init>(Lcom/android/server/power/stats/processor/MultiStateStats$Factory;I)V
 HSPLcom/android/server/power/stats/processor/MultiStateStats;->getStats([J[I)V+]Lcom/android/server/power/stats/processor/MultiStateStats$Factory;Lcom/android/server/power/stats/processor/MultiStateStats$Factory;
 HSPLcom/android/server/power/stats/processor/MultiStateStats;->increment([JJ)V
+HSPLcom/android/server/power/stats/processor/MultiStateStats;->lambda$writeXml$0(Lcom/android/modules/utils/TypedXmlSerializer;[J[I)V
 HSPLcom/android/server/power/stats/processor/MultiStateStats;->setState(IIJ)V+]Lcom/android/server/power/stats/processor/MultiStateStats$Factory;Lcom/android/server/power/stats/processor/MultiStateStats$Factory;
 HSPLcom/android/server/power/stats/processor/MultiStateStats;->setStats([I[J)V+]Lcom/android/server/power/stats/processor/MultiStateStats$Factory;Lcom/android/server/power/stats/processor/MultiStateStats$Factory;
-HPLcom/android/server/power/stats/processor/MultiStateStats;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;)V
-HPLcom/android/server/power/stats/processor/MultiStateStats;->writeXmlForStates(Lcom/android/modules/utils/TypedXmlSerializer;[I[J)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Lcom/android/server/power/stats/processor/MultiStateStats$Factory;Lcom/android/server/power/stats/processor/MultiStateStats$Factory;
+HSPLcom/android/server/power/stats/processor/MultiStateStats;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;)V
+HSPLcom/android/server/power/stats/processor/MultiStateStats;->writeXmlForStates(Lcom/android/modules/utils/TypedXmlSerializer;[I[J)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Lcom/android/server/power/stats/processor/MultiStateStats$Factory;Lcom/android/server/power/stats/processor/MultiStateStats$Factory;
+HSPLcom/android/server/power/stats/processor/PhoneCallPowerStatsProcessor;->finish(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;J)V+]Lcom/android/server/power/stats/processor/AggregatedPowerStats;Lcom/android/server/power/stats/processor/AggregatedPowerStats;]Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;
+HSPLcom/android/server/power/stats/processor/PhoneCallPowerStatsProcessor;->lambda$finish$0(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;[I)V+]Lcom/android/server/power/stats/format/MobileRadioPowerStatsLayout;Lcom/android/server/power/stats/format/MobileRadioPowerStatsLayout;]Lcom/android/server/power/stats/format/PowerStatsLayout;Lcom/android/server/power/stats/format/PhoneCallPowerStatsLayout;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;
 HSPLcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;-><init>(Lcom/android/server/power/stats/processor/AggregatedPowerStats;Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;)V+]Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;
 HSPLcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;->addPowerStats(Lcom/android/internal/os/PowerStats;J)V+]Lcom/android/server/power/stats/processor/PowerStatsProcessor;megamorphic_types
 HSPLcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;->addProcessedPowerStats(Lcom/android/internal/os/PowerStats;J)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/processor/MultiStateStats;Lcom/android/server/power/stats/processor/MultiStateStats;
 HSPLcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;->collectUids(Ljava/util/Collection;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/Collection;Ljava/util/ArrayList;
 HSPLcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;->createDeviceStats(J)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/processor/MultiStateStats$Factory;Lcom/android/server/power/stats/processor/MultiStateStats$Factory;]Lcom/android/server/power/stats/processor/MultiStateStats;Lcom/android/server/power/stats/processor/MultiStateStats;
 HSPLcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;->createUidStats(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats$UidStats;J)V+]Lcom/android/server/power/stats/processor/MultiStateStats$Factory;Lcom/android/server/power/stats/processor/MultiStateStats$Factory;]Lcom/android/server/power/stats/processor/MultiStateStats;Lcom/android/server/power/stats/processor/MultiStateStats;
-HSPLcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;->finish(J)V+]Lcom/android/server/power/stats/processor/PowerStatsProcessor;megamorphic_types
 HSPLcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;->getDeviceStats([J[I)Z+]Lcom/android/server/power/stats/processor/MultiStateStats;Lcom/android/server/power/stats/processor/MultiStateStats;
 HSPLcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;->getUidStats(I)Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats$UidStats;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/processor/MultiStateStats$States;Lcom/android/server/power/stats/processor/MultiStateStats$States;
 HSPLcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;->getUidStats([JI[I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/processor/MultiStateStats;Lcom/android/server/power/stats/processor/MultiStateStats;
@@ -3413,7 +3528,7 @@
 HSPLcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;->setState(IIJ)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/processor/MultiStateStats$States;Lcom/android/server/power/stats/processor/MultiStateStats$States;]Lcom/android/server/power/stats/processor/MultiStateStats;Lcom/android/server/power/stats/processor/MultiStateStats;
 HSPLcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;->setUidState(IIIJ)V+]Lcom/android/server/power/stats/processor/PowerStatsProcessor;megamorphic_types
 HSPLcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;->setUidStats(I[I[J)V+]Lcom/android/server/power/stats/processor/MultiStateStats;Lcom/android/server/power/stats/processor/MultiStateStats;
-HPLcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/internal/os/PowerStats$Descriptor;Lcom/android/internal/os/PowerStats$Descriptor;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Lcom/android/server/power/stats/processor/MultiStateStats;Lcom/android/server/power/stats/processor/MultiStateStats;
+HSPLcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/internal/os/PowerStats$Descriptor;Lcom/android/internal/os/PowerStats$Descriptor;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Lcom/android/server/power/stats/processor/MultiStateStats;Lcom/android/server/power/stats/processor/MultiStateStats;
 HSPLcom/android/server/power/stats/processor/PowerStatsAggregator;->aggregatePowerStats(Lcom/android/internal/os/BatteryStatsHistory;JJLjava/util/function/Consumer;)V+]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Lcom/android/internal/os/BatteryStatsHistoryIterator;Lcom/android/internal/os/BatteryStatsHistoryIterator;]Lcom/android/server/power/stats/processor/AggregatedPowerStats;Lcom/android/server/power/stats/processor/AggregatedPowerStats;]Ljava/util/function/Consumer;Lcom/android/server/power/stats/processor/MultiStatePowerAttributor$$ExternalSyntheticLambda17;,Lcom/android/server/power/stats/processor/PowerStatsExporter$$ExternalSyntheticLambda0;
 HSPLcom/android/server/power/stats/processor/PowerStatsExporter$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/power/stats/processor/PowerStatsExporter;IILcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;[J[DLcom/android/server/power/stats/format/PowerStatsLayout;[JZLcom/android/server/power/stats/processor/PowerStatsExporter$BatteryLevelInfo;)V
 HSPLcom/android/server/power/stats/processor/PowerStatsExporter$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V
@@ -3428,10 +3543,14 @@
 HSPLcom/android/server/power/stats/processor/PowerStatsExporter;->populateBatteryUsageStatsBuilder(Landroid/os/BatteryUsageStats$Builder;Lcom/android/server/power/stats/processor/AggregatedPowerStats;)V+]Lcom/android/server/power/stats/processor/AggregatedPowerStats;Lcom/android/server/power/stats/processor/AggregatedPowerStats;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/power/stats/processor/PowerStatsExporter;->populateBatteryUsageStatsBuilder(Landroid/os/BatteryUsageStats$Builder;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;)V+]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;
 HSPLcom/android/server/power/stats/processor/PowerStatsExporter;->populateUidBatteryConsumers(Landroid/os/BatteryUsageStats$Builder;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/format/PowerStatsLayout;Ljava/util/List;Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;[JZII)V+]Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/power/stats/processor/PowerStatsProcessor$PowerEstimationPlan;-><init>(Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;)V
+HSPLcom/android/server/power/stats/processor/PowerStatsProcessor$PowerEstimationPlan;->addDeviceStateEstimations()V+]Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/power/stats/processor/PowerStatsProcessor$PowerEstimationPlan;->addUidStateEstimations()V+]Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;Lcom/android/server/power/stats/processor/AggregatedPowerStatsConfig$PowerComponent;]Lcom/android/server/power/stats/processor/MultiStateStats$States;Lcom/android/server/power/stats/processor/MultiStateStats$States;]Lcom/android/server/power/stats/processor/PowerStatsProcessor$PowerEstimationPlan;Lcom/android/server/power/stats/processor/PowerStatsProcessor$PowerEstimationPlan;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/power/stats/processor/PowerStatsProcessor$PowerEstimationPlan;->getCombinedDeviceStateEstimate([Lcom/android/server/power/stats/processor/MultiStateStats$States;[I)Lcom/android/server/power/stats/processor/PowerStatsProcessor$CombinedDeviceStateEstimate;+]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/power/stats/processor/PowerStatsProcessor$PowerEstimationPlan;->getUidStateEstimate(Lcom/android/server/power/stats/processor/PowerStatsProcessor$CombinedDeviceStateEstimate;)Lcom/android/server/power/stats/processor/PowerStatsProcessor$UidStateEstimate;+]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/power/stats/processor/PowerStatsProcessor$PowerEstimationPlan;->resetIntermediates()V+]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/power/stats/processor/PowerStatsProcessor;->concatLabels([Lcom/android/server/power/stats/processor/MultiStateStats$States;[I)Ljava/lang/String;+]Lcom/android/server/power/stats/processor/MultiStateStats$States;Lcom/android/server/power/stats/processor/MultiStateStats$States;
+HSPLcom/android/server/power/stats/processor/PowerStatsProcessor;->getAllTrackedStateCombinations([Lcom/android/server/power/stats/processor/MultiStateStats$States;)[[I
 HSPLcom/android/server/power/stats/processor/PowerStatsProcessor;->noteStateChange(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Landroid/os/BatteryStats$HistoryItem;)V
 HSPLcom/android/server/power/stats/processor/PowerStatsProcessor;->setUidState(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;IIIJ)V+]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;
 HSPLcom/android/server/power/stats/processor/ScreenPowerStatsProcessor;->combineDeviceStateEstimates()V+]Ljava/util/List;Ljava/util/ArrayList;
@@ -3443,6 +3562,7 @@
 HSPLcom/android/server/power/stats/processor/SensorPowerStatsProcessor;->computeUidPowerEstimates(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Ljava/util/List;)V+]Landroid/hardware/SensorManager;Landroid/hardware/SystemSensorManager;]Lcom/android/server/power/stats/format/PowerStatsLayout;Lcom/android/server/power/stats/format/SensorPowerStatsLayout;]Lcom/android/server/power/stats/format/SensorPowerStatsLayout;Lcom/android/server/power/stats/format/SensorPowerStatsLayout;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;]Ljava/util/List;Ljava/util/ArrayList;,Ljava/util/Collections$UnmodifiableRandomAccessList;
 HSPLcom/android/server/power/stats/processor/SensorPowerStatsProcessor;->finish(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;J)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;]Lcom/android/server/power/stats/processor/PowerStatsProcessor$PowerEstimationPlan;Lcom/android/server/power/stats/processor/PowerStatsProcessor$PowerEstimationPlan;]Lcom/android/server/power/stats/processor/SensorPowerStatsProcessor;Lcom/android/server/power/stats/processor/SensorPowerStatsProcessor;
 HSPLcom/android/server/power/stats/processor/SensorPowerStatsProcessor;->flushPowerStats(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;J)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;
+HSPLcom/android/server/power/stats/processor/SensorPowerStatsProcessor;->makeLabel(Landroid/hardware/Sensor;Ljava/util/List;)Ljava/lang/String;+]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;
 HSPLcom/android/server/power/stats/processor/SensorPowerStatsProcessor;->noteStateChange(Lcom/android/server/power/stats/processor/PowerComponentAggregatedPowerStats;Landroid/os/BatteryStats$HistoryItem;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/processor/SensorPowerStatsProcessor;Lcom/android/server/power/stats/processor/SensorPowerStatsProcessor;
 HSPLcom/android/server/power/stats/processor/SensorPowerStatsProcessor;->recordUsageDuration(Lcom/android/server/power/stats/processor/SensorPowerStatsProcessor$SensorState;J)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/format/SensorPowerStatsLayout;Lcom/android/server/power/stats/format/SensorPowerStatsLayout;
 HSPLcom/android/server/power/stats/processor/VideoPowerStatsProcessor;->getBinaryState(Landroid/os/BatteryStats$HistoryItem;)I
@@ -3457,7 +3577,6 @@
 HSPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->attemptAttributionWith(IJLandroid/util/SparseIntArray;)Z+]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;
 HPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->logWakeupAttribution(Lcom/android/server/power/stats/wakeups/CpuWakeupStats$Wakeup;)V+]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;
 HSPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->noteUidProcessState(II)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;
-HPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->noteWakeupTimeAndReason(JJLjava/lang/String;)V+]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;
 HSPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->noteWakingActivity(IJ[I)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;
 HSPLcom/android/server/powerstats/PowerStatsService$LocalService;->getEnergyConsumedAsync([I)Ljava/util/concurrent/CompletableFuture;
 HSPLcom/android/server/powerstats/PowerStatsService;->getHandler()Landroid/os/Handler;
@@ -3465,10 +3584,12 @@
 HSPLcom/android/server/selinux/RateLimiter;->tryAcquire()Z+]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1;
 HPLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->addPath(Ljava/util/List;)V+]Lcom/android/server/slice/DirtyTracker;Lcom/android/server/slice/SliceClientPermissions;]Ljava/util/List;Landroid/net/Uri$PathSegments;
 HPLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->isPathPrefixMatch([Ljava/lang/String;[Ljava/lang/String;)Z
+HPLcom/android/server/slice/SliceManagerService;->getProviderPkg(Landroid/net/Uri;I)Ljava/lang/String;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;
 HPLcom/android/server/slice/SlicePermissionManager$PkgUser;->equals(Ljava/lang/Object;)Z
 HPLcom/android/server/slice/SlicePermissionManager;->grantSliceAccess(Ljava/lang/String;ILjava/lang/String;ILandroid/net/Uri;)V+]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;]Lcom/android/server/slice/SliceClientPermissions;Lcom/android/server/slice/SliceClientPermissions;]Lcom/android/server/slice/SliceProviderPermissions$SliceAuthority;Lcom/android/server/slice/SliceProviderPermissions$SliceAuthority;]Lcom/android/server/slice/SliceProviderPermissions;Lcom/android/server/slice/SliceProviderPermissions;
 HSPLcom/android/server/smartspace/SmartspaceManagerService$SmartspaceManagerStub;->runForUserLocked(Ljava/lang/String;Landroid/app/smartspace/SmartspaceSessionId;Ljava/util/function/Consumer;)V+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/infra/ServiceNameResolver;Lcom/android/server/infra/FrameworkResourcesServiceNameResolver;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Ljava/util/function/Consumer;megamorphic_types
 HPLcom/android/server/soundtrigger/SoundTriggerService$MyAppOpsListener;->onOpChanged(Ljava/lang/String;Ljava/lang/String;)V+]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Ljava/util/function/Consumer;Lcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService$SessionImpl$$ExternalSyntheticLambda2;
+HSPLcom/android/server/stats/pull/AggregatedMobileDataStatsPuller$$ExternalSyntheticLambda1;->run()V
 HSPLcom/android/server/stats/pull/AggregatedMobileDataStatsPuller;->noteUidProcessState(IIJJ)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;
 HPLcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda18;->onUidCpuTime(ILjava/lang/Object;)V
 HPLcom/android/server/stats/pull/StatsPullAtomService$StatsPullAtomCallbackImpl;->onPullAtom(ILjava/util/List;)I+]Lcom/android/server/stats/pull/AggregatedMobileDataStatsPuller;Lcom/android/server/stats/pull/AggregatedMobileDataStatsPuller;]Lcom/android/server/stats/pull/StatsPullAtomService;Lcom/android/server/stats/pull/StatsPullAtomService;
@@ -3483,6 +3604,7 @@
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullKernelWakelockLocked(ILjava/util/List;)I+]Lcom/android/server/power/stats/KernelWakelockReader;Lcom/android/server/power/stats/KernelWakelockReader;]Ljava/util/HashMap;Lcom/android/server/power/stats/KernelWakelockStats;]Ljava/util/Iterator;Ljava/util/HashMap$EntryIterator;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Map$Entry;Ljava/util/HashMap$Node;]Ljava/util/Set;Ljava/util/HashMap$EntrySet;
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullModemActivityInfoLocked(ILjava/util/List;)I+]Landroid/telephony/TelephonyManager;Landroid/telephony/TelephonyManager;]Ljava/util/List;Ljava/util/ArrayList;
 HPLcom/android/server/stats/pull/StatsPullAtomService;->removeEmptyEntries(Landroid/net/NetworkStats;)Landroid/net/NetworkStats;+]Landroid/net/NetworkStats$Entry;Landroid/net/NetworkStats$Entry;
+HPLcom/android/server/stats/pull/StatsPullAtomService;->sampleAppOps(Ljava/util/List;Ljava/util/List;II)I+]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/stats/pull/StatsPullAtomService;->sliceNetworkStats(Landroid/net/NetworkStats;Ljava/util/function/Function;)Landroid/net/NetworkStats;+]Ljava/util/function/Function;Lcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda2;,Lcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda3;,Lcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda6;,Lcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda7;
 HSPLcom/android/server/stats/pull/netstats/NetworkStatsAccumulator;->snapshotPlusFollowingStats(JLcom/android/server/stats/pull/netstats/NetworkStatsAccumulator$StatsQueryFunction;)Landroid/net/NetworkStats;+]Lcom/android/server/stats/pull/netstats/NetworkStatsAccumulator$StatsQueryFunction;Lcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda5;
 HSPLcom/android/server/stats/pull/netstats/NetworkStatsExt;-><init>(Landroid/net/NetworkStats;[IZZZILcom/android/server/stats/pull/netstats/SubInfo;IZ)V
@@ -3490,7 +3612,8 @@
 HSPLcom/android/server/stats/pull/netstats/NetworkStatsUtils;->fromBucket(Landroid/app/usage/NetworkStats$Bucket;)Landroid/net/NetworkStats$Entry;+]Landroid/app/usage/NetworkStats$Bucket;Landroid/app/usage/NetworkStats$Bucket;
 HSPLcom/android/server/stats/pull/netstats/NetworkStatsUtils;->fromPublicNetworkStats(Landroid/app/usage/NetworkStats;)Landroid/net/NetworkStats;
 HPLcom/android/server/statusbar/StatusBarManagerService$1;->setTopAppHidesStatusBar(IZ)V+]Lcom/android/internal/statusbar/IStatusBar;Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;
-HSPLcom/android/server/storage/DeviceStorageMonitorService;->checkLow()V+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/os/storage/StorageManager;Landroid/os/storage/StorageManager;]Landroid/os/storage/VolumeInfo;Landroid/os/storage/VolumeInfo;]Ljava/io/File;Ljava/io/File;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
+HPLcom/android/server/storage/CacheQuotaStrategy;->getUnfulfilledRequests()Ljava/util/List;+]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/os/UserManager;Landroid/os/UserManager;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/storage/DeviceStorageMonitorService;->checkLow()V+]Landroid/os/storage/StorageManager;Landroid/os/storage/StorageManager;]Landroid/os/storage/VolumeInfo;Landroid/os/storage/VolumeInfo;]Ljava/io/File;Ljava/io/File;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/trust/TrustManagerService$3;->isDeviceLocked(II)Z+]Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/widget/LockPatternUtils;]Lcom/android/server/trust/TrustManagerService;Lcom/android/server/trust/TrustManagerService;
 HSPLcom/android/server/trust/TrustManagerService$3;->isDeviceSecure(II)Z+]Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/widget/LockPatternUtils;
 HSPLcom/android/server/trust/TrustManagerService;->refreshAgentList(I)V+]Landroid/app/ActivityManager;Landroid/app/ActivityManager;]Landroid/app/admin/DevicePolicyManager;Landroid/app/admin/DevicePolicyManager;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Landroid/os/UserManager;Landroid/os/UserManager;]Lcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;Lcom/android/server/trust/TrustManagerService$StrongAuthTracker;]Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/widget/LockPatternUtils;]Lcom/android/server/trust/TrustAgentWrapper;Lcom/android/server/trust/TrustAgentWrapper;]Lcom/android/server/trust/TrustManagerService$StrongAuthTracker;Lcom/android/server/trust/TrustManagerService$StrongAuthTracker;]Lcom/android/server/trust/TrustManagerService;Lcom/android/server/trust/TrustManagerService;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
@@ -3526,9 +3649,11 @@
 HPLcom/android/server/usage/AppStandbyController;->onUsageEvent(ILandroid/app/usage/UsageEvents$Event;)V+]Lcom/android/server/usage/AppStandbyController$Injector;Lcom/android/server/usage/AppStandbyController$Injector;]Ljava/util/List;Ljava/util/ArrayList;,Ljava/util/Collections$EmptyList;
 HPLcom/android/server/usage/AppStandbyController;->reportEventLocked(Ljava/lang/String;IJI)V+]Lcom/android/server/usage/AppIdleHistory;Lcom/android/server/usage/AppIdleHistory;
 HSPLcom/android/server/usage/AppStandbyController;->setLastJobRunTime(Ljava/lang/String;IJ)V+]Lcom/android/server/usage/AppIdleHistory;Lcom/android/server/usage/AppIdleHistory;
+HSPLcom/android/server/usage/BroadcastResponseStatsLogger$LogBuffer;->logNotificationEvent(ILjava/lang/String;Landroid/os/UserHandle;J)V+]Lcom/android/server/usage/BroadcastResponseStatsLogger$Data;Lcom/android/server/usage/BroadcastResponseStatsLogger$NotificationEvent;
 HPLcom/android/server/usage/IntervalStats;-><init>()V
 HPLcom/android/server/usage/IntervalStats;->deobfuscateEvents(Lcom/android/server/usage/PackagesTokenData;)Z+]Landroid/app/usage/EventList;Landroid/app/usage/EventList;
 HPLcom/android/server/usage/IntervalStats;->deobfuscateUsageStats(Lcom/android/server/usage/PackagesTokenData;)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;
+HPLcom/android/server/usage/IntervalStats;->getOrCreateConfigurationStats(Landroid/content/res/Configuration;)Landroid/app/usage/ConfigurationStats;
 HPLcom/android/server/usage/IntervalStats;->getOrCreateUsageStats(Ljava/lang/String;)Landroid/app/usage/UsageStats;
 HPLcom/android/server/usage/IntervalStats;->obfuscateEventsData(Lcom/android/server/usage/PackagesTokenData;)V+]Landroid/app/usage/EventList;Landroid/app/usage/EventList;
 HPLcom/android/server/usage/IntervalStats;->obfuscateUsageStatsData(Lcom/android/server/usage/PackagesTokenData;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;
@@ -3551,7 +3676,9 @@
 HPLcom/android/server/usage/UsageStatsProtoV2;->parseUsageStats(Landroid/util/proto/ProtoInputStream;J)Landroid/app/usage/UsageStats;
 HPLcom/android/server/usage/UsageStatsProtoV2;->read(Ljava/io/InputStream;Lcom/android/server/usage/IntervalStats;Z)V+]Landroid/app/usage/EventList;Landroid/app/usage/EventList;]Landroid/util/SparseArray;Landroid/util/SparseArray;
 HPLcom/android/server/usage/UsageStatsProtoV2;->write(Ljava/io/OutputStream;Lcom/android/server/usage/IntervalStats;)V+]Landroid/app/usage/EventList;Landroid/app/usage/EventList;]Landroid/util/SparseArray;Landroid/util/SparseArray;
+HPLcom/android/server/usage/UsageStatsProtoV2;->writeObfuscatedData(Ljava/io/OutputStream;Lcom/android/server/usage/PackagesTokenData;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HPLcom/android/server/usage/UsageStatsProtoV2;->writeOffsetTimestamp(Landroid/util/proto/ProtoOutputStream;JJJ)V
+HSPLcom/android/server/usage/UsageStatsService$$ExternalSyntheticLambda0;->handleMessage(Landroid/os/Message;)Z
 HSPLcom/android/server/usage/UsageStatsService$3;->onUidStateChanged(IIJI)V
 HPLcom/android/server/usage/UsageStatsService$BinderService;->getAppStandbyBucket(Ljava/lang/String;Ljava/lang/String;I)I+]Landroid/app/IActivityManager;Lcom/android/server/am/ActivityManagerService;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/usage/AppStandbyInternal;Lcom/android/server/usage/AppStandbyController;
 HPLcom/android/server/usage/UsageStatsService$BinderService;->hasQueryPermission(Ljava/lang/String;)Z+]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Landroid/content/Context;Landroid/app/ContextImpl;
@@ -3566,7 +3693,8 @@
 HSPLcom/android/server/usage/UsageStatsService;->reportEventOrAddToQueue(ILandroid/app/usage/UsageEvents$Event;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Ljava/util/LinkedList;Ljava/util/LinkedList;]Ljava/util/concurrent/CopyOnWriteArraySet;Ljava/util/concurrent/CopyOnWriteArraySet;
 HPLcom/android/server/usage/UserUsageStatsService$1;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)Z+]Ljava/util/List;Ljava/util/ArrayList;
 HPLcom/android/server/usage/UserUsageStatsService$4;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)Z+]Landroid/app/usage/EventList;Landroid/app/usage/EventList;]Ljava/util/List;Ljava/util/ArrayList;
-HPLcom/android/server/usage/UserUsageStatsService;->queryEvents(JJI[ILandroid/util/ArraySet;)Landroid/app/usage/UsageEvents;+]Ljava/util/List;Ljava/util/ArrayList;
+HPLcom/android/server/usage/UserUsageStatsService;->checkAndGetTimeLocked()J
+HPLcom/android/server/usage/UserUsageStatsService;->queryStats(IJJLcom/android/server/usage/UsageStatsDatabase$StatCombiner;Z)Ljava/util/List;+]Lcom/android/server/usage/UsageStatsDatabase$StatCombiner;megamorphic_types]Lcom/android/server/usage/UsageStatsDatabase;Lcom/android/server/usage/UsageStatsDatabase;
 HPLcom/android/server/usage/UserUsageStatsService;->reportEvent(Landroid/app/usage/UsageEvents$Event;)V+]Lcom/android/server/usage/IntervalStats;Lcom/android/server/usage/IntervalStats;]Lcom/android/server/usage/UnixCalendar;Lcom/android/server/usage/UnixCalendar;
 HSPLcom/android/server/utils/AlarmQueue$AlarmPriorityQueue$$ExternalSyntheticLambda0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLcom/android/server/utils/AlarmQueue$AlarmPriorityQueue;->$r8$lambda$a9G3NCnbGSjGaU6KBkUKenfyhOo(Landroid/util/Pair;Landroid/util/Pair;)I
@@ -3593,6 +3721,7 @@
 HSPLcom/android/server/utils/WatchableImpl;->seal()V
 HSPLcom/android/server/utils/WatchedArrayList$1;->onChange(Lcom/android/server/utils/Watchable;)V+]Lcom/android/server/utils/WatchableImpl;Lcom/android/server/utils/WatchedArrayList;
 HSPLcom/android/server/utils/WatchedArrayList;->get(I)Ljava/lang/Object;+]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/utils/WatchedArrayList;->size()I+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/utils/WatchedArrayList;->snapshot(Lcom/android/server/utils/WatchedArrayList;Lcom/android/server/utils/WatchedArrayList;)V+]Lcom/android/server/utils/WatchableImpl;Lcom/android/server/utils/WatchedArrayList;]Lcom/android/server/utils/WatchedArrayList;Lcom/android/server/utils/WatchedArrayList;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/utils/WatchedArrayMap$1;->onChange(Lcom/android/server/utils/Watchable;)V+]Lcom/android/server/utils/WatchableImpl;Lcom/android/server/utils/WatchedArrayMap;
 HSPLcom/android/server/utils/WatchedArrayMap;-><init>(IZ)V
@@ -3602,7 +3731,7 @@
 HSPLcom/android/server/utils/WatchedArrayMap;->keyAt(I)Ljava/lang/Object;
 HSPLcom/android/server/utils/WatchedArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/server/utils/WatchedArrayMap;->putAll(Ljava/util/Map;)V+]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1;]Ljava/util/Map$Entry;Landroid/util/MapCollections$MapIterator;]Ljava/util/Map;Lcom/android/server/utils/WatchedArrayMap;]Ljava/util/Set;Ljava/util/Collections$UnmodifiableSet;
-HSPLcom/android/server/utils/WatchedArrayMap;->registerChild(Ljava/lang/Object;)V+]Lcom/android/server/utils/Watchable;Lcom/android/server/pm/PackageSetting;,Lcom/android/server/pm/SharedUserSetting;,Lcom/android/server/utils/WatchedLongSparseArray;
+HSPLcom/android/server/utils/WatchedArrayMap;->registerChild(Ljava/lang/Object;)V+]Lcom/android/server/utils/Watchable;Lcom/android/server/pm/PackageSetting;,Lcom/android/server/storage/WatchedVolumeInfo;,Lcom/android/server/utils/WatchedLongSparseArray;
 HSPLcom/android/server/utils/WatchedArrayMap;->size()I
 HSPLcom/android/server/utils/WatchedArrayMap;->snapshot(Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;)V+]Lcom/android/server/utils/WatchableImpl;Lcom/android/server/utils/WatchedArrayMap;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;
 HSPLcom/android/server/utils/WatchedArrayMap;->untrackedStorage()Landroid/util/ArrayMap;
@@ -3613,6 +3742,7 @@
 HSPLcom/android/server/utils/WatchedArraySet;->contains(Ljava/lang/Object;)Z
 HSPLcom/android/server/utils/WatchedArraySet;->registerChild(Ljava/lang/Object;)V+]Lcom/android/server/utils/Watchable;Lcom/android/server/pm/PackageSetting;
 HSPLcom/android/server/utils/WatchedArraySet;->registerObserver(Lcom/android/server/utils/Watcher;)V
+HSPLcom/android/server/utils/WatchedArraySet;->size()I
 HSPLcom/android/server/utils/WatchedArraySet;->snapshot(Lcom/android/server/utils/WatchedArraySet;Lcom/android/server/utils/WatchedArraySet;)V+]Lcom/android/server/utils/WatchableImpl;Lcom/android/server/utils/WatchedArraySet;]Lcom/android/server/utils/WatchedArraySet;Lcom/android/server/utils/WatchedArraySet;
 HSPLcom/android/server/utils/WatchedArraySet;->untrackedStorage()Landroid/util/ArraySet;
 HSPLcom/android/server/utils/WatchedArraySet;->valueAt(I)Ljava/lang/Object;
@@ -3637,7 +3767,7 @@
 HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->valueAtInternal(II)Z
 HSPLcom/android/server/utils/WatchedSparseSetArray;-><init>(Lcom/android/server/utils/WatchedSparseSetArray;)V+]Lcom/android/server/utils/WatchedSparseSetArray;Lcom/android/server/utils/WatchedSparseSetArray;
 HSPLcom/android/server/utils/WatchedSparseSetArray;->add(ILjava/lang/Object;)Z+]Landroid/util/SparseSetArray;Landroid/util/SparseSetArray;
-HPLcom/android/server/utils/WatchedSparseSetArray;->contains(ILjava/lang/Object;)Z+]Landroid/util/SparseSetArray;Landroid/util/SparseSetArray;
+HSPLcom/android/server/utils/WatchedSparseSetArray;->contains(ILjava/lang/Object;)Z+]Landroid/util/SparseSetArray;Landroid/util/SparseSetArray;
 HSPLcom/android/server/utils/quota/Category;->equals(Ljava/lang/Object;)Z
 HSPLcom/android/server/utils/quota/Category;->hashCode()I
 HSPLcom/android/server/utils/quota/CountQuotaTracker;->getExecutionStatsLocked(ILjava/lang/String;Ljava/lang/String;)Lcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;
@@ -3655,7 +3785,7 @@
 HPLcom/android/server/vibrator/VibrationStats$StatsInfo;-><init>(IIILcom/android/server/vibrator/VibrationSession$Status;Lcom/android/server/vibrator/VibrationStats;)V
 HPLcom/android/server/webkit/WebViewUpdateService$BinderService;->grantVisibilityToCaller(Ljava/lang/String;I)V+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;
 HSPLcom/android/server/wm/AccessibilityController;->hasCallbacks()Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;
-HSPLcom/android/server/wm/ActivityRecord;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/WindowProcessController;IILjava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;IZZLcom/android/server/wm/ActivityTaskSupervisor;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;Landroid/os/PersistableBundle;Landroid/app/ActivityManager$TaskDescription;J)V
+HSPLcom/android/server/wm/ActivityRecord;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/WindowProcessController;IILjava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;IZZLcom/android/server/wm/ActivityTaskSupervisor;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;Landroid/os/PersistableBundle;Landroid/app/ActivityManager$TaskDescription;J)V+]Landroid/app/ActivityOptions$SceneTransitionInfo;Landroid/app/ActivityOptions$SceneTransitionInfo;]Landroid/app/ActivityOptions;Landroid/app/ActivityOptions;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/ActivityInfo;Landroid/content/pm/ActivityInfo;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Lcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;Lcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Lcom/android/server/wm/PackageConfigPersister;Lcom/android/server/wm/PackageConfigPersister;
 HSPLcom/android/server/wm/ActivityRecord;->canAffectSystemUiFlags()Z+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;
 HSPLcom/android/server/wm/ActivityRecord;->canBeTopRunning()Z
 HSPLcom/android/server/wm/ActivityRecord;->canReceiveKeys()Z+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;
@@ -3664,6 +3794,7 @@
 HSPLcom/android/server/wm/ActivityRecord;->containsShowWhenLockedWindow()Z+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/ActivityRecord;->containsTurnScreenOnWindow()Z+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/ActivityRecord;->findMainWindow(Z)Lcom/android/server/wm/WindowState;+]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/wm/ActivityRecord;->forAllActivities(Ljava/util/function/Predicate;Z)Z+]Ljava/util/function/Predicate;megamorphic_types
 HSPLcom/android/server/wm/ActivityRecord;->getActivity(Ljava/util/function/Predicate;ZLcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;+]Ljava/util/function/Predicate;megamorphic_types
 HSPLcom/android/server/wm/ActivityRecord;->getAppCompatState(Z)I+]Lcom/android/server/wm/AppCompatAspectRatioPolicy;Lcom/android/server/wm/AppCompatAspectRatioPolicy;]Lcom/android/server/wm/AppCompatController;Lcom/android/server/wm/AppCompatController;]Lcom/android/server/wm/AppCompatSizeCompatModePolicy;Lcom/android/server/wm/AppCompatSizeCompatModePolicy;]Lcom/android/server/wm/TransparentPolicy;Lcom/android/server/wm/TransparentPolicy;
 HSPLcom/android/server/wm/ActivityRecord;->getBounds()Landroid/graphics/Rect;+]Lcom/android/server/wm/AppCompatController;Lcom/android/server/wm/AppCompatController;]Lcom/android/server/wm/TransparentPolicy;Lcom/android/server/wm/TransparentPolicy;
@@ -3672,6 +3803,7 @@
 HSPLcom/android/server/wm/ActivityRecord;->getTask()Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/ActivityRecord;->getTaskFragment()Lcom/android/server/wm/TaskFragment;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;
 HSPLcom/android/server/wm/ActivityRecord;->hasSizeCompatBounds()Z+]Lcom/android/server/wm/AppCompatController;Lcom/android/server/wm/AppCompatController;]Lcom/android/server/wm/AppCompatSizeCompatModePolicy;Lcom/android/server/wm/AppCompatSizeCompatModePolicy;
+HSPLcom/android/server/wm/ActivityRecord;->isFocusable()Z
 HPLcom/android/server/wm/ActivityRecord;->isFullyTransparentBarAllowed(Landroid/graphics/Rect;)Z+]Lcom/android/server/wm/AppCompatController;Lcom/android/server/wm/AppCompatController;]Lcom/android/server/wm/AppCompatLetterboxPolicy;Lcom/android/server/wm/AppCompatLetterboxPolicy;
 HSPLcom/android/server/wm/ActivityRecord;->isVisible()Z
 HSPLcom/android/server/wm/ActivityRecord;->isWaitingForTransitionStart()Z+]Lcom/android/server/wm/AppTransition;Lcom/android/server/wm/AppTransition;
@@ -3679,7 +3811,7 @@
 HSPLcom/android/server/wm/ActivityRecord;->prepareSurfaces()V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/ActivityRecordInputSink;Lcom/android/server/wm/ActivityRecordInputSink;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/ActivityRecord;->setState(Lcom/android/server/wm/ActivityRecord$State;Ljava/lang/String;)V+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/UnknownAppVisibilityController;Lcom/android/server/wm/UnknownAppVisibilityController;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
 HSPLcom/android/server/wm/ActivityRecord;->setVisibility(ZZ)V+]Lcom/android/server/wm/AppTransition;Lcom/android/server/wm/AppTransition;]Lcom/android/server/wm/BackNavigationController;Lcom/android/server/wm/BackNavigationController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Ljava/util/ArrayList;Ljava/util/ArrayList;
-HSPLcom/android/server/wm/ActivityRecord;->shouldBeVisibleUnchecked()Z+]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/KeyguardController;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;
+HSPLcom/android/server/wm/ActivityRecord;->shouldBeVisibleUnchecked()Z+]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/KeyguardController;]Lcom/android/server/wm/PresentationController;Lcom/android/server/wm/PresentationController;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/ActivityRecord;->shouldMakeActive(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/ActivityRecord;->showToCurrentUser()Z+]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;
 HSPLcom/android/server/wm/ActivityRecord;->toString()Ljava/lang/String;+]Landroid/content/Intent;Landroid/content/Intent;
@@ -3689,36 +3821,41 @@
 HSPLcom/android/server/wm/ActivityRecordInputSink;->applyChangesToSurfaceIfChanged(Landroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/InputWindowHandleWrapper;Lcom/android/server/wm/InputWindowHandleWrapper;
 HSPLcom/android/server/wm/ActivityRecordInputSink;->getInputWindowHandleWrapper()Lcom/android/server/wm/InputWindowHandleWrapper;+]Lcom/android/server/wm/InputWindowHandleWrapper;Lcom/android/server/wm/InputWindowHandleWrapper;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/ActivityStarter$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
+HSPLcom/android/server/wm/ActivityStarter;->executeRequest(Lcom/android/server/wm/ActivityStarter$Request;)I+]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/firewall/IntentFirewall;Lcom/android/server/firewall/IntentFirewall;]Lcom/android/server/policy/PermissionPolicyInternal;Lcom/android/server/policy/PermissionPolicyService$Internal;]Lcom/android/server/wm/ActivityStartController;Lcom/android/server/wm/ActivityStartController;]Lcom/android/server/wm/ActivityStartInterceptor;Lcom/android/server/wm/ActivityStartInterceptor;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;]Lcom/android/server/wm/BackgroundActivityStartController;Lcom/android/server/wm/BackgroundActivityStartController;]Lcom/android/server/wm/PendingRemoteAnimationRegistry;Lcom/android/server/wm/PendingRemoteAnimationRegistry;]Lcom/android/server/wm/SafeActivityOptions;Lcom/android/server/wm/SafeActivityOptions;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
 HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->attachApplication(Lcom/android/server/wm/WindowProcessController;)Z+]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;
+HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getTaskToShowPermissionDialogOn(Ljava/lang/String;I)I+]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;
 HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getTopApp()Lcom/android/server/wm/WindowProcessController;
 HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getTopProcessState()I
 HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isCallerRecents(I)Z+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;
 HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isSleeping()Z
-HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isUidForeground(I)Z+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;
+HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isUidForeground(I)Z+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;
 HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessAdded(Lcom/android/server/wm/WindowProcessController;)V+]Lcom/android/internal/app/ProcessMap;Lcom/android/internal/app/ProcessMap;]Lcom/android/server/wm/PackageConfigPersister;Lcom/android/server/wm/PackageConfigPersister;
 HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessRemoved(Ljava/lang/String;I)V+]Lcom/android/internal/app/ProcessMap;Lcom/android/internal/app/ProcessMap;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidProcStateChanged(II)V+]Lcom/android/server/wm/MirrorActiveUids;Lcom/android/server/wm/MirrorActiveUids;
 HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->preBindApplication(Lcom/android/server/wm/WindowProcessController;Landroid/content/pm/ApplicationInfo;)Lcom/android/server/wm/ActivityTaskManagerInternal$PreBindInfo;+]Lcom/android/server/wm/ActivityMetricsLogger;Lcom/android/server/wm/ActivityMetricsLogger;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/ActivityTaskManagerService;->continueWindowLayout()V+]Lcom/android/server/wm/ClientLifecycleManager;Lcom/android/server/wm/ClientLifecycleManager;]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;
 HSPLcom/android/server/wm/ActivityTaskManagerService;->deferWindowLayout()V+]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;
-HPLcom/android/server/wm/ActivityTaskManagerService;->getLastStopAppSwitchesTime()J
+HSPLcom/android/server/wm/ActivityTaskManagerService;->getLastStopAppSwitchesTime()J
 HSPLcom/android/server/wm/ActivityTaskManagerService;->getLifecycleManager()Lcom/android/server/wm/ClientLifecycleManager;
 HSPLcom/android/server/wm/ActivityTaskManagerService;->getTasks(IZZI)Ljava/util/List;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;
-HPLcom/android/server/wm/ActivityTaskManagerService;->hasActiveVisibleWindow(I)Z+]Lcom/android/server/wm/MirrorActiveUids;Lcom/android/server/wm/MirrorActiveUids;]Lcom/android/server/wm/VisibleActivityProcessTracker;Lcom/android/server/wm/VisibleActivityProcessTracker;
+HSPLcom/android/server/wm/ActivityTaskManagerService;->hasActiveVisibleWindow(I)Z+]Lcom/android/server/wm/MirrorActiveUids;Lcom/android/server/wm/MirrorActiveUids;]Lcom/android/server/wm/VisibleActivityProcessTracker;Lcom/android/server/wm/VisibleActivityProcessTracker;
 HSPLcom/android/server/wm/ActivityTaskManagerService;->isCallerRecents(I)Z+]Lcom/android/server/wm/RecentTasks;Lcom/android/server/wm/RecentTasks;
 HSPLcom/android/server/wm/ActivityTaskManagerService;->isGetTasksAllowed(Ljava/lang/String;II)Z+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;
-HSPLcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;->getVisibleOpaqueActivity(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;Z)Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;
-HSPLcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;->test(Lcom/android/server/wm/ActivityRecord;)Z
 HSPLcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;->accept(Lcom/android/server/wm/ActivityRecord;)V+]Landroid/app/TaskInfo;Landroid/app/ActivityManager$RecentTaskInfo;,Landroid/app/ActivityManager$RunningTaskInfo;,Landroid/app/ActivityTaskManager$RootTaskInfo;
+HSPLcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;->accept(Ljava/lang/Object;)V+]Lcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;Lcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;
 HSPLcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;->fillAndReturnTop(Lcom/android/server/wm/Task;Landroid/app/TaskInfo;)Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;
+HSPLcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;->setCapturedLink(Lcom/android/server/wm/ActivityRecord;)V+]Landroid/content/Intent;Landroid/content/Intent;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri;
 HSPLcom/android/server/wm/ActivityTaskSupervisor;->beginActivityVisibilityUpdate()V+]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/KeyguardController;
+HSPLcom/android/server/wm/ActivityTaskSupervisor;->endActivityVisibilityUpdate()V+]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;
 HSPLcom/android/server/wm/ActivityTaskSupervisor;->getKeyguardController()Lcom/android/server/wm/KeyguardController;
 HSPLcom/android/server/wm/AppCompatAspectRatioOverrides$$ExternalSyntheticLambda0;->getAsBoolean()Z
 HSPLcom/android/server/wm/AppCompatAspectRatioOverrides$$ExternalSyntheticLambda1;->getAsBoolean()Z
 HSPLcom/android/server/wm/AppCompatAspectRatioOverrides$UserAspectRatioState;->getUserAspectRatio(Lcom/android/server/wm/ActivityRecord;)I+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;
+HSPLcom/android/server/wm/AppCompatAspectRatioOverrides;->getAllowUserAspectRatioOverridePropertyValue()Z+]Lcom/android/server/wm/utils/OptPropFactory$OptProp;Lcom/android/server/wm/utils/OptPropFactory$OptProp;
 HSPLcom/android/server/wm/AppCompatAspectRatioOverrides;->getUserMinAspectRatioOverrideCode()I
 HSPLcom/android/server/wm/AppCompatAspectRatioOverrides;->isSystemOverrideToFullscreenEnabled()Z+]Lcom/android/server/wm/AppCompatAspectRatioOverrides;Lcom/android/server/wm/AppCompatAspectRatioOverrides;]Lcom/android/server/wm/utils/OptPropFactory$OptProp;Lcom/android/server/wm/utils/OptPropFactory$OptProp;
 HSPLcom/android/server/wm/AppCompatAspectRatioOverrides;->isUserFullscreenOverrideEnabled()Z+]Lcom/android/server/wm/utils/OptPropFactory$OptProp;Lcom/android/server/wm/utils/OptPropFactory$OptProp;
+HSPLcom/android/server/wm/AppCompatAspectRatioOverrides;->shouldApplyUserFullscreenOverride()Z+]Lcom/android/server/wm/AppCompatAspectRatioOverrides;Lcom/android/server/wm/AppCompatAspectRatioOverrides;
 HSPLcom/android/server/wm/AppCompatAspectRatioOverrides;->shouldEnableUserAspectRatioSettings()Z+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/utils/OptPropFactory$OptProp;Lcom/android/server/wm/utils/OptPropFactory$OptProp;
 HSPLcom/android/server/wm/AppCompatAspectRatioOverrides;->shouldOverrideMinAspectRatio()Z+]Lcom/android/server/wm/utils/OptPropFactory$OptProp;Lcom/android/server/wm/utils/OptPropFactory$OptProp;
 HSPLcom/android/server/wm/AppCompatAspectRatioPolicy$AppCompatAspectRatioState;->isLetterboxedForAspectRatioOnly()Z
@@ -3730,21 +3867,22 @@
 HSPLcom/android/server/wm/AppCompatConfiguration;->getDefaultLetterboxBackgroundType()I
 HSPLcom/android/server/wm/AppCompatConfiguration;->isUserAppAspectRatioFullscreenEnabled()Z
 HSPLcom/android/server/wm/AppCompatConfiguration;->isUserAppAspectRatioSettingsEnabled()Z
+HSPLcom/android/server/wm/AppCompatController;->getSizeCompatModePolicy()Lcom/android/server/wm/AppCompatSizeCompatModePolicy;
 HSPLcom/android/server/wm/AppCompatController;->getTransparentPolicy()Lcom/android/server/wm/TransparentPolicy;
 HSPLcom/android/server/wm/AppCompatLetterboxOverrides;->getLetterboxBackgroundType()I
+HSPLcom/android/server/wm/AppCompatLetterboxOverrides;->isLetterboxEducationEnabled()Z
 HSPLcom/android/server/wm/AppCompatLetterboxPolicy$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/wm/AppCompatLetterboxPolicy$LegacyLetterboxPolicyState;->isRunning()Z
 HSPLcom/android/server/wm/AppCompatLetterboxPolicy$LegacyLetterboxPolicyState;->updateLetterboxSurfaceIfNeeded(Lcom/android/server/wm/WindowState;Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/AppCompatLetterboxPolicy$LegacyLetterboxPolicyState;Lcom/android/server/wm/AppCompatLetterboxPolicy$LegacyLetterboxPolicyState;]Lcom/android/server/wm/AppCompatLetterboxPolicy;Lcom/android/server/wm/AppCompatLetterboxPolicy;]Lcom/android/server/wm/Letterbox;Lcom/android/server/wm/Letterbox;
 HSPLcom/android/server/wm/AppCompatLetterboxPolicy;->getLetterboxDetails()Lcom/android/internal/statusbar/LetterboxDetails;+]Lcom/android/server/wm/AppCompatLetterboxPolicy;Lcom/android/server/wm/AppCompatLetterboxPolicy;]Lcom/android/server/wm/AppCompatLetterboxPolicyState;Lcom/android/server/wm/AppCompatLetterboxPolicy$LegacyLetterboxPolicyState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/AppCompatLetterboxPolicy;->isFullyTransparentBarAllowed(Landroid/graphics/Rect;)Z+]Lcom/android/server/wm/AppCompatLetterboxPolicyState;Lcom/android/server/wm/AppCompatLetterboxPolicy$LegacyLetterboxPolicyState;
-HSPLcom/android/server/wm/AppCompatLetterboxPolicy;->shouldNotLayoutLetterbox(Lcom/android/server/wm/WindowState;)Z
+HSPLcom/android/server/wm/AppCompatLetterboxPolicy;->shouldNotLayoutLetterbox(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/AppCompatLetterboxPolicy;->shouldShowLetterboxUi(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/AppCompatController;Lcom/android/server/wm/AppCompatController;]Lcom/android/server/wm/AppCompatOrientationOverrides;Lcom/android/server/wm/AppCompatOrientationOverrides;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/AppCompatLetterboxPolicy;->start(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/AppCompatLetterboxPolicy;Lcom/android/server/wm/AppCompatLetterboxPolicy;]Lcom/android/server/wm/AppCompatLetterboxPolicyState;Lcom/android/server/wm/AppCompatLetterboxPolicy$LegacyLetterboxPolicyState;]Lcom/android/server/wm/AppCompatRoundedCorners;Lcom/android/server/wm/AppCompatRoundedCorners;
 HSPLcom/android/server/wm/AppCompatLetterboxPolicy;->updateLetterboxSurfaceIfNeeded(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/AppCompatLetterboxPolicyState;Lcom/android/server/wm/AppCompatLetterboxPolicy$LegacyLetterboxPolicyState;
 HSPLcom/android/server/wm/AppCompatLetterboxPolicy;->updateWallpaperForLetterbox(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/AppCompatController;Lcom/android/server/wm/AppCompatController;]Lcom/android/server/wm/AppCompatLetterboxOverrides;Lcom/android/server/wm/AppCompatLetterboxOverrides;
 HSPLcom/android/server/wm/AppCompatOrientationOverrides;->getIsRelaunchingAfterRequestedOrientationChanged()Z
-HSPLcom/android/server/wm/AppCompatOrientationPolicy;->overrideOrientationIfNeeded(I)I+]Lcom/android/server/wm/AppCompatAspectRatioOverrides;Lcom/android/server/wm/AppCompatAspectRatioOverrides;]Lcom/android/server/wm/AppCompatCameraOverrides;Lcom/android/server/wm/AppCompatCameraOverrides;]Lcom/android/server/wm/AppCompatOrientationOverrides;Lcom/android/server/wm/AppCompatOrientationOverrides;]Lcom/android/server/wm/AppCompatOverrides;Lcom/android/server/wm/AppCompatOverrides;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;
+HSPLcom/android/server/wm/AppCompatOrientationPolicy;->overrideOrientationIfNeeded(I)I+]Lcom/android/server/wm/AppCompatAspectRatioOverrides;Lcom/android/server/wm/AppCompatAspectRatioOverrides;]Lcom/android/server/wm/AppCompatCameraOverrides;Lcom/android/server/wm/AppCompatCameraOverrides;]Lcom/android/server/wm/AppCompatOrientationOverrides;Lcom/android/server/wm/AppCompatOrientationOverrides;]Lcom/android/server/wm/AppCompatOverrides;Lcom/android/server/wm/AppCompatOverrides;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;
 HSPLcom/android/server/wm/AppCompatReachabilityOverrides$ReachabilityState;->isFromDoubleTap()Z
+HSPLcom/android/server/wm/AppCompatReachabilityOverrides;->isFromDoubleTap()Z+]Lcom/android/server/wm/AppCompatReachabilityOverrides$ReachabilityState;Lcom/android/server/wm/AppCompatReachabilityOverrides$ReachabilityState;
 HSPLcom/android/server/wm/AppCompatRoundedCorners;->requiresRoundedCorners(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/AppCompatController;Lcom/android/server/wm/AppCompatController;]Lcom/android/server/wm/AppCompatLetterboxOverrides;Lcom/android/server/wm/AppCompatLetterboxOverrides;]Ljava/util/function/Predicate;Lcom/android/server/wm/AppCompatLetterboxPolicy$$ExternalSyntheticLambda0;
 HSPLcom/android/server/wm/AppCompatRoundedCorners;->updateRoundedCornersIfNeeded(Lcom/android/server/wm/WindowState;)V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/AppCompatRoundedCorners;Lcom/android/server/wm/AppCompatRoundedCorners;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/AppCompatSizeCompatModePolicy;->getAppCompatDisplayInsets()Lcom/android/server/wm/AppCompatDisplayInsets;+]Lcom/android/server/wm/AppCompatController;Lcom/android/server/wm/AppCompatController;]Lcom/android/server/wm/TransparentPolicy;Lcom/android/server/wm/TransparentPolicy;
@@ -3755,22 +3893,22 @@
 HSPLcom/android/server/wm/AppCompatUtils;->fillAppCompatTaskInfo(Lcom/android/server/wm/Task;Landroid/app/TaskInfo;Lcom/android/server/wm/ActivityRecord;)V+]Landroid/app/AppCompatTaskInfo;Landroid/app/AppCompatTaskInfo;]Lcom/android/server/wm/AppCompatAspectRatioOverrides;Lcom/android/server/wm/AppCompatAspectRatioOverrides;]Lcom/android/server/wm/AppCompatController;Lcom/android/server/wm/AppCompatController;]Lcom/android/server/wm/AppCompatLetterboxOverrides;Lcom/android/server/wm/AppCompatLetterboxOverrides;]Lcom/android/server/wm/AppCompatLetterboxPolicy;Lcom/android/server/wm/AppCompatLetterboxPolicy;]Lcom/android/server/wm/AppCompatReachabilityOverrides;Lcom/android/server/wm/AppCompatReachabilityOverrides;]Lcom/android/server/wm/DesktopAppCompatAspectRatioPolicy;Lcom/android/server/wm/DesktopAppCompatAspectRatioPolicy;
 HSPLcom/android/server/wm/AppCompatUtils;->getAppBounds(Lcom/android/server/wm/ActivityRecord;)Landroid/graphics/Rect;+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/AppCompatController;Lcom/android/server/wm/AppCompatController;]Lcom/android/server/wm/TransparentPolicy;Lcom/android/server/wm/TransparentPolicy;
 HSPLcom/android/server/wm/AppCompatUtils;->isChangeEnabled(Lcom/android/server/wm/ActivityRecord;J)Z+]Landroid/content/pm/ActivityInfo;Landroid/content/pm/ActivityInfo;
-HSPLcom/android/server/wm/AppTransition;->isRunning()Z
 HSPLcom/android/server/wm/AppTransition;->isTransitionSet()Z+]Ljava/util/ArrayList;Ljava/util/ArrayList;
-HSPLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->finishNow()V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/BLASTSyncEngine$TransactionReadyListener;Lcom/android/server/wm/Transition;,Lcom/android/server/wm/WindowOrganizerController;]Lcom/android/server/wm/WindowAnimator;Lcom/android/server/wm/WindowAnimator;]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/lang/Runnable;Lcom/android/server/wm/TransitionController$$ExternalSyntheticLambda3;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/function/Supplier;Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda24;
+HSPLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->finishNow()V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/BLASTSyncEngine$TransactionReadyListener;Lcom/android/server/wm/Transition;,Lcom/android/server/wm/WindowOrganizerController;]Lcom/android/server/wm/WindowAnimator;Lcom/android/server/wm/WindowAnimator;]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/lang/Runnable;Lcom/android/server/wm/TransitionController$$ExternalSyntheticLambda3;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/function/Supplier;Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda24;,Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda26;
 HSPLcom/android/server/wm/BLASTSyncEngine;->getSyncSet(I)Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/BLASTSyncEngine;->onSurfacePlacement()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/BackNavigationController;->shouldPauseTouch(Lcom/android/server/wm/WindowContainer;)Z+]Lcom/android/server/wm/BackNavigationController$AnimationHandler;Lcom/android/server/wm/BackNavigationController$AnimationHandler;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;
 HSPLcom/android/server/wm/BackgroundLaunchProcessController;->addBoundClientUid(ILjava/lang/String;J)V+]Landroid/util/IntArray;Landroid/util/IntArray;
-HPLcom/android/server/wm/BackgroundLaunchProcessController;->areBackgroundActivityStartsAllowed(IILjava/lang/String;ILcom/android/server/wm/BackgroundLaunchProcessController$BalCheckConfiguration;ZZJJJ)Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;
+HSPLcom/android/server/wm/BackgroundLaunchProcessController;->areBackgroundActivityStartsAllowed(IILjava/lang/String;ILcom/android/server/wm/BackgroundLaunchProcessController$BalCheckConfiguration;ZZJJJ)Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;
 HSPLcom/android/server/wm/BackgroundLaunchProcessController;->clearBalOptInBoundClientUids()V+]Landroid/util/IntArray;Landroid/util/IntArray;
-HPLcom/android/server/wm/BackgroundLaunchProcessController;->isBackgroundStartAllowedByToken(ILjava/lang/String;Z)Z+]Landroid/app/BackgroundStartPrivileges;Landroid/app/BackgroundStartPrivileges;]Lcom/android/server/wm/BackgroundActivityStartCallback;Lcom/android/server/notification/NotificationManagerService$NotificationTrampolineCallback;]Ljava/util/List;Ljava/util/ArrayList;
-HPLcom/android/server/wm/BackgroundLaunchProcessController;->isBoundByForegroundUid()Z+]Landroid/util/IntArray;Landroid/util/IntArray;]Ljava/util/function/IntPredicate;Lcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda3;
+HSPLcom/android/server/wm/BackgroundLaunchProcessController;->isBackgroundStartAllowedByToken(ILjava/lang/String;Z)Z+]Landroid/app/BackgroundStartPrivileges;Landroid/app/BackgroundStartPrivileges;]Lcom/android/server/wm/BackgroundActivityStartCallback;Lcom/android/server/notification/NotificationManagerService$NotificationTrampolineCallback;]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/wm/BackgroundLaunchProcessController;->isBoundByForegroundUid()Z+]Landroid/util/IntArray;Landroid/util/IntArray;]Ljava/util/function/IntPredicate;Lcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda3;
 HSPLcom/android/server/wm/BackgroundLaunchProcessController;->removeAllowBackgroundStartPrivileges(Landroid/os/Binder;)V
 HSPLcom/android/server/wm/ClientLifecycleManager;->dispatchPendingTransactions()V+]Lcom/android/server/wm/ClientLifecycleManager;Lcom/android/server/wm/ClientLifecycleManager;
 HSPLcom/android/server/wm/ClientLifecycleManager;->getOrCreatePendingTransaction(Landroid/app/IApplicationThread;)Landroid/app/servertransaction/ClientTransaction;+]Landroid/app/IApplicationThread;Lcom/android/server/am/ApplicationThreadDeferred;
 HSPLcom/android/server/wm/ClientLifecycleManager;->shouldDispatchPendingTransactionsImmediately()Z+]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;
 HSPLcom/android/server/wm/CompatModePackages;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;
+HSPLcom/android/server/wm/CompatModePackages;->getCompatScale(Ljava/lang/String;IZ)F
 HSPLcom/android/server/wm/CompatModePackages;->getCompatScaleFromProvider(Ljava/lang/String;I)Landroid/content/res/CompatibilityInfo$CompatScale;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/wm/CompatScaleProvider;Lcom/android/server/app/GameManagerService$LocalService;
 HSPLcom/android/server/wm/ConfigurationContainer;-><init>()V
 HSPLcom/android/server/wm/ConfigurationContainer;->applyAppSpecificConfig(Ljava/lang/Integer;Landroid/os/LocaleList;Ljava/lang/Integer;)Z+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/WindowProcessController;
@@ -3790,7 +3928,7 @@
 HSPLcom/android/server/wm/ConfigurationContainer;->onMergedOverrideConfigurationChanged()V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types
 HSPLcom/android/server/wm/ConfigurationContainer;->updateRequestedOverrideConfiguration(Landroid/content/res/Configuration;)V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types
 HSPLcom/android/server/wm/DeferredDisplayUpdater;->calculateDisplayInfoDiff(Landroid/view/DisplayInfo;Landroid/view/DisplayInfo;)I
-HSPLcom/android/server/wm/DeferredDisplayUpdater;->updateDisplayInfo(Ljava/lang/Runnable;)V+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Ljava/lang/Runnable;Lcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda10;,Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda27;
+HSPLcom/android/server/wm/DeferredDisplayUpdater;->updateDisplayInfo(Ljava/lang/Runnable;)V+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Ljava/lang/Runnable;Lcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda10;,Lcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda9;,Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda27;,Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda28;
 HSPLcom/android/server/wm/DesktopAppCompatAspectRatioPolicy;->getMinAspectRatio(Lcom/android/server/wm/Task;)F+]Landroid/content/pm/ActivityInfo;Landroid/content/pm/ActivityInfo;]Lcom/android/server/wm/AppCompatAspectRatioOverrides;Lcom/android/server/wm/AppCompatAspectRatioOverrides;]Lcom/android/server/wm/AppCompatOverrides;Lcom/android/server/wm/AppCompatOverrides;]Lcom/android/server/wm/DesktopAppCompatAspectRatioPolicy;Lcom/android/server/wm/DesktopAppCompatAspectRatioPolicy;]Lcom/android/server/wm/TransparentPolicy;Lcom/android/server/wm/TransparentPolicy;
 HSPLcom/android/server/wm/DesktopAppCompatAspectRatioPolicy;->hasMinAspectRatioOverride(Lcom/android/server/wm/Task;)Z+]Landroid/content/pm/ActivityInfo;Landroid/content/pm/ActivityInfo;
 HSPLcom/android/server/wm/DesktopAppCompatAspectRatioPolicy;->shouldEnableUserAspectRatioSettings(Lcom/android/server/wm/Task;)Z+]Lcom/android/server/wm/AppCompatAspectRatioOverrides;Lcom/android/server/wm/AppCompatAspectRatioOverrides;]Lcom/android/server/wm/AppCompatOverrides;Lcom/android/server/wm/AppCompatOverrides;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;
@@ -3801,15 +3939,15 @@
 HSPLcom/android/server/wm/DisplayArea$Tokens;->lambda$new$0(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/wm/AppTransition;Lcom/android/server/wm/AppTransition;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/DisplayArea;->asDisplayArea()Lcom/android/server/wm/DisplayArea;
 HSPLcom/android/server/wm/DisplayArea;->forAllLeafTasks(Ljava/util/function/Consumer;Z)V
+HSPLcom/android/server/wm/DisplayArea;->getIgnoreOrientationRequest()Z+]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;
 HSPLcom/android/server/wm/DisplayArea;->getItemFromTaskDisplayAreas(Ljava/util/function/Function;Z)Ljava/lang/Object;+]Lcom/android/server/wm/DisplayArea;megamorphic_types]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/DisplayArea;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;
 HSPLcom/android/server/wm/DisplayArea;->getRootTask(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/DisplayArea;->getSyncTransaction()Landroid/view/SurfaceControl$Transaction;
-HSPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda12;-><init>(Lcom/android/server/wm/DisplayContent;Landroid/graphics/Region;Landroid/graphics/Region;Landroid/graphics/Region;[ILandroid/graphics/Region;Landroid/graphics/Region;)V
-HSPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda12;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda2;->apply(Ljava/lang/Object;)Z
 HSPLcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState;->reset()V
 HSPLcom/android/server/wm/DisplayContent$ImeContainer;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+HSPLcom/android/server/wm/DisplayContent;->$r8$lambda$Sp8y2Fhps8S4GCPelNMlGu99jRg(Ljava/util/Set;Ljava/util/Set;Landroid/graphics/Matrix;[FLcom/android/server/wm/WindowState;)Z+]Landroid/graphics/Region;Landroid/graphics/Region;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HPLcom/android/server/wm/DisplayContent;->addToGlobalAndConsumeLimit(Landroid/graphics/Region;Landroid/graphics/Region;Landroid/graphics/Rect;ILcom/android/server/wm/WindowState;I)I+]Landroid/graphics/Region;Landroid/graphics/Region;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/DisplayContent;->adjustDisplaySizeRanges(Landroid/view/DisplayInfo;IIIZ)V+]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;
 HSPLcom/android/server/wm/DisplayContent;->applySurfaceChangesTransaction()V+]Landroid/hardware/display/DisplayManagerInternal;Lcom/android/server/display/DisplayManagerService$LocalService;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/DisplayRotation;Lcom/android/server/wm/DisplayRotation;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/WallpaperVisibilityListeners;Lcom/android/server/wm/WallpaperVisibilityListeners;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;]Ljava/util/LinkedList;Ljava/util/LinkedList;
@@ -3822,14 +3960,16 @@
 HSPLcom/android/server/wm/DisplayContent;->getDisplayInfo()Landroid/view/DisplayInfo;
 HSPLcom/android/server/wm/DisplayContent;->getDisplayPolicy()Lcom/android/server/wm/DisplayPolicy;
 HSPLcom/android/server/wm/DisplayContent;->getImeTarget(I)Lcom/android/server/wm/InsetsControlTarget;
-HSPLcom/android/server/wm/DisplayContent;->getInputMonitor()Lcom/android/server/wm/InputMonitor;
 HSPLcom/android/server/wm/DisplayContent;->getInsetsPolicy()Lcom/android/server/wm/InsetsPolicy;
 HSPLcom/android/server/wm/DisplayContent;->getInsetsStateController()Lcom/android/server/wm/InsetsStateController;
 HSPLcom/android/server/wm/DisplayContent;->getKeepClearAreas(Ljava/util/Set;Ljava/util/Set;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;
-HSPLcom/android/server/wm/DisplayContent;->getOrientation()I+]Lcom/android/server/wm/AppCompatCameraPolicy;Lcom/android/server/wm/AppCompatCameraPolicy;]Lcom/android/server/wm/AppCompatController;Lcom/android/server/wm/AppCompatController;]Lcom/android/server/wm/AppCompatOrientationOverrides;Lcom/android/server/wm/AppCompatOrientationOverrides;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;
 HSPLcom/android/server/wm/DisplayContent;->handleCompleteDeferredRemoval()Z+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;
+HSPLcom/android/server/wm/DisplayContent;->handleTopActivityLaunchingInDifferentOrientation(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Z)Z+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;
 HSPLcom/android/server/wm/DisplayContent;->hasOwnFocus()Z
+HSPLcom/android/server/wm/DisplayContent;->isKeyguardGoingAway()Z+]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/KeyguardController;
 HSPLcom/android/server/wm/DisplayContent;->isLayoutNeeded()Z
+HSPLcom/android/server/wm/DisplayContent;->isSleeping()Z
+HSPLcom/android/server/wm/DisplayContent;->lambda$calculateSystemGestureExclusion$32(Landroid/graphics/Region;Landroid/graphics/Region;Landroid/graphics/Region;[ILandroid/graphics/Region;Landroid/graphics/Region;Lcom/android/server/wm/WindowState;)V+]Landroid/graphics/Region;Landroid/graphics/Region;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/DisplayContent;->lambda$new$1(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/DisplayContent;->lambda$new$3(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/DisplayContent;->lambda$new$4(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/util/ArrayList;Ljava/util/ArrayList;
@@ -3837,16 +3977,13 @@
 HSPLcom/android/server/wm/DisplayContent;->lambda$new$8(Lcom/android/server/wm/WindowState;)V+]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/RefreshRatePolicy;Lcom/android/server/wm/RefreshRatePolicy;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Ljava/util/LinkedList;Ljava/util/LinkedList;
 HSPLcom/android/server/wm/DisplayContent;->makeChildSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl$Builder;+]Landroid/view/SurfaceControl$Builder;Landroid/view/SurfaceControl$Builder;]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;
 HSPLcom/android/server/wm/DisplayContent;->needsGestureExclusionRestrictions(Lcom/android/server/wm/WindowState;Z)Z+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/DisplayContent;->onDisplayInfoUpdated(Landroid/view/DisplayInfo;)V+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/WindowContextListenerController;Lcom/android/server/wm/WindowContextListenerController;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;
 HSPLcom/android/server/wm/DisplayContent;->performLayout(ZZ)V
 HSPLcom/android/server/wm/DisplayContent;->performLayoutNoTrace(ZZ)V+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;
 HSPLcom/android/server/wm/DisplayContent;->prepareSurfaces()V
 HSPLcom/android/server/wm/DisplayContent;->setDisplayMirroring()Z+]Landroid/hardware/display/DisplayManagerInternal;Lcom/android/server/display/DisplayManagerService$LocalService;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;
-HSPLcom/android/server/wm/DisplayContent;->shouldDeferRemoval()Z+]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;
 HSPLcom/android/server/wm/DisplayContent;->shouldImeAttachedToApp()Z+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/DisplayContent$ImeContainer;,Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent$ImeContainer;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/DisplayContent;->toString()Ljava/lang/String;
 HSPLcom/android/server/wm/DisplayContent;->updateBaseDisplayMetricsIfNeeded(Landroid/view/DisplayInfo;)V+]Lcom/android/server/wm/DeferredDisplayUpdater;Lcom/android/server/wm/DeferredDisplayUpdater;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/DisplayRotation;Lcom/android/server/wm/DisplayRotation;]Lcom/android/server/wm/DisplayWindowSettings;Lcom/android/server/wm/DisplayWindowSettings;
-HSPLcom/android/server/wm/DisplayContent;->updateDisplayInfo(Landroid/view/DisplayInfo;)V+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;
 HSPLcom/android/server/wm/DisplayContent;->updateFocusedWindowLocked(IZI)Z+]Lcom/android/server/wm/BackNavigationController;Lcom/android/server/wm/BackNavigationController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/DisplayContent;->updateKeepClearAreas()V+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayWindowListenerController;Lcom/android/server/wm/DisplayWindowListenerController;]Ljava/util/Set;Landroid/util/ArraySet;
 HSPLcom/android/server/wm/DisplayContent;->updateOrientation(Z)Z+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayRotation;Lcom/android/server/wm/DisplayRotation;]Lcom/android/server/wm/TaskChangeNotificationController;Lcom/android/server/wm/TaskChangeNotificationController;]Lcom/android/server/wm/WindowContainer;megamorphic_types
@@ -3860,7 +3997,7 @@
 HSPLcom/android/server/wm/DisplayPolicy;->applyKeyguardPolicy(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/DisplayPolicy;->applyPostLayoutPolicyLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Lcom/android/server/wm/AppCompatController;Lcom/android/server/wm/AppCompatController;]Lcom/android/server/wm/AppCompatLetterboxPolicy;Lcom/android/server/wm/AppCompatLetterboxPolicy;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;,Lcom/android/server/wm/InsetsSourceProvider;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/WindowToken;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/DisplayPolicy;->beginPostLayoutPolicyLw()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;
-HPLcom/android/server/wm/DisplayPolicy;->calculateInsetsFrame(Landroid/graphics/Rect;Landroid/graphics/Insets;)V
+HSPLcom/android/server/wm/DisplayPolicy;->calculateInsetsFrame(Landroid/graphics/Rect;Landroid/graphics/Insets;)V
 HSPLcom/android/server/wm/DisplayPolicy;->chooseNavigationBackgroundWindow(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Z)Lcom/android/server/wm/WindowState;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/DisplayPolicy;->configureNavBarOpacity(IZZ)I+]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;
 HSPLcom/android/server/wm/DisplayPolicy;->configureStatusBarOpacity(I)I+]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Ljava/util/ArrayList;Ljava/util/ArrayList;
@@ -3873,7 +4010,6 @@
 HSPLcom/android/server/wm/DisplayPolicy;->getStatusBarManagerInternal()Lcom/android/server/statusbar/StatusBarManagerInternal;
 HPLcom/android/server/wm/DisplayPolicy;->hasBottomNavigationBar()Z
 HSPLcom/android/server/wm/DisplayPolicy;->intersectsAnyInsets(Landroid/graphics/Rect;Landroid/view/InsetsState;I)Z+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/view/InsetsState;Landroid/view/InsetsState;
-HSPLcom/android/server/wm/DisplayPolicy;->isFullyTransparentAllowed(Lcom/android/server/wm/WindowState;I)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/DisplayPolicy;->isImmersiveMode(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy;
 HSPLcom/android/server/wm/DisplayPolicy;->isKeyguardShowing()Z+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;
 HPLcom/android/server/wm/DisplayPolicy;->isLightBarAllowed(Lcom/android/server/wm/WindowState;I)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
@@ -3927,29 +4063,29 @@
 HSPLcom/android/server/wm/InsetsPolicy;->adjustVisibilityForFakeControllingSources(Landroid/view/InsetsState;)Landroid/view/InsetsState;+]Landroid/view/InsetsState;Landroid/view/InsetsState;
 HSPLcom/android/server/wm/InsetsPolicy;->adjustVisibilityForIme(Lcom/android/server/wm/WindowState;Landroid/view/InsetsState;Z)Landroid/view/InsetsState;+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/view/InsetsState;Landroid/view/InsetsState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/InsetsPolicy;->canBeTopFullscreenOpaqueWindow(Lcom/android/server/wm/WindowState;)Z+]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/InsetsPolicy;->enforceInsetsPolicyForTarget(Lcom/android/server/wm/WindowState;Landroid/view/InsetsState;)Landroid/view/InsetsState;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/InsetsFrameProvider;Landroid/view/InsetsFrameProvider;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;,Lcom/android/server/wm/InsetsSourceProvider;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
+HSPLcom/android/server/wm/InsetsPolicy;->enforceInsetsPolicyForTarget(Lcom/android/server/wm/WindowState;Landroid/view/InsetsState;)Landroid/view/InsetsState;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/InsetsFrameProvider;Landroid/view/InsetsFrameProvider;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;,Lcom/android/server/wm/InsetsSourceProvider;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/InsetsPolicy;->forceShowingNavigationBars(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;
-HSPLcom/android/server/wm/InsetsPolicy;->getNavControlTarget(Lcom/android/server/wm/WindowState;Z)Lcom/android/server/wm/InsetsControlTarget;+]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
+HSPLcom/android/server/wm/InsetsPolicy;->getNavControlTarget(Lcom/android/server/wm/WindowState;Z)Lcom/android/server/wm/InsetsControlTarget;+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/InsetsPolicy;->getStatusControlTarget(Lcom/android/server/wm/WindowState;Z)Lcom/android/server/wm/InsetsControlTarget;+]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/InsetsPolicy;->hasHiddenSources(I)Z+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/view/InsetsState;Landroid/view/InsetsState;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;
 HSPLcom/android/server/wm/InsetsPolicy;->remoteInsetsControllerControlsSystemBars(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;
 HSPLcom/android/server/wm/InsetsPolicy;->updateBarControlTarget(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;
 HSPLcom/android/server/wm/InsetsPolicy;->updateSystemBars(Lcom/android/server/wm/WindowState;ZZ)V+]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;
 HPLcom/android/server/wm/InsetsSourceProvider;->getInsetsHint()Landroid/graphics/Insets;+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/InsetsSourceProvider;->getSource()Landroid/view/InsetsSource;
+HSPLcom/android/server/wm/InsetsSourceProvider;->getSource()Landroid/view/InsetsSource;
 HPLcom/android/server/wm/InsetsSourceProvider;->getWindowFrameSurfacePosition()Landroid/graphics/Point;+]Landroid/view/InsetsSourceControl;Landroid/view/InsetsSourceControl;]Lcom/android/server/wm/AsyncRotationController;Lcom/android/server/wm/AsyncRotationController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HPLcom/android/server/wm/InsetsSourceProvider;->isClientVisible()Z
-HPLcom/android/server/wm/InsetsSourceProvider;->onPostLayout()V+]Landroid/view/InsetsSourceControl;Landroid/view/InsetsSourceControl;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;,Lcom/android/server/wm/InsetsSourceProvider;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/InsetsSourceProvider;->overridesFrame(I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;
-HPLcom/android/server/wm/InsetsSourceProvider;->setServerVisible(Z)V+]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;,Lcom/android/server/wm/InsetsSourceProvider;
+HSPLcom/android/server/wm/InsetsSourceProvider;->onPostLayout()V+]Landroid/view/InsetsSourceControl;Landroid/view/InsetsSourceControl;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;,Lcom/android/server/wm/InsetsSourceProvider;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
+HSPLcom/android/server/wm/InsetsSourceProvider;->overridesFrame(I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;
+HSPLcom/android/server/wm/InsetsSourceProvider;->setServerVisible(Z)V+]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;,Lcom/android/server/wm/InsetsSourceProvider;
 HPLcom/android/server/wm/InsetsSourceProvider;->updateControlForTarget(Lcom/android/server/wm/InsetsControlTarget;ZLandroid/view/inputmethod/ImeTracker$Token;)V+]Landroid/graphics/Point;Landroid/graphics/Point;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/DisplayContent$RemoteInsetsControlTarget;,Lcom/android/server/wm/InsetsStateController$1;,Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;,Lcom/android/server/wm/InsetsSourceProvider;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/DisplayArea;,Lcom/android/server/wm/WindowState;
 HPLcom/android/server/wm/InsetsSourceProvider;->updateInsetsControlPosition(Lcom/android/server/wm/WindowState;)Z+]Landroid/graphics/Point;Landroid/graphics/Point;]Lcom/android/server/wm/AsyncRotationController;Lcom/android/server/wm/AsyncRotationController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowFrames;Lcom/android/server/wm/WindowFrames;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Ljava/util/function/Consumer;Lcom/android/server/wm/InsetsSourceProvider$$ExternalSyntheticLambda0;
 HPLcom/android/server/wm/InsetsSourceProvider;->updateInsetsHint()Z+]Landroid/view/InsetsSourceControl;Landroid/view/InsetsSourceControl;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;,Lcom/android/server/wm/InsetsSourceProvider;
 HPLcom/android/server/wm/InsetsSourceProvider;->updateSourceFrame(Landroid/graphics/Rect;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Lcom/android/internal/util/function/TriFunction;Lcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda0;,Lcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda11;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/InsetsSourceProvider;->updateSourceFrameForServerVisibility()V+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/InsetsSourceProvider;->updateVisibility()V+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;
+HSPLcom/android/server/wm/InsetsSourceProvider;->updateSourceFrameForServerVisibility()V+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;
+HSPLcom/android/server/wm/InsetsSourceProvider;->updateVisibility()V+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;
 HPLcom/android/server/wm/InsetsStateController;->getImeSourceProvider()Lcom/android/server/wm/ImeInsetsSourceProvider;+]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;
-HPLcom/android/server/wm/InsetsStateController;->getOrCreateSourceProvider(II)Lcom/android/server/wm/InsetsSourceProvider;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/InsetsState;Landroid/view/InsetsState;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;,Lcom/android/server/wm/InsetsSourceProvider;
+HSPLcom/android/server/wm/InsetsStateController;->getOrCreateSourceProvider(II)Lcom/android/server/wm/InsetsSourceProvider;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/InsetsState;Landroid/view/InsetsState;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;,Lcom/android/server/wm/InsetsSourceProvider;
 HSPLcom/android/server/wm/InsetsStateController;->getRawInsetsState()Landroid/view/InsetsState;
 HPLcom/android/server/wm/InsetsStateController;->lambda$notifyPendingInsetsControlChanged$4(ILandroid/util/SparseLongArray;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/DisplayContent$RemoteInsetsControlTarget;,Lcom/android/server/wm/InsetsPolicy$ControlTarget;,Lcom/android/server/wm/InsetsStateController$1;,Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;,Lcom/android/server/wm/InsetsSourceProvider;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/InsetsStateController;->notifyPendingInsetsControlChanged()V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/wm/WindowAnimator;Lcom/android/server/wm/WindowAnimator;
@@ -3961,9 +4097,9 @@
 HSPLcom/android/server/wm/KeyguardController;->updateVisibility()V+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/RootWindowContainer;
 HSPLcom/android/server/wm/MirrorActiveUids;->hasNonAppVisibleWindow(I)Z+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;
 HSPLcom/android/server/wm/MirrorActiveUids;->onUidProcStateChanged(II)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;
-HPLcom/android/server/wm/PointerEventDispatcher;->onInputEvent(Landroid/view/InputEvent;)V+]Landroid/view/WindowManagerPolicyConstants$PointerEventListener;Lcom/android/server/wm/RecentTasks$1;,Lcom/android/server/wm/SystemGesturesPointerEventListener;
+HPLcom/android/server/wm/PackageConfigPersister;->findPackageConfiguration(Ljava/lang/String;I)Lcom/android/server/wm/ActivityTaskManagerInternal$PackageConfig;
+HPLcom/android/server/wm/PointerEventDispatcher;->onInputEvent(Landroid/view/InputEvent;)V+]Landroid/view/WindowManagerPolicyConstants$PointerEventListener;Lcom/android/internal/widget/PointerLocationView;,Lcom/android/server/wm/RecentTasks$1;,Lcom/android/server/wm/SystemGesturesPointerEventListener;
 HSPLcom/android/server/wm/RecentTasks;->isCallerRecents(I)Z
-HSPLcom/android/server/wm/RefreshRatePolicy$FrameRateVote;->refreshRateEquals(F)Z
 HSPLcom/android/server/wm/RefreshRatePolicy$FrameRateVote;->update(FII)Z
 HSPLcom/android/server/wm/RefreshRatePolicy$PackageRefreshRate;->get(Ljava/lang/String;)Landroid/view/SurfaceControl$RefreshRateRange;+]Ljava/util/HashMap;Ljava/util/HashMap;
 HSPLcom/android/server/wm/RefreshRatePolicy;->calculatePriority(Lcom/android/server/wm/WindowState;)I+]Lcom/android/server/wm/RefreshRatePolicy;Lcom/android/server/wm/RefreshRatePolicy;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
@@ -3971,15 +4107,15 @@
 HSPLcom/android/server/wm/RefreshRatePolicy;->getPreferredMinRefreshRate(Lcom/android/server/wm/WindowState;)F+]Lcom/android/server/wm/RefreshRatePolicy$PackageRefreshRate;Lcom/android/server/wm/RefreshRatePolicy$PackageRefreshRate;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/RefreshRatePolicy;->getPreferredModeId(Lcom/android/server/wm/WindowState;)I
 HSPLcom/android/server/wm/RefreshRatePolicy;->updateFrameRateVote(Lcom/android/server/wm/WindowState;)Z+]Landroid/hardware/display/DisplayManagerInternal;Lcom/android/server/display/DisplayManagerService$LocalService;]Lcom/android/server/wm/HighRefreshRateDenylist;Lcom/android/server/wm/HighRefreshRateDenylist;]Lcom/android/server/wm/RefreshRatePolicy$FrameRateVote;Lcom/android/server/wm/RefreshRatePolicy$FrameRateVote;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda23;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/wm/RootWindowContainer$MyHandler;->handleMessage(Landroid/os/Message;)V+]Landroid/hardware/display/DisplayManagerInternal;Lcom/android/server/display/DisplayManagerService$LocalService;]Landroid/os/PowerManagerInternal;Lcom/android/server/power/PowerManagerService$LocalService;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;
 HSPLcom/android/server/wm/RootWindowContainer;->$r8$lambda$cnDv250HlSET-GBlf9zK0KW0JGk(Lcom/android/server/wm/DisplayContent;)V+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;
 HSPLcom/android/server/wm/RootWindowContainer;->applySurfaceChangesTransaction()V+]Landroid/hardware/display/DisplayManagerInternal;Lcom/android/server/display/DisplayManagerService$LocalService;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/StrictModeFlash;Lcom/android/server/wm/StrictModeFlash;]Ljava/util/ArrayList;Ljava/util/ArrayList;
-HSPLcom/android/server/wm/RootWindowContainer;->checkAppTransitionReady(Lcom/android/server/wm/WindowSurfacePlacer;)V+]Lcom/android/server/wm/AppTransition;Lcom/android/server/wm/AppTransition;]Lcom/android/server/wm/AppTransitionController;Lcom/android/server/wm/AppTransitionController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/wm/RootWindowContainer;->checkAppTransitionReady(Lcom/android/server/wm/WindowSurfacePlacer;)V+]Lcom/android/server/wm/AppTransition;Lcom/android/server/wm/AppTransition;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/RootWindowContainer;->clearFrameChangingWindows()V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/RootWindowContainer;->forAllDisplays(Ljava/util/function/Consumer;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/function/Consumer;megamorphic_types
 HSPLcom/android/server/wm/RootWindowContainer;->getDisplayContent(I)Lcom/android/server/wm/DisplayContent;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/RootWindowContainer;
-HPLcom/android/server/wm/RootWindowContainer;->getRootTaskInfo(Lcom/android/server/wm/Task;)Landroid/app/ActivityTaskManager$RootTaskInfo;+]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;
+HSPLcom/android/server/wm/RootWindowContainer;->getRootTaskInfo(Lcom/android/server/wm/Task;)Landroid/app/ActivityTaskManager$RootTaskInfo;+]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;
+HSPLcom/android/server/wm/RootWindowContainer;->getRunningTasks(ILjava/util/List;IILandroid/util/ArraySet;I)V+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/RunningTasks;Lcom/android/server/wm/RunningTasks;
 HSPLcom/android/server/wm/RootWindowContainer;->handleNotObscuredLocked(Lcom/android/server/wm/WindowState;ZZ)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/RootWindowContainer;->handleResizingWindows()V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/RootWindowContainer;->hasPendingLayoutChanges(Lcom/android/server/wm/WindowAnimator;)Z+]Ljava/util/ArrayList;Ljava/util/ArrayList;
@@ -3990,29 +4126,30 @@
 HSPLcom/android/server/wm/RunningTasks;->accept(Lcom/android/server/wm/Task;)V+]Lcom/android/server/wm/RecentTasks;Lcom/android/server/wm/RecentTasks;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/RunningTasks;->createRunningTaskInfo(Lcom/android/server/wm/Task;J)Landroid/app/ActivityManager$RunningTaskInfo;+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/RunningTasks;->getTasks(ILjava/util/List;ILcom/android/server/wm/RecentTasks;Lcom/android/server/wm/WindowContainer;ILandroid/util/ArraySet;)V+]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/wm/RunningTasks;->lambda$getTasks$0(Lcom/android/server/wm/DisplayContent;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HPLcom/android/server/wm/Session;->setWallpaperZoomOut(Landroid/os/IBinder;F)V
-HSPLcom/android/server/wm/SurfaceAnimator;->cancelAnimation(Landroid/view/SurfaceControl$Transaction;ZZ)V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/AnimationAdapter;megamorphic_types]Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;Lcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda5;,Lcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda6;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;
+HSPLcom/android/server/wm/SurfaceAnimator;->cancelAnimation(Landroid/view/SurfaceControl$Transaction;ZZ)V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/AnimationAdapter;megamorphic_types]Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;Lcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda5;,Lcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda6;,Lcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda7;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;
 HPLcom/android/server/wm/SurfaceAnimator;->createAnimationLeash(Lcom/android/server/wm/SurfaceAnimator$Animatable;Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;IIIIIZLjava/util/function/Supplier;)Landroid/view/SurfaceControl;+]Landroid/view/SurfaceControl$Builder;Landroid/view/SurfaceControl$Builder;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/SurfaceAnimator$Animatable;megamorphic_types
 HSPLcom/android/server/wm/SurfaceAnimator;->hasLeash()Z
 HSPLcom/android/server/wm/SurfaceAnimator;->isAnimating()Z
 HSPLcom/android/server/wm/SurfaceAnimator;->reset(Landroid/view/SurfaceControl$Transaction;Z)V+]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;
-HPLcom/android/server/wm/SurfaceAnimator;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;ZILcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;Ljava/lang/Runnable;Lcom/android/server/wm/AnimationAdapter;Lcom/android/server/wm/SurfaceFreezer;)V+]Lcom/android/server/wm/AnimationAdapter;megamorphic_types]Lcom/android/server/wm/SurfaceAnimator$Animatable;megamorphic_types]Lcom/android/server/wm/SurfaceAnimator;Lcom/android/server/wm/SurfaceAnimator;]Lcom/android/server/wm/SurfaceFreezer;Lcom/android/server/wm/SurfaceFreezer;
 HSPLcom/android/server/wm/SynchedDeviceConfig;->getFlagValue(Ljava/lang/String;)Z+]Ljava/util/Map;Ljava/util/concurrent/ConcurrentHashMap;
-HPLcom/android/server/wm/SystemGesturesPointerEventListener;->detectSwipe(Landroid/view/MotionEvent;)I
 HSPLcom/android/server/wm/SystemGesturesPointerEventListener;->onConfigurationChanged()V+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/res/Resources;Landroid/content/res/Resources;
 HPLcom/android/server/wm/SystemGesturesPointerEventListener;->onPointerEvent(Landroid/view/MotionEvent;)V+]Landroid/view/GestureDetector;Lcom/android/server/wm/SystemGesturesPointerEventListener$1;]Lcom/android/server/wm/SystemGesturesPointerEventListener$Callbacks;Lcom/android/server/wm/DisplayPolicy$1;
-HSPLcom/android/server/wm/Task$$ExternalSyntheticLambda14;->test(Ljava/lang/Object;)Z
 HSPLcom/android/server/wm/Task$FindRootHelper;->findRoot(ZZ)Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/Task$FindRootHelper;->test(Lcom/android/server/wm/ActivityRecord;)Z+]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;
 HSPLcom/android/server/wm/Task$FindRootHelper;->test(Ljava/lang/Object;)Z+]Lcom/android/server/wm/Task$FindRootHelper;Lcom/android/server/wm/Task$FindRootHelper;
+HSPLcom/android/server/wm/Task;->$r8$lambda$AkSO8BQwrCT5IExZs_X3DjEm-pI(Lcom/android/server/wm/ActivityRecord;)Z
 HSPLcom/android/server/wm/Task;->asTask()Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/Task;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/TrustedOverlayHost;Lcom/android/server/wm/TrustedOverlayHost;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/wm/Task;->calculateTopActivityMainWindowFrameForTaskInfo(Lcom/android/server/wm/ActivityRecord;)Landroid/graphics/Rect;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/Task;->checkTranslucentActivityWaiting(Lcom/android/server/wm/ActivityRecord;)V+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/Task;->cropWindowsToRootTaskBounds()Z+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;
+HSPLcom/android/server/wm/Task;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;Z)V+]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/Task;->fillTaskInfo(Landroid/app/TaskInfo;Z)V+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/Task;->fillTaskInfo(Landroid/app/TaskInfo;ZLcom/android/server/wm/TaskDisplayArea;)V+]Landroid/app/TaskInfo;Landroid/app/ActivityManager$RecentTaskInfo;,Landroid/app/ActivityManager$RunningTaskInfo;,Landroid/app/ActivityTaskManager$RootTaskInfo;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;Lcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowContainer$RemoteToken;Lcom/android/server/wm/WindowContainer$RemoteToken;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskDisplayArea;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/Task;->forAllLeafTasks(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/function/Consumer;megamorphic_types
-HSPLcom/android/server/wm/Task;->forAllLeafTasks(Ljava/util/function/Predicate;)Z+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/function/Predicate;Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda18;,Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda32;,Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda9;,Lcom/android/server/wm/RootWindowContainer$FindTaskResult;
+HSPLcom/android/server/wm/Task;->forAllLeafTasks(Ljava/util/function/Predicate;)Z+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/function/Predicate;Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda18;,Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda19;,Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda32;,Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda33;,Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda9;,Lcom/android/server/wm/RootWindowContainer$FindTaskResult;
 HSPLcom/android/server/wm/Task;->getBaseIntent()Landroid/content/Intent;+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/Task;->getBasePackageName()Ljava/lang/String;+]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/Task;->getDisplayCutoutInsets()Landroid/graphics/Rect;+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
@@ -4023,6 +4160,7 @@
 HSPLcom/android/server/wm/Task;->getRootTask(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/Task;+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Ljava/util/function/Predicate;megamorphic_types
 HSPLcom/android/server/wm/Task;->getTaskWithAdjacent()Lcom/android/server/wm/Task;+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskDisplayArea;
 HSPLcom/android/server/wm/Task;->getTopLeafTask()Lcom/android/server/wm/Task;+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/wm/Task;->getTopPausingActivity()Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/Task;->getTopResumedActivity()Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/Task;->getTopVisibleActivity()Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/Task;->hasVisibleChildren()Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;
@@ -4032,8 +4170,9 @@
 HSPLcom/android/server/wm/Task;->isResizeable()Z+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/Task;->isResizeable(Z)Z+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/Task;->isRootTask()Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;
-HSPLcom/android/server/wm/Task;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskChangeNotificationController;Lcom/android/server/wm/TaskChangeNotificationController;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/Task;->prepareSurfaces()V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/Dimmer;Lcom/android/server/wm/Dimmer;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/TrustedOverlayHost;Lcom/android/server/wm/TrustedOverlayHost;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;
+HSPLcom/android/server/wm/Task;->resumeTopActivityInnerLocked(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Z)Z+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;
+HSPLcom/android/server/wm/Task;->resumeTopActivityUncheckedLocked(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Z)Z+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/Task;->setTaskDescriptionFromActivityAboveRoot(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityManager$TaskDescription;)Z+]Landroid/app/ActivityManager$TaskDescription;Landroid/app/ActivityManager$TaskDescription;
 HSPLcom/android/server/wm/Task;->shouldIgnoreInput()Z
 HSPLcom/android/server/wm/Task;->updateTaskDescription()V+]Lcom/android/internal/util/function/pooled/PooledPredicate;Lcom/android/internal/util/function/pooled/PooledLambdaImpl;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskChangeNotificationController;Lcom/android/server/wm/TaskChangeNotificationController;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskDisplayArea;
@@ -4043,8 +4182,9 @@
 HSPLcom/android/server/wm/TaskDisplayArea;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/TaskDisplayArea;->assignRootTaskOrdering(Landroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/TaskDisplayArea;->getRootTask(II)Lcom/android/server/wm/Task;
-HSPLcom/android/server/wm/TaskFragment$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z
 HSPLcom/android/server/wm/TaskFragment;->asTaskFragment()Lcom/android/server/wm/TaskFragment;
+HSPLcom/android/server/wm/TaskFragment;->canAffectSystemUiFlags()Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskDisplayArea;
+HSPLcom/android/server/wm/TaskFragment;->computeConfigResourceOverrides(Landroid/content/res/Configuration;Landroid/content/res/Configuration;Lcom/android/server/wm/TaskFragment$ConfigOverrideHint;)V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/AppCompatDisplayInsets;Lcom/android/server/wm/AppCompatDisplayInsets;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;
 HSPLcom/android/server/wm/TaskFragment;->forAllLeafTaskFragments(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/function/Consumer;megamorphic_types
 HSPLcom/android/server/wm/TaskFragment;->forAllLeafTaskFragments(Ljava/util/function/Predicate;)Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/function/Predicate;megamorphic_types
 HSPLcom/android/server/wm/TaskFragment;->getActivityType()I+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;
@@ -4064,9 +4204,10 @@
 HSPLcom/android/server/wm/TaskFragment;->isForceHidden()Z
 HSPLcom/android/server/wm/TaskFragment;->isLeafTaskFragment()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/TaskFragment;->isTopActivityFocusable()Z+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;
-HSPLcom/android/server/wm/TaskFragment;->isTranslucent(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;Lcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;
+HSPLcom/android/server/wm/TaskFragment;->isTranslucent(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;Lcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;]Lcom/android/server/wm/ActivityTaskSupervisor$OpaqueContainerHelper;Lcom/android/server/wm/ActivityTaskSupervisor$OpaqueContainerHelper;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;
 HSPLcom/android/server/wm/TaskFragment;->prepareSurfaces()V+]Lcom/android/server/wm/Dimmer;Lcom/android/server/wm/Dimmer;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;
 HSPLcom/android/server/wm/TaskFragment;->resumeTopActivity(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Z)Z+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/wm/ActivityMetricsLogger;Lcom/android/server/wm/ActivityMetricsLogger;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/AppWarnings;Lcom/android/server/wm/AppWarnings;]Lcom/android/server/wm/ClientLifecycleManager;Lcom/android/server/wm/ClientLifecycleManager;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/wm/TaskFragment;->shouldBeVisible(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;
 HSPLcom/android/server/wm/TaskFragment;->shouldDeferRemoval()Z+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;
 HSPLcom/android/server/wm/TaskFragment;->shouldSleepActivities()Z+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/TaskFragment;->supportsMultiWindowInDisplayArea(Lcom/android/server/wm/TaskDisplayArea;)Z+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;
@@ -4074,19 +4215,20 @@
 HSPLcom/android/server/wm/TaskFragment;->topRunningActivity(Z)Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;
 HSPLcom/android/server/wm/TaskFragment;->updateActivityVisibilities(Lcom/android/server/wm/ActivityRecord;Z)V+]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/EnsureActivitiesVisibleHelper;Lcom/android/server/wm/EnsureActivitiesVisibleHelper;
 HSPLcom/android/server/wm/TaskFragmentOrganizerController;->dispatchPendingEvents()V+]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;
-HPLcom/android/server/wm/TaskFragmentOrganizerController;->dispatchPendingEvents(Lcom/android/server/wm/TaskFragmentOrganizerController$TaskFragmentOrganizerState;Ljava/util/List;)V+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/TaskFragmentOrganizerController$PendingTaskFragmentEvent$Builder;Lcom/android/server/wm/TaskFragmentOrganizerController$PendingTaskFragmentEvent$Builder;]Lcom/android/server/wm/TaskFragmentOrganizerController$TaskFragmentOrganizerState;Lcom/android/server/wm/TaskFragmentOrganizerController$TaskFragmentOrganizerState;]Ljava/util/List;Ljava/util/ArrayList;
+HSPLcom/android/server/wm/TaskFragmentOrganizerController;->dispatchPendingEvents(Lcom/android/server/wm/TaskFragmentOrganizerController$TaskFragmentOrganizerState;Ljava/util/List;)V+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/TaskFragmentOrganizerController$PendingTaskFragmentEvent$Builder;Lcom/android/server/wm/TaskFragmentOrganizerController$PendingTaskFragmentEvent$Builder;]Lcom/android/server/wm/TaskFragmentOrganizerController$TaskFragmentOrganizerState;Lcom/android/server/wm/TaskFragmentOrganizerController$TaskFragmentOrganizerState;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->dispatchPendingEvents()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->dispatchTaskInfoChanged(Lcom/android/server/wm/Task;Z)V+]Landroid/app/ActivityManager$RunningTaskInfo;Landroid/app/ActivityManager$RunningTaskInfo;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerCallbacks;Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerCallbacks;]Ljava/util/WeakHashMap;Ljava/util/WeakHashMap;
 HSPLcom/android/server/wm/TaskOrganizerController;->dispatchPendingEvents()V+]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;
 HSPLcom/android/server/wm/TaskOrganizerController;->onTaskInfoChanged(Lcom/android/server/wm/Task;Z)V+]Landroid/window/ITaskOrganizer;Landroid/window/ITaskOrganizer$Stub$Proxy;
 HSPLcom/android/server/wm/Transition$ChangeInfo;-><init>(Lcom/android/server/wm/WindowContainer;)V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types]Lcom/android/server/wm/WindowContainer;megamorphic_types
+HSPLcom/android/server/wm/Transition$ReadyTrackerOld;->allReady()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;
 HSPLcom/android/server/wm/Transition;-><init>(IILcom/android/server/wm/TransitionController;Lcom/android/server/wm/BLASTSyncEngine;)V
 HSPLcom/android/server/wm/Transition;->applyReady()V+]Lcom/android/server/wm/BLASTSyncEngine;Lcom/android/server/wm/BLASTSyncEngine;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/Transition$ReadyTrackerOld;Lcom/android/server/wm/Transition$ReadyTrackerOld;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/Transition;->calculateTransitionInfo(IILjava/util/ArrayList;Landroid/view/SurfaceControl$Transaction;)Landroid/window/TransitionInfo;+]Landroid/app/ActivityManager$TaskDescription;Landroid/app/ActivityManager$TaskDescription;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/content/pm/ActivityInfo;Landroid/content/pm/ActivityInfo;]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/Transition$ChangeInfo;Lcom/android/server/wm/Transition$ChangeInfo;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/WindowContainer$RemoteToken;Lcom/android/server/wm/WindowContainer$RemoteToken;]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/Transition;->collect(Lcom/android/server/wm/WindowContainer;)V+]Lcom/android/server/wm/BLASTSyncEngine;Lcom/android/server/wm/BLASTSyncEngine;]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/WindowContainer;megamorphic_types
 HSPLcom/android/server/wm/Transition;->finishTransition(Lcom/android/server/wm/ActionChain;)V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/inputmethod/InputMethodManagerInternal;Lcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;]Lcom/android/server/wm/ActionChain;Lcom/android/server/wm/ActionChain;]Lcom/android/server/wm/ActivityRecordInputSink;Lcom/android/server/wm/ActivityRecordInputSink;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/AppCompatCameraPolicy;Lcom/android/server/wm/AppCompatCameraPolicy;]Lcom/android/server/wm/AsyncRotationController;Lcom/android/server/wm/AsyncRotationController;]Lcom/android/server/wm/BackNavigationController;Lcom/android/server/wm/BackNavigationController;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/SnapshotController;Lcom/android/server/wm/SnapshotController;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskChangeNotificationController;Lcom/android/server/wm/TaskChangeNotificationController;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskSnapshotController;Lcom/android/server/wm/TaskSnapshotController;]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/TransitionTracer;Lcom/android/server/wm/PerfettoTransitionTracer;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken;]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/function/Supplier;Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda24;
 HSPLcom/android/server/wm/Transition;->isInTransition(Lcom/android/server/wm/WindowContainer;)Z
-HSPLcom/android/server/wm/Transition;->onTransactionReady(ILandroid/view/SurfaceControl$Transaction;)V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/window/ITransitionPlayer;Landroid/window/ITransitionPlayer$Stub$Proxy;]Lcom/android/server/wm/AsyncRotationController;Lcom/android/server/wm/AsyncRotationController;]Lcom/android/server/wm/BackNavigationController;Lcom/android/server/wm/BackNavigationController;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/SnapshotController;Lcom/android/server/wm/SnapshotController;]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Lcom/android/server/wm/TransitionController$Logger;Lcom/android/server/wm/TransitionController$Logger;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/TransitionTracer;Lcom/android/server/wm/PerfettoTransitionTracer;]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/function/Supplier;Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda24;
+HSPLcom/android/server/wm/Transition;->onTransactionReady(ILandroid/view/SurfaceControl$Transaction;)V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/window/ITransitionPlayer;Landroid/window/ITransitionPlayer$Stub$Proxy;]Lcom/android/server/wm/AsyncRotationController;Lcom/android/server/wm/AsyncRotationController;]Lcom/android/server/wm/BackNavigationController;Lcom/android/server/wm/BackNavigationController;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/SnapshotController;Lcom/android/server/wm/SnapshotController;]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Lcom/android/server/wm/TransitionController$Logger;Lcom/android/server/wm/TransitionController$Logger;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/TransitionTracer;Lcom/android/server/wm/PerfettoTransitionTracer;]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/function/Supplier;Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda24;,Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda25;,Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda26;
 HSPLcom/android/server/wm/Transition;->toString()Ljava/lang/String;+]Lcom/android/server/wm/Transition$ChangeInfo;Lcom/android/server/wm/Transition$ChangeInfo;
 HSPLcom/android/server/wm/TransitionController;->canAssignLayers(Lcom/android/server/wm/WindowContainer;)Z+]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/WindowContainer;megamorphic_types
 HSPLcom/android/server/wm/TransitionController;->inCollectingTransition(Lcom/android/server/wm/WindowContainer;)Z+]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Ljava/util/ArrayList;Ljava/util/ArrayList;
@@ -4108,7 +4250,7 @@
 HSPLcom/android/server/wm/WallpaperController;->hideWallpapers(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/WallpaperController;->isWallpaperVisible()Z+]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HPLcom/android/server/wm/WallpaperController;->setWallpaperZoomOut(Lcom/android/server/wm/WindowState;F)V+]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken;]Ljava/util/ArrayList;Ljava/util/ArrayList;
-HSPLcom/android/server/wm/WallpaperController;->updateWallpaperOffset(Lcom/android/server/wm/WindowState;Z)Z+]Landroid/view/IWindow;Landroid/view/IWindow$Stub$Proxy;]Lcom/android/server/wallpaper/WallpaperCropper$WallpaperCropUtils;Lcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda4;]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WallpaperWindowToken;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
+HSPLcom/android/server/wm/WallpaperController;->updateWallpaperOffset(Lcom/android/server/wm/WindowState;Z)Z+]Landroid/view/IWindow;Landroid/view/IWindow$Stub$Proxy;]Lcom/android/server/wallpaper/WallpaperCropper$WallpaperCropUtils;Lcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda1;,Lcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda4;,Lcom/android/server/wallpaper/WallpaperManagerService$$ExternalSyntheticLambda5;]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WallpaperWindowToken;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/WallpaperWindowToken;->isVisible()Z+]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WallpaperWindowToken;
 HSPLcom/android/server/wm/WallpaperWindowToken;->prepareSurfaces()V
 HSPLcom/android/server/wm/WallpaperWindowToken;->setVisibility(Z)V+]Lcom/android/server/wm/AppTransition;Lcom/android/server/wm/AppTransition;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken;
@@ -4119,7 +4261,7 @@
 HSPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->apply(Ljava/lang/Object;)Z
 HSPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->release()V
 HSPLcom/android/server/wm/WindowContainer$RemoteToken;->toWindowContainerToken()Landroid/window/WindowContainerToken;
-HSPLcom/android/server/wm/WindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Ljava/util/function/Supplier;Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda24;
+HSPLcom/android/server/wm/WindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Ljava/util/function/Supplier;Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda24;,Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda26;
 HSPLcom/android/server/wm/WindowContainer;->asTask()Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/WindowContainer;->asTaskFragment()Lcom/android/server/wm/TaskFragment;
 HSPLcom/android/server/wm/WindowContainer;->asWallpaperToken()Lcom/android/server/wm/WallpaperWindowToken;
@@ -4142,17 +4284,16 @@
 HSPLcom/android/server/wm/WindowContainer;->getChildCount()I+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/WindowContainer;->getDisplayArea()Lcom/android/server/wm/DisplayArea;+]Lcom/android/server/wm/WindowContainer;megamorphic_types
 HSPLcom/android/server/wm/WindowContainer;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
-HPLcom/android/server/wm/WindowContainer;->getInsetsSourceProviders()Landroid/util/SparseArray;
-HSPLcom/android/server/wm/WindowContainer;->getOrientation(I)I+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/wm/WindowContainer;->getInsetsSourceProviders()Landroid/util/SparseArray;
+HSPLcom/android/server/wm/WindowContainer;->getOrientation(I)I+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/lang/Object;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/WindowContainer;->getParent()Lcom/android/server/wm/WindowContainer;
-HSPLcom/android/server/wm/WindowContainer;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;+]Ljava/util/function/Supplier;Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda24;,Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda25;
+HSPLcom/android/server/wm/WindowContainer;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;+]Ljava/util/function/Supplier;Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda24;,Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda25;,Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda26;
 HSPLcom/android/server/wm/WindowContainer;->getRelativePosition(Landroid/graphics/Point;)V+]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types]Lcom/android/server/wm/WindowContainer;megamorphic_types
 HSPLcom/android/server/wm/WindowContainer;->getRelativePosition(Landroid/graphics/Rect;Landroid/graphics/Point;)V+]Landroid/graphics/Point;Landroid/graphics/Point;]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types
 HSPLcom/android/server/wm/WindowContainer;->getRootTask(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/Task;+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/WindowContainer;->getSurfaceControl()Landroid/view/SurfaceControl;
 HSPLcom/android/server/wm/WindowContainer;->getSyncTransaction()Landroid/view/SurfaceControl$Transaction;+]Lcom/android/server/wm/WindowContainer;megamorphic_types
 HSPLcom/android/server/wm/WindowContainer;->getTask(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/Task;+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList;
-HSPLcom/android/server/wm/WindowContainer;->getTaskFragment(Ljava/util/function/Predicate;)Lcom/android/server/wm/TaskFragment;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/WindowState;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/WindowContainer;->getTopChild()Lcom/android/server/wm/WindowContainer;+]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/WindowContainer;->getTopMostActivity()Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/TaskFragment;
 HSPLcom/android/server/wm/WindowContainer;->getWindow(Ljava/util/function/Predicate;)Lcom/android/server/wm/WindowState;+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList;
@@ -4175,6 +4316,7 @@
 HSPLcom/android/server/wm/WindowContainer;->prepareSurfaces()V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/WindowContainer;->scheduleAnimation()V+]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;
 HSPLcom/android/server/wm/WindowContainer;->updateAboveInsetsState(Landroid/view/InsetsState;Landroid/util/SparseArray;Landroid/util/ArraySet;)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/wm/WindowContainer;->updateSurfacePosition(Landroid/view/SurfaceControl$Transaction;)V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/graphics/Point;Landroid/graphics/Point;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/SurfaceAnimator;Lcom/android/server/wm/SurfaceAnimator;]Lcom/android/server/wm/SurfaceFreezer;Lcom/android/server/wm/SurfaceFreezer;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/WindowContainer;megamorphic_types
 HSPLcom/android/server/wm/WindowContainer;->updateSurfacePositionNonOrganized()V+]Lcom/android/server/wm/WindowContainer;megamorphic_types
 HSPLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->dispatchWindowContextInfoChange()V+]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
 HSPLcom/android/server/wm/WindowFrames;->didFrameSizeChange()Z
@@ -4189,7 +4331,7 @@
 HSPLcom/android/server/wm/WindowManagerService;->isKeyguardLocked()Z+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;
 HSPLcom/android/server/wm/WindowManagerService;->isKeyguardSecure(I)Z+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;
 HSPLcom/android/server/wm/WindowManagerService;->isUserVisible(I)Z+]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;
-HSPLcom/android/server/wm/WindowManagerService;->relayoutWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;Landroid/view/WindowManager$LayoutParams;IIIIIILandroid/view/WindowRelayoutResult;)I+]Landroid/view/IWindow;Landroid/view/IWindow$Stub$Proxy;,Landroid/view/ViewRootImpl$W;]Landroid/view/InsetsFrameProvider$InsetsSizeOverride;Landroid/view/InsetsFrameProvider$InsetsSizeOverride;]Landroid/view/InsetsFrameProvider;Landroid/view/InsetsFrameProvider;]Landroid/view/InsetsSourceControl$Array;Landroid/view/InsetsSourceControl$Array;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/DisplayWindowPolicyControllerHelper;Lcom/android/server/wm/DisplayWindowPolicyControllerHelper;]Lcom/android/server/wm/UnknownAppVisibilityController;Lcom/android/server/wm/UnknownAppVisibilityController;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;
+HSPLcom/android/server/wm/WindowManagerService;->relayoutWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;Landroid/view/WindowManager$LayoutParams;IIIIIILandroid/view/WindowRelayoutResult;)I+]Landroid/view/IWindow;Landroid/view/IWindow$Stub$Proxy;]Landroid/view/InsetsFrameProvider$InsetsSizeOverride;Landroid/view/InsetsFrameProvider$InsetsSizeOverride;]Landroid/view/InsetsFrameProvider;Landroid/view/InsetsFrameProvider;]Landroid/view/InsetsSourceControl$Array;Landroid/view/InsetsSourceControl$Array;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/DisplayWindowPolicyControllerHelper;Lcom/android/server/wm/DisplayWindowPolicyControllerHelper;]Lcom/android/server/wm/UnknownAppVisibilityController;Lcom/android/server/wm/UnknownAppVisibilityController;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;
 HSPLcom/android/server/wm/WindowManagerService;->resetPriorityAfterLockedSection()V+]Lcom/android/server/wm/WindowManagerThreadPriorityBooster;Lcom/android/server/wm/WindowManagerThreadPriorityBooster;
 HSPLcom/android/server/wm/WindowManagerService;->scheduleAnimationLocked()V+]Lcom/android/server/wm/WindowAnimator;Lcom/android/server/wm/WindowAnimator;
 HSPLcom/android/server/wm/WindowManagerService;->setInsetsWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V+]Landroid/graphics/Region;Landroid/graphics/Region;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
@@ -4199,12 +4341,13 @@
 HSPLcom/android/server/wm/WindowOrganizerController;->applyTransaction(Landroid/window/WindowContainerTransaction;ILcom/android/server/wm/ActionChain;Lcom/android/server/wm/WindowOrganizerController$CallerInfo;)I+]Landroid/window/WindowContainerTransaction$Change;Landroid/window/WindowContainerTransaction$Change;]Lcom/android/server/wm/ActionChain;Lcom/android/server/wm/ActionChain;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/WindowOrganizerController;Lcom/android/server/wm/WindowOrganizerController;]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;]Ljava/lang/Object;Lcom/android/server/wm/Task;]Ljava/util/Iterator;Landroid/util/MapCollections$MapIterator;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Map$Entry;Landroid/util/MapCollections$MapIterator;]Ljava/util/Set;Landroid/util/MapCollections$EntrySet;
 HSPLcom/android/server/wm/WindowProcessController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;IILjava/lang/Object;Lcom/android/server/wm/WindowProcessListener;)V+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;
 HSPLcom/android/server/wm/WindowProcessController;->addBoundClientUid(ILjava/lang/String;J)V+]Lcom/android/server/wm/BackgroundLaunchProcessController;Lcom/android/server/wm/BackgroundLaunchProcessController;
-HPLcom/android/server/wm/WindowProcessController;->areBackgroundActivityStartsAllowed(ILcom/android/server/wm/BackgroundLaunchProcessController$BalCheckConfiguration;)Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/BackgroundLaunchProcessController;Lcom/android/server/wm/BackgroundLaunchProcessController;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
+HSPLcom/android/server/wm/WindowProcessController;->areBackgroundActivityStartsAllowed(ILcom/android/server/wm/BackgroundLaunchProcessController$BalCheckConfiguration;)Lcom/android/server/wm/BackgroundActivityStartController$BalVerdict;+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/BackgroundLaunchProcessController;Lcom/android/server/wm/BackgroundLaunchProcessController;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
 HSPLcom/android/server/wm/WindowProcessController;->computeProcessActivityState()V+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/VisibleActivityProcessTracker;Lcom/android/server/wm/VisibleActivityProcessTracker;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/WindowProcessController;->dispatchConfiguration(Landroid/content/res/Configuration;)V+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
+HSPLcom/android/server/wm/WindowProcessController;->handleAppDied()Z+]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Ljava/util/ArrayList;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/WindowProcessController;->hasActivities()Z
 HSPLcom/android/server/wm/WindowProcessController;->hasActivitiesOrRecentTasks()Z
-HPLcom/android/server/wm/WindowProcessController;->hasActivityInVisibleTask()Z
+HSPLcom/android/server/wm/WindowProcessController;->hasActivityInVisibleTask()Z
 HSPLcom/android/server/wm/WindowProcessController;->hasRecentTasks()Z
 HSPLcom/android/server/wm/WindowProcessController;->hasVisibleActivities()Z
 HSPLcom/android/server/wm/WindowProcessController;->isHeavyWeightProcess()Z
@@ -4225,14 +4368,14 @@
 HSPLcom/android/server/wm/WindowProcessController;->setReportedProcState(I)V+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/ClientLifecycleManager;Lcom/android/server/wm/ClientLifecycleManager;
 HSPLcom/android/server/wm/WindowProcessController;->setThread(Landroid/app/IApplicationThread;)V+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/wm/VisibleActivityProcessTracker;Lcom/android/server/wm/VisibleActivityProcessTracker;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;
 HSPLcom/android/server/wm/WindowProcessControllerMap;->put(ILcom/android/server/wm/WindowProcessController;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/Map;Ljava/util/HashMap;
-HSPLcom/android/server/wm/WindowState;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/Session;Landroid/view/IWindow;Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowState;ILandroid/view/WindowManager$LayoutParams;IIIZ)V+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/WindowToken;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/util/function/Supplier;Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda24;
-HSPLcom/android/server/wm/WindowState;->applyDims()V+]Lcom/android/server/wm/Dimmer;Lcom/android/server/wm/Dimmer;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;
+HSPLcom/android/server/wm/WindowState;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/Session;Landroid/view/IWindow;Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowState;ILandroid/view/WindowManager$LayoutParams;IIIZ)V+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/WindowToken;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/util/function/Supplier;Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda24;,Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda26;
+HSPLcom/android/server/wm/WindowState;->applyDims()V+]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Lcom/android/server/wm/Dimmer;Lcom/android/server/wm/Dimmer;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;
 HSPLcom/android/server/wm/WindowState;->applyImeWindowsIfNeeded(Lcom/android/internal/util/ToBooleanFunction;Z)Z+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/WindowState;->applyInOrderWithImeWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z+]Lcom/android/internal/util/ToBooleanFunction;megamorphic_types
 HSPLcom/android/server/wm/WindowState;->areAppWindowBoundsLetterboxed()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/WindowState;->asWindowState()Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/WindowState;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/util/ArrayList;Ljava/util/ArrayList;
-HSPLcom/android/server/wm/WindowState;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
+HSPLcom/android/server/wm/WindowState;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Ljava/util/ArrayList;Ljava/util/ArrayList;
+HSPLcom/android/server/wm/WindowState;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/WindowState;->canAddInternalSystemWindow()Z
 HSPLcom/android/server/wm/WindowState;->canAffectSystemUiFlags()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;
 HSPLcom/android/server/wm/WindowState;->canBeHiddenByKeyguard()Z+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;
@@ -4258,11 +4401,12 @@
 HSPLcom/android/server/wm/WindowState;->getInsetsState()Landroid/view/InsetsState;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/WindowState;->getInsetsState(Z)Landroid/view/InsetsState;+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy;]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;
 HSPLcom/android/server/wm/WindowState;->getKeepClearAreas(Ljava/util/Collection;Ljava/util/Collection;Landroid/graphics/Matrix;[F)V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/util/Collection;Landroid/util/ArraySet;
-HSPLcom/android/server/wm/WindowState;->getKeyInterceptionInfo()Lcom/android/internal/policy/KeyInterceptionInfo;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/lang/CharSequence;Landroid/text/SpannableString;,Ljava/lang/String;
+HSPLcom/android/server/wm/WindowState;->getKeyInterceptionInfo()Lcom/android/internal/policy/KeyInterceptionInfo;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/lang/CharSequence;Ljava/lang/String;
 HSPLcom/android/server/wm/WindowState;->getMergedInsetsState()Landroid/view/InsetsState;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;
 HSPLcom/android/server/wm/WindowState;->getName()Ljava/lang/String;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/WindowState;->getOwningPackage()Ljava/lang/String;
 HSPLcom/android/server/wm/WindowState;->getOwningUid()I
+HSPLcom/android/server/wm/WindowState;->getParentFrame()Landroid/graphics/Rect;
 HSPLcom/android/server/wm/WindowState;->getParentWindow()Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/WindowState;->getRectsInScreenSpace(Ljava/util/List;Landroid/graphics/Matrix;[F)Ljava/util/List;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList;
 HSPLcom/android/server/wm/WindowState;->getRequestedVisibleTypes()I
@@ -4273,7 +4417,7 @@
 HSPLcom/android/server/wm/WindowState;->getTouchableRegion(Landroid/graphics/Region;)V+]Landroid/graphics/Region;Landroid/graphics/Region;
 HSPLcom/android/server/wm/WindowState;->getTransformationMatrix([FLandroid/graphics/Matrix;)V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/WindowState;->getWindow(Ljava/util/function/Predicate;)Lcom/android/server/wm/WindowState;+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/function/Predicate;megamorphic_types
-HSPLcom/android/server/wm/WindowState;->getWindowTag()Ljava/lang/CharSequence;+]Ljava/lang/CharSequence;Landroid/text/SpannableString;,Ljava/lang/String;
+HSPLcom/android/server/wm/WindowState;->getWindowTag()Ljava/lang/CharSequence;+]Ljava/lang/CharSequence;Ljava/lang/String;
 HSPLcom/android/server/wm/WindowState;->getWindowType()I
 HSPLcom/android/server/wm/WindowState;->handleCompleteDeferredRemoval()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/WindowState;->handleWindowMovedIfNeeded()V+]Landroid/view/IWindow;Landroid/view/IWindow$Stub$Proxy;,Landroid/view/ViewRootImpl$W;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
@@ -4281,7 +4425,6 @@
 HSPLcom/android/server/wm/WindowState;->hasWallpaper()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/WindowState;->isAnimationRunningSelfOrParent()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/WindowState;->isChildWindow()Z
-HSPLcom/android/server/wm/WindowState;->isDimming()Z
 HSPLcom/android/server/wm/WindowState;->isDisplayed()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/WindowState;->isDrawn()Z
 HSPLcom/android/server/wm/WindowState;->isDreamWindow()Z
@@ -4319,7 +4462,6 @@
 HSPLcom/android/server/wm/WindowState;->shouldCheckTokenVisibleRequested()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;
 HSPLcom/android/server/wm/WindowState;->shouldDrawBlurBehind()Z
 HSPLcom/android/server/wm/WindowState;->shouldSendRedrawForSync()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/WindowState;->show(ZZ)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowToken;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;
 HSPLcom/android/server/wm/WindowState;->subtractTouchExcludeRegionIfNeeded(Landroid/graphics/Region;)V+]Landroid/graphics/Region;Landroid/graphics/Region;
 HSPLcom/android/server/wm/WindowState;->toString()Ljava/lang/String;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/WindowState;->transformFrameToSurfacePosition(IILandroid/graphics/Point;)V+]Landroid/graphics/Point;Landroid/graphics/Point;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
@@ -4335,12 +4477,11 @@
 HSPLcom/android/server/wm/WindowState;->wouldBeVisibleRequestedIfPolicyIgnored()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/WindowStateAnimator;->applyAnimationLocked(IZ)Z+]Lcom/android/server/wm/AppTransition;Lcom/android/server/wm/AppTransition;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/WindowToken;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;
 HSPLcom/android/server/wm/WindowStateAnimator;->commitFinishDrawingLocked()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/WindowStateAnimator;->createSurfaceLocked()Landroid/view/SurfaceControl;+]Landroid/view/SurfaceControl$Builder;Landroid/view/SurfaceControl$Builder;]Lcom/android/server/wm/InputWindowHandleWrapper;Lcom/android/server/wm/InputWindowHandleWrapper;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Ljava/lang/CharSequence;Landroid/text/SpannableString;,Ljava/lang/String;
+HSPLcom/android/server/wm/WindowStateAnimator;->createSurfaceLocked()Landroid/view/SurfaceControl;+]Landroid/view/SurfaceControl$Builder;Landroid/view/SurfaceControl$Builder;]Lcom/android/server/wm/InputWindowHandleWrapper;Lcom/android/server/wm/InputWindowHandleWrapper;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Ljava/lang/CharSequence;Ljava/lang/String;
 HSPLcom/android/server/wm/WindowStateAnimator;->getShown()Z
 HSPLcom/android/server/wm/WindowStateAnimator;->hasSurface()Z
 HSPLcom/android/server/wm/WindowStateAnimator;->prepareSurfaceLocked(Landroid/view/SurfaceControl$Transaction;)V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;
 HSPLcom/android/server/wm/WindowSurfacePlacer$Traverser;->run()V
-HSPLcom/android/server/wm/WindowSurfacePlacer;->continueLayout(Z)V
 HSPLcom/android/server/wm/WindowSurfacePlacer;->isLayoutDeferred()Z
 HSPLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacement(Z)V
 HSPLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacementLoop()V+]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;]Ljava/util/ArrayList;Ljava/util/ArrayList;
@@ -4357,13 +4498,154 @@
 HSPLcom/android/server/wm/utils/OptPropFactory$OptProp;->shouldEnableWithOptInOverrideAndOptOutProperty(Z)Z+]Ljava/util/function/BooleanSupplier;Lcom/android/server/wm/AppCompatOrientationOverrides$$ExternalSyntheticLambda2;,Lcom/android/server/wm/AppCompatUtils$1;,Lcom/android/server/wm/utils/OptPropFactory$OptProp$$ExternalSyntheticLambda0;
 HPLcom/android/server/wm/utils/RegionUtils;->forEachRectReverse(Landroid/graphics/Region;Ljava/util/function/Consumer;)V
 HSPLcom/android/server/wm/utils/RegionUtils;->rectListToRegion(Ljava/util/List;Landroid/graphics/Region;)V+]Landroid/graphics/Region;Landroid/graphics/Region;]Ljava/util/List;Ljava/util/ArrayList;
+Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;
+Landroid/accounts/AccountManager$BaseFutureTask$Response;
+Landroid/accounts/IAccountAuthenticator$Stub$Proxy;
+Landroid/accounts/IAccountManagerResponse$Stub$Proxy;
+Landroid/app/ActivityManager$2;
+Landroid/app/ActivityThread$ApplicationThread;
+Landroid/app/AlarmManager$ListenerWrapper;
+Landroid/app/AppOpsManager$3;
+Landroid/app/AppOpsManager$4;
+Landroid/app/AppOpsManager$6;
+Landroid/app/ApplicationPackageManager;
+Landroid/app/ContextImpl$ApplicationContentResolver;
 Landroid/app/IAlarmListener$Stub$Proxy;
+Landroid/app/IApplicationThread$Stub$Proxy;
+Landroid/app/IForegroundServiceObserver$Stub$Proxy;
+Landroid/app/IInstantAppResolver$Stub$Proxy;
+Landroid/app/IServiceConnection$Stub$Proxy;
+Landroid/app/ITaskStackListener$Stub$Proxy;
+Landroid/app/IUidObserver$Stub$Proxy;
+Landroid/app/IWallpaperManagerCallback$Stub$Proxy;
+Landroid/app/JobSchedulerImpl;
+Landroid/app/KeyguardManager$1;
+Landroid/app/LoadedApk$ReceiverDispatcher$Args;
+Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;
+Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;
+Landroid/app/PendingIntent$FinishedDispatcher;
+Landroid/app/SharedPreferencesImpl;
+Landroid/app/backup/IBackupManagerMonitor$Stub$Proxy;
+Landroid/app/backup/IBackupObserver$Stub$Proxy;
 Landroid/app/job/IJobService$Stub$Proxy;
+Landroid/app/job/JobServiceEngine$JobInterface;
+Landroid/content/ContentProviderProxy;
+Landroid/content/ContentResolver$CursorWrapperInner;
+Landroid/content/IIntentReceiver$Stub$Proxy;
+Landroid/content/ISyncAdapter$Stub$Proxy;
 Landroid/content/ISyncStatusObserver$Stub$Proxy;
+Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy;
+Landroid/content/pm/IOnChecksumsReadyListener$Stub$Proxy;
+Landroid/content/pm/IPackageInstallerCallback$Stub$Proxy;
+Landroid/content/pm/LabeledIntent;
+Landroid/content/pm/PackageInstaller$SessionCallbackDelegate;
+Landroid/content/res/XmlBlock$Parser;
+Landroid/database/ContentObserver$Transport;
+Landroid/database/IContentObserver$Stub$Proxy;
+Landroid/database/sqlite/SQLiteCursor;
+Landroid/hardware/SystemSensorManager;
+Landroid/hardware/devicestate/DeviceStateManagerGlobal$DeviceStateManagerCallback;
+Landroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;
+Landroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;
+Landroid/hardware/face/IFaceServiceReceiver$Stub$Proxy;
+Landroid/hardware/input/IInputDevicesChangedListener$Stub$Proxy;
+Landroid/hardware/input/InputManagerGlobal$InputDevicesChangedListener;
+Landroid/location/LocationManager$LocationListenerTransport;
+Landroid/media/AudioManager$2;
+Landroid/media/AudioManager$3;
+Landroid/media/IAudioRoutesObserver$Stub$Proxy;
+Landroid/media/IMediaRouterClient$Stub$Proxy;
+Landroid/media/IRecordingConfigDispatcher$Stub$Proxy;
+Landroid/media/MediaRouter$Static$1;
+Landroid/media/MediaRouter$Static$Client;
+Landroid/media/session/IActiveSessionsListener$Stub$Proxy;
+Landroid/media/session/ISessionControllerCallback$Stub$Proxy;
+Landroid/media/session/MediaSessionManager$SessionsChangedWrapper$1;
+Landroid/net/INetworkRecommendationProvider$Stub$Proxy;
+Landroid/net/LocalSocketImpl$SocketInputStream;
+Landroid/net/LocalSocketImpl$SocketOutputStream;
+Landroid/net/NetworkStats$1;
+Landroid/net/Uri$HierarchicalUri;
+Landroid/net/Uri$OpaqueUri;
+Landroid/net/Uri$PathSegments;
+Landroid/net/Uri$StringUri;
+Landroid/os/BinderProxy;
+Landroid/os/IInstalld$Stub$Proxy;
+Landroid/os/IRemoteCallback$Stub$Proxy;
 Landroid/os/RemoteCallbackList$Builder$1;
+Landroid/os/StrictMode$5;
+Landroid/os/StrictMode$BackgroundActivityLaunchCallback;
+Landroid/os/SystemClock$1;
+Landroid/service/notification/ConditionProviderService$Provider;
 Landroid/service/notification/INotificationListener$Stub$Proxy;
+Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper;
+Landroid/service/textclassifier/ITextClassifierCallback$Stub$Proxy;
+Landroid/service/trust/ITrustAgentService$Stub$Proxy;
+Landroid/service/voice/IVoiceInteractionSession$Stub$Proxy;
+Landroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;
+Landroid/system/suspend/internal/ISuspendControlServiceInternal$Stub$Proxy;
+Landroid/telephony/CellIdentityLte;
+Landroid/telephony/CellIdentityNr;
+Landroid/telephony/CellSignalStrengthGsm;
+Landroid/telephony/CellSignalStrengthWcdma;
+Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;
+Landroid/telephony/TelephonyCallback$IPhoneStateListenerStub;
+Landroid/telephony/TelephonyRegistryManager$1;
+Landroid/telephony/TelephonyRegistryManager$3;
+Landroid/telephony/TelephonyRegistryManager$CarrierPrivilegesCallbackWrapper;
+Landroid/text/SpannableString;
+Landroid/util/MapCollections$ArrayIterator;
+Landroid/util/MapCollections$EntrySet;
+Landroid/util/MapCollections$KeySet;
+Landroid/util/MapCollections$MapIterator;
+Landroid/util/MapCollections$ValuesCollection;
+Landroid/util/RecurrenceRule$RecurringIterator;
+Landroid/util/Spline$MonotoneCubicSpline;
+Landroid/view/IDisplayWindowInsetsController$Stub$Proxy;
+Landroid/view/IDisplayWindowListener$Stub$Proxy;
+Landroid/view/ISystemGestureExclusionListener$Stub$Proxy;
+Landroid/view/IWallpaperVisibilityListener$Stub$Proxy;
+Landroid/view/IWindow$Stub$Proxy;
+Landroid/view/ViewRootImpl$AccessibilityInteractionConnection;
+Landroid/view/ViewRootImpl$W;
+Landroid/view/WindowManagerImpl;
+Landroid/view/accessibility/AccessibilityManager$1;
+Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy;
+Landroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;
+Landroid/view/inputmethod/ImeTracker$1;
+Landroid/view/inputmethod/InputMethodManager$2;
+Landroid/window/ITaskFragmentOrganizer$Stub$Proxy;
+Lcom/android/internal/app/IAppOpsActiveCallback$Stub$Proxy;
 Lcom/android/internal/app/IAppOpsCallback$Stub$Proxy;
+Lcom/android/internal/app/IAppOpsNotedCallback$Stub$Proxy;
+Lcom/android/internal/appwidget/IAppWidgetHost$Stub$Proxy;
+Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;
+Lcom/android/internal/content/PackageMonitor$PackageMonitorCallback;
+Lcom/android/internal/inputmethod/IInputMethodSession$Stub$Proxy;
+Lcom/android/internal/inputmethod/ImeTracingPerfettoImpl;
+Lcom/android/internal/os/Clock$1;
+Lcom/android/internal/os/IResultReceiver$Stub$Proxy;
+Lcom/android/internal/pm/parsing/pkg/PackageImpl;
+Lcom/android/internal/pm/pkg/AndroidPackageSplitImpl;
+Lcom/android/internal/pm/pkg/component/ParsedActivityImpl;
+Lcom/android/internal/pm/pkg/component/ParsedAttributionImpl;
+Lcom/android/internal/pm/pkg/component/ParsedIntentInfoImpl;
+Lcom/android/internal/pm/pkg/component/ParsedPermissionImpl;
+Lcom/android/internal/pm/pkg/component/ParsedServiceImpl;
+Lcom/android/internal/pm/pkg/component/ParsedUsesPermissionImpl;
 Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;
+Lcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub$Proxy;
+Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;
+Lcom/android/internal/util/ArtBinaryXmlPullParser;
+Lcom/android/internal/util/ArtBinaryXmlSerializer;
+Lcom/android/internal/util/ConcurrentUtils$DirectExecutor;
+Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;
+Lcom/android/internal/util/function/pooled/PooledLambdaImpl;
+Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;
+Lcom/android/org/conscrypt/OpenSSLRSAPublicKey;
+Lcom/android/org/conscrypt/OpenSSLX509Certificate;
+Lcom/android/org/kxml2/io/KXmlParser;
+Lcom/android/org/kxml2/io/KXmlSerializer;
 Lcom/android/server/BatteryService$LocalService;
 Lcom/android/server/BinaryTransparencyService$BinaryTransparencyServiceImpl$$ExternalSyntheticLambda0;
 Lcom/android/server/DeviceIdleController$LocalService;
@@ -4389,6 +4671,7 @@
 Lcom/android/server/job/JobSchedulerService$4;
 Lcom/android/server/job/controllers/BackgroundJobsController$2;
 Lcom/android/server/job/controllers/QuotaController$TempAllowlistTracker;
+Lcom/android/server/lights/LightsService$LightImpl;
 Lcom/android/server/net/NetworkManagementService$LocalService;
 Lcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;
 Lcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;
@@ -4397,7 +4680,12 @@
 Lcom/android/server/pm/CrossProfileIntentResolver;
 Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;
 Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;
+Lcom/android/server/pm/PackageSetting;
 Lcom/android/server/pm/UserManagerService$LocalService;
+Lcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl;
+Lcom/android/server/pm/local/PackageManagerLocalImpl;
+Lcom/android/server/pm/pkg/PackageUserStateImpl;
+Lcom/android/server/pm/pkg/SharedLibraryWrapper;
 Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;
 Lcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;
 Lcom/android/server/pm/resolution/ComponentResolver$ReceiverIntentResolver;
@@ -4407,7 +4695,6 @@
 Lcom/android/server/power/PowerManagerService$LocalService;
 Lcom/android/server/power/stats/BatteryStatsImpl$1;
 Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;
-Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;
 Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;
 Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;
 Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Sensor;
@@ -4422,3 +4709,88 @@
 Lcom/android/server/wm/ActivityTaskManagerService$LocalService;
 Lcom/android/server/wm/WindowManagerService$LocalService;
 Lcom/android/server/wm/WindowState;
+Ljava/lang/ThreadLocal$SuppliedThreadLocal;
+Ljava/lang/UNIXProcess$ProcessPipeOutputStream;
+Ljava/lang/UNIXProcess;
+Ljava/nio/HeapByteBuffer;
+Ljava/nio/HeapCharBuffer;
+Ljava/security/MessageDigest$Delegate;
+Ljava/time/Clock$SystemClock;
+Ljava/util/ArrayDeque$DeqIterator;
+Ljava/util/ArrayDeque$DescendingIterator;
+Ljava/util/ArrayList$Itr;
+Ljava/util/ArrayList$SubList$1;
+Ljava/util/ArrayList$SubList;
+Ljava/util/Arrays$ArrayItr;
+Ljava/util/Arrays$ArrayList;
+Ljava/util/Collections$1;
+Ljava/util/Collections$EmptyIterator;
+Ljava/util/Collections$EmptyList;
+Ljava/util/Collections$EmptyMap;
+Ljava/util/Collections$EmptySet;
+Ljava/util/Collections$SetFromMap;
+Ljava/util/Collections$SingletonList;
+Ljava/util/Collections$SynchronizedMap;
+Ljava/util/Collections$SynchronizedRandomAccessList;
+Ljava/util/Collections$SynchronizedSet;
+Ljava/util/Collections$UnmodifiableCollection$1;
+Ljava/util/Collections$UnmodifiableCollection;
+Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$1;
+Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry;
+Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet;
+Ljava/util/Collections$UnmodifiableMap;
+Ljava/util/Collections$UnmodifiableRandomAccessList;
+Ljava/util/Collections$UnmodifiableSet;
+Ljava/util/Comparator$$ExternalSyntheticLambda0;
+Ljava/util/GregorianCalendar;
+Ljava/util/HashMap$EntryIterator;
+Ljava/util/HashMap$EntrySet;
+Ljava/util/HashMap$KeyIterator;
+Ljava/util/HashMap$KeySet;
+Ljava/util/HashMap$Node;
+Ljava/util/HashMap$ValueIterator;
+Ljava/util/HashMap$Values;
+Ljava/util/ImmutableCollections$List12;
+Ljava/util/ImmutableCollections$ListItr;
+Ljava/util/ImmutableCollections$ListN;
+Ljava/util/ImmutableCollections$MapN;
+Ljava/util/ImmutableCollections$Set12;
+Ljava/util/ImmutableCollections$SetN;
+Ljava/util/LinkedHashMap$Entry;
+Ljava/util/LinkedHashMap$LinkedEntryIterator;
+Ljava/util/LinkedHashMap$LinkedEntrySet;
+Ljava/util/LinkedHashMap$LinkedKeyIterator;
+Ljava/util/LinkedHashMap$LinkedKeySet;
+Ljava/util/LinkedHashMap$LinkedValueIterator;
+Ljava/util/LinkedHashMap$LinkedValues;
+Ljava/util/LinkedList$DescendingIterator;
+Ljava/util/LinkedList$ListItr;
+Ljava/util/PriorityQueue$Itr;
+Ljava/util/TreeMap$EntryIterator;
+Ljava/util/TreeMap$EntrySet;
+Ljava/util/TreeMap$KeyIterator;
+Ljava/util/TreeMap$NavigableSubMap$SubMapKeyIterator;
+Ljava/util/TreeMap$TreeMapEntry;
+Ljava/util/TreeMap$ValueIterator;
+Ljava/util/TreeMap$Values;
+Ljava/util/WeakHashMap$KeyIterator;
+Ljava/util/WeakHashMap$KeySet;
+Ljava/util/concurrent/ConcurrentHashMap$EntryIterator;
+Ljava/util/concurrent/ConcurrentHashMap$EntrySetView;
+Ljava/util/concurrent/ConcurrentHashMap$KeyIterator;
+Ljava/util/concurrent/ConcurrentHashMap$MapEntry;
+Ljava/util/concurrent/ConcurrentHashMap$ValueIterator;
+Ljava/util/concurrent/ConcurrentHashMap$ValuesView;
+Ljava/util/concurrent/ConcurrentLinkedQueue$Itr;
+Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator;
+Ljava/util/concurrent/Executors$AutoShutdownDelegatedExecutorService;
+Ljava/util/concurrent/Executors$DelegatedScheduledExecutorService;
+Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;
+Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;
+Ljava/util/stream/ReferencePipeline$2;
+Ljava/util/stream/ReferencePipeline$3;
+Ljava/util/stream/ReferencePipeline$4;
+Ljava/util/stream/ReferencePipeline$Head;
+Ljava/util/zip/GZIPInputStream;
+Llibcore/util/ZoneInfo;
+Lsun/nio/fs/UnixPath;
diff --git a/services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java b/services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java
index bd34f33..c182c26 100644
--- a/services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java
+++ b/services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java
@@ -149,7 +149,6 @@
 
     OperationStorage mOperationStorage;
     List<PackageInfo> mPackages;
-    PackageInfo mCurrentPackage;
     boolean mUpdateSchedule;
     CountDownLatch mLatch;
     FullBackupJob mJob;             // if a scheduled job needs to be finished afterwards
@@ -207,10 +206,9 @@
         for (String pkg : whichPackages) {
             try {
                 PackageManager pm = backupManagerService.getPackageManager();
-                PackageInfo info = pm.getPackageInfoAsUser(pkg,
+                PackageInfo packageInfo = pm.getPackageInfoAsUser(pkg,
                         PackageManager.GET_SIGNING_CERTIFICATES, mUserId);
-                mCurrentPackage = info;
-                if (!mBackupEligibilityRules.appIsEligibleForBackup(info.applicationInfo)) {
+                if (!mBackupEligibilityRules.appIsEligibleForBackup(packageInfo.applicationInfo)) {
                     // Cull any packages that have indicated that backups are not permitted,
                     // that run as system-domain uids but do not define their own backup agents,
                     // as well as any explicit mention of the 'special' shared-storage agent
@@ -220,13 +218,13 @@
                     }
                     mBackupManagerMonitorEventSender.monitorEvent(
                             BackupManagerMonitor.LOG_EVENT_ID_PACKAGE_INELIGIBLE,
-                            mCurrentPackage,
+                            packageInfo,
                             BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY,
-                            null);
+                            /* extras= */ null);
                     BackupObserverUtils.sendBackupOnPackageResult(mBackupObserver, pkg,
                             BackupManager.ERROR_BACKUP_NOT_ALLOWED);
                     continue;
-                } else if (!mBackupEligibilityRules.appGetsFullBackup(info)) {
+                } else if (!mBackupEligibilityRules.appGetsFullBackup(packageInfo)) {
                     // Cull any packages that are found in the queue but now aren't supposed
                     // to get full-data backup operations.
                     if (DEBUG) {
@@ -235,13 +233,13 @@
                     }
                     mBackupManagerMonitorEventSender.monitorEvent(
                             BackupManagerMonitor.LOG_EVENT_ID_PACKAGE_KEY_VALUE_PARTICIPANT,
-                            mCurrentPackage,
+                            packageInfo,
                             BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY,
-                            null);
+                            /* extras= */ null);
                     BackupObserverUtils.sendBackupOnPackageResult(mBackupObserver, pkg,
                             BackupManager.ERROR_BACKUP_NOT_ALLOWED);
                     continue;
-                } else if (mBackupEligibilityRules.appIsStopped(info.applicationInfo)) {
+                } else if (mBackupEligibilityRules.appIsStopped(packageInfo.applicationInfo)) {
                     // Cull any packages in the 'stopped' state: they've either just been
                     // installed or have explicitly been force-stopped by the user.  In both
                     // cases we do not want to launch them for backup.
@@ -250,21 +248,21 @@
                     }
                     mBackupManagerMonitorEventSender.monitorEvent(
                             BackupManagerMonitor.LOG_EVENT_ID_PACKAGE_STOPPED,
-                            mCurrentPackage,
+                            packageInfo,
                             BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY,
-                            null);
+                            /* extras= */ null);
                     BackupObserverUtils.sendBackupOnPackageResult(mBackupObserver, pkg,
                             BackupManager.ERROR_BACKUP_NOT_ALLOWED);
                     continue;
                 }
-                mPackages.add(info);
+                mPackages.add(packageInfo);
             } catch (NameNotFoundException e) {
                 Slog.i(TAG, "Requested package " + pkg + " not found; ignoring");
                 mBackupManagerMonitorEventSender.monitorEvent(
                         BackupManagerMonitor.LOG_EVENT_ID_PACKAGE_NOT_FOUND,
-                        mCurrentPackage,
+                        /* pkg= */ null,
                         BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY,
-                        null);
+                        /* extras= */ null);
             }
         }
 
@@ -352,10 +350,11 @@
                 } else {
                     monitoringEvent = BackupManagerMonitor.LOG_EVENT_ID_DEVICE_NOT_PROVISIONED;
                 }
-                mBackupManagerMonitorEventSender
-                        .monitorEvent(monitoringEvent, null,
-                                BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY,
-                                null);
+                mBackupManagerMonitorEventSender.monitorEvent(
+                        monitoringEvent,
+                        /* pkg= */ null,
+                        BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY,
+                        /* extras= */ null);
                 mUpdateSchedule = false;
                 backupRunStatus = BackupManager.ERROR_BACKUP_NOT_ALLOWED;
                 return;
@@ -367,8 +366,9 @@
                 backupRunStatus = BackupManager.ERROR_TRANSPORT_ABORTED;
                 mBackupManagerMonitorEventSender.monitorEvent(
                         BackupManagerMonitor.LOG_EVENT_ID_PACKAGE_TRANSPORT_NOT_PRESENT,
-                        mCurrentPackage, BackupManagerMonitor.LOG_EVENT_CATEGORY_TRANSPORT,
-                        null);
+                        /* pkg= */ null,
+                        BackupManagerMonitor.LOG_EVENT_CATEGORY_TRANSPORT,
+                        /* extras= */ null);
                 return;
             }
 
@@ -461,9 +461,10 @@
                         }
                         mBackupManagerMonitorEventSender.monitorEvent(
                                 BackupManagerMonitor.LOG_EVENT_ID_ERROR_PREFLIGHT,
-                                mCurrentPackage,
+                                currentPackage,
                                 BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY,
-                                mBackupManagerMonitorEventSender.putMonitoringExtra(null,
+                                BackupManagerMonitorEventSender.putMonitoringExtra(
+                                        /* extras= */ null,
                                         BackupManagerMonitor.EXTRA_LOG_PREFLIGHT_ERROR,
                                         preflightResult));
                         backupPackageStatus = (int) preflightResult;
@@ -496,9 +497,9 @@
                                     + ": " + totalRead + " of " + quota);
                             mBackupManagerMonitorEventSender.monitorEvent(
                                     BackupManagerMonitor.LOG_EVENT_ID_QUOTA_HIT_PREFLIGHT,
-                                    mCurrentPackage,
+                                    currentPackage,
                                     BackupManagerMonitor.LOG_EVENT_CATEGORY_TRANSPORT,
-                                    null);
+                                    /* extras= */ null);
                             mBackupRunner.sendQuotaExceeded(totalRead, quota);
                         }
                     }
@@ -645,9 +646,9 @@
             Slog.w(TAG, "Exception trying full transport backup", e);
             mBackupManagerMonitorEventSender.monitorEvent(
                     BackupManagerMonitor.LOG_EVENT_ID_EXCEPTION_FULL_BACKUP,
-                    mCurrentPackage,
+                    /* pkg= */ null,
                     BackupManagerMonitor.LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY,
-                    mBackupManagerMonitorEventSender.putMonitoringExtra(null,
+                    BackupManagerMonitorEventSender.putMonitoringExtra(/* extras= */ null,
                             BackupManagerMonitor.EXTRA_LOG_EXCEPTION_FULL_BACKUP,
                             Log.getStackTraceString(e)));
 
@@ -966,9 +967,6 @@
             }
         }
 
-
-        // BackupRestoreTask interface: specifically, timeout detection
-
         @Override
         public void execute() { /* intentionally empty */ }
 
@@ -981,7 +979,9 @@
 
             mBackupManagerMonitorEventSender.monitorEvent(
                     BackupManagerMonitor.LOG_EVENT_ID_FULL_BACKUP_CANCEL,
-                    mCurrentPackage, BackupManagerMonitor.LOG_EVENT_CATEGORY_AGENT, null);
+                    mTarget,
+                    BackupManagerMonitor.LOG_EVENT_CATEGORY_AGENT,
+                    /* extras= */ null);
             mIsCancelled = true;
             // Cancel tasks spun off by this task.
             mUserBackupManagerService.handleCancel(mEphemeralToken, cancelAll);
diff --git a/services/backup/java/com/android/server/backup/utils/BackupManagerMonitorEventSender.java b/services/backup/java/com/android/server/backup/utils/BackupManagerMonitorEventSender.java
index c4519b1..33668a6 100644
--- a/services/backup/java/com/android/server/backup/utils/BackupManagerMonitorEventSender.java
+++ b/services/backup/java/com/android/server/backup/utils/BackupManagerMonitorEventSender.java
@@ -71,6 +71,7 @@
         mMonitor = monitor;
     }
 
+    @Nullable
     public IBackupManagerMonitor getMonitor() {
         return mMonitor;
     }
@@ -87,9 +88,9 @@
      */
     public void monitorEvent(
             int id,
-            PackageInfo pkg,
+            @Nullable PackageInfo pkg,
             int category,
-            Bundle extras) {
+            @Nullable Bundle extras) {
         try {
             Bundle bundle = new Bundle();
             bundle.putInt(BackupManagerMonitor.EXTRA_LOG_EVENT_ID, id);
diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
index b6fe0ad..e46bbe2 100644
--- a/services/core/java/com/android/server/StorageManagerService.java
+++ b/services/core/java/com/android/server/StorageManagerService.java
@@ -160,6 +160,7 @@
 import com.android.server.pm.Installer;
 import com.android.server.pm.UserManagerInternal;
 import com.android.server.storage.AppFuseBridge;
+import com.android.server.storage.ImmutableVolumeInfo;
 import com.android.server.storage.StorageSessionController;
 import com.android.server.storage.StorageSessionController.ExternalStorageServiceException;
 import com.android.server.storage.WatchedVolumeInfo;
@@ -777,7 +778,7 @@
                     break;
                 }
                 case H_VOLUME_UNMOUNT: {
-                    final WatchedVolumeInfo vol = (WatchedVolumeInfo) msg.obj;
+                    final ImmutableVolumeInfo vol = (ImmutableVolumeInfo) msg.obj;
                     unmount(vol);
                     break;
                 }
@@ -898,8 +899,14 @@
                         for (int i = 0; i < size; i++) {
                             final WatchedVolumeInfo vol = mVolumes.valueAt(i);
                             if (vol.getMountUserId() == userId) {
+                                // Capture the volume before we set mount user id to null,
+                                // so that StorageSessionController remove the session from
+                                // the correct user (old mount user id)
+                                final ImmutableVolumeInfo volToUnmount
+                                        = vol.getClonedImmutableVolumeInfo();
                                 vol.setMountUserId(UserHandle.USER_NULL);
-                                mHandler.obtainMessage(H_VOLUME_UNMOUNT, vol).sendToTarget();
+                                mHandler.obtainMessage(H_VOLUME_UNMOUNT, volToUnmount)
+                                        .sendToTarget();
                             }
                         }
                     }
@@ -1295,7 +1302,12 @@
     }
 
     private void maybeRemountVolumes(int userId) {
-        List<WatchedVolumeInfo> volumesToRemount = new ArrayList<>();
+        // We need to keep 2 lists
+        // 1. List of volumes before we set the mount user Id so that
+        // StorageSessionController is able to remove the session from the correct user (old one)
+        // 2. List of volumes to mount which should have the up to date info
+        List<ImmutableVolumeInfo> volumesToUnmount = new ArrayList<>();
+        List<WatchedVolumeInfo> volumesToMount = new ArrayList<>();
         synchronized (mLock) {
             for (int i = 0; i < mVolumes.size(); i++) {
                 final WatchedVolumeInfo vol = mVolumes.valueAt(i);
@@ -1303,16 +1315,19 @@
                         && vol.getMountUserId() != mCurrentUserId) {
                     // If there's a visible secondary volume mounted,
                     // we need to update the currentUserId and remount
+                    // But capture the volume with the old user id first to use it in unmounting
+                    volumesToUnmount.add(vol.getClonedImmutableVolumeInfo());
                     vol.setMountUserId(mCurrentUserId);
-                    volumesToRemount.add(vol);
+                    volumesToMount.add(vol);
                 }
             }
         }
 
-        for (WatchedVolumeInfo vol : volumesToRemount) {
-            Slog.i(TAG, "Remounting volume for user: " + userId + ". Volume: " + vol);
-            mHandler.obtainMessage(H_VOLUME_UNMOUNT, vol).sendToTarget();
-            mHandler.obtainMessage(H_VOLUME_MOUNT, vol).sendToTarget();
+        for (int i = 0; i < volumesToMount.size(); i++) {
+            Slog.i(TAG, "Remounting volume for user: " + userId + ". Volume: "
+                    + volumesToUnmount.get(i));
+            mHandler.obtainMessage(H_VOLUME_UNMOUNT, volumesToUnmount.get(i)).sendToTarget();
+            mHandler.obtainMessage(H_VOLUME_MOUNT, volumesToMount.get(i)).sendToTarget();
         }
     }
 
@@ -2430,10 +2445,10 @@
         super.unmount_enforcePermission();
 
         final WatchedVolumeInfo vol = findVolumeByIdOrThrow(volId);
-        unmount(vol);
+        unmount(vol.getClonedImmutableVolumeInfo());
     }
 
-    private void unmount(WatchedVolumeInfo vol) {
+    private void unmount(ImmutableVolumeInfo vol) {
         try {
             try {
                 if (vol.getType() == VolumeInfo.TYPE_PRIVATE) {
@@ -2444,7 +2459,7 @@
             }
             extendWatchdogTimeout("#unmount might be slow");
             mVold.unmount(vol.getId());
-            mStorageSessionController.onVolumeUnmount(vol.getImmutableVolumeInfo());
+            mStorageSessionController.onVolumeUnmount(vol);
         } catch (Exception e) {
             Slog.wtf(TAG, e);
         }
diff --git a/services/core/java/com/android/server/SystemTimeZone.java b/services/core/java/com/android/server/SystemTimeZone.java
index dd07081..c8810f6 100644
--- a/services/core/java/com/android/server/SystemTimeZone.java
+++ b/services/core/java/com/android/server/SystemTimeZone.java
@@ -133,6 +133,7 @@
         boolean timeZoneChanged = false;
         synchronized (SystemTimeZone.class) {
             String currentTimeZoneId = getTimeZoneId();
+            @TimeZoneConfidence int currentConfidence = getTimeZoneConfidence();
             if (currentTimeZoneId == null || !currentTimeZoneId.equals(timeZoneId)) {
                 SystemProperties.set(TIME_ZONE_SYSTEM_PROPERTY, timeZoneId);
                 if (DEBUG) {
@@ -145,6 +146,8 @@
                 String logMsg = "Time zone or confidence set: "
                         + " (new) timeZoneId=" + timeZoneId
                         + ", (new) confidence=" + confidence
+                        + ", (old) timeZoneId=" + currentTimeZoneId
+                        + ", (old) confidence=" + currentConfidence
                         + ", logInfo=" + logInfo;
                 addDebugLogEntry(logMsg);
             }
diff --git a/services/core/java/com/android/server/TelephonyRegistry.java b/services/core/java/com/android/server/TelephonyRegistry.java
index bd7a0ac..b75b7ddf 100644
--- a/services/core/java/com/android/server/TelephonyRegistry.java
+++ b/services/core/java/com/android/server/TelephonyRegistry.java
@@ -2816,13 +2816,11 @@
         if (!checkNotifyPermission("notifyEmergencyNumberList()")) {
             return;
         }
-        if (Flags.enforceTelephonyFeatureMappingForPublicApis()) {
-            if (!mContext.getPackageManager().hasSystemFeature(
-                    PackageManager.FEATURE_TELEPHONY_CALLING)) {
-                // TelephonyManager.getEmergencyNumberList() throws an exception if
-                // FEATURE_TELEPHONY_CALLING is not defined.
-                return;
-            }
+        if (!mContext.getPackageManager().hasSystemFeature(
+                PackageManager.FEATURE_TELEPHONY_CALLING)) {
+            // TelephonyManager.getEmergencyNumberList() throws an exception if
+            // FEATURE_TELEPHONY_CALLING is not defined.
+            return;
         }
 
         synchronized (mRecords) {
diff --git a/services/core/java/com/android/server/UiModeManagerService.java b/services/core/java/com/android/server/UiModeManagerService.java
index 8eda176..296f7cf 100644
--- a/services/core/java/com/android/server/UiModeManagerService.java
+++ b/services/core/java/com/android/server/UiModeManagerService.java
@@ -907,7 +907,7 @@
                     throw new IllegalArgumentException("Unknown mode: " + mode);
             }
 
-            enforceCurrentUserIfVisibleBackgroundEnabled(mCurrentUser);
+            enforceCurrentUserIfVisibleBackgroundEnabled();
 
             final int user = UserHandle.getCallingUserId();
             final long ident = Binder.clearCallingIdentity();
@@ -970,7 +970,7 @@
                 @AttentionModeThemeOverlayType int attentionModeThemeOverlayType) {
             setAttentionModeThemeOverlay_enforcePermission();
 
-            enforceCurrentUserIfVisibleBackgroundEnabled(mCurrentUser);
+            enforceCurrentUserIfVisibleBackgroundEnabled();
 
             synchronized (mLock) {
                 if (mAttentionModeThemeOverlay != attentionModeThemeOverlayType) {
@@ -1070,7 +1070,7 @@
                 return false;
             }
 
-            enforceCurrentUserIfVisibleBackgroundEnabled(mCurrentUser);
+            enforceCurrentUserIfVisibleBackgroundEnabled();
 
             // Store the last requested bedtime night mode state so that we don't need to notify
             // anyone if the user decides to switch to the night mode to bedtime.
@@ -1124,7 +1124,7 @@
                 return;
             }
 
-            enforceCurrentUserIfVisibleBackgroundEnabled(mCurrentUser);
+            enforceCurrentUserIfVisibleBackgroundEnabled();
 
             final int user = UserHandle.getCallingUserId();
             final long ident = Binder.clearCallingIdentity();
@@ -1155,7 +1155,7 @@
                 return;
             }
 
-            enforceCurrentUserIfVisibleBackgroundEnabled(mCurrentUser);
+            enforceCurrentUserIfVisibleBackgroundEnabled();
 
             final int user = UserHandle.getCallingUserId();
             final long ident = Binder.clearCallingIdentity();
@@ -1178,7 +1178,7 @@
             assertLegit(callingPackage);
             assertSingleProjectionType(projectionType);
             enforceProjectionTypePermissions(projectionType);
-            enforceCurrentUserIfVisibleBackgroundEnabled(mCurrentUser);
+            enforceCurrentUserIfVisibleBackgroundEnabled();
 
             synchronized (mLock) {
                 if (mProjectionHolders == null) {
@@ -1224,7 +1224,7 @@
             assertLegit(callingPackage);
             assertSingleProjectionType(projectionType);
             enforceProjectionTypePermissions(projectionType);
-            enforceCurrentUserIfVisibleBackgroundEnabled(mCurrentUser);
+            enforceCurrentUserIfVisibleBackgroundEnabled();
 
             return releaseProjectionUnchecked(projectionType, callingPackage);
         }
@@ -1266,7 +1266,7 @@
                 return;
             }
 
-            enforceCurrentUserIfVisibleBackgroundEnabled(mCurrentUser);
+            enforceCurrentUserIfVisibleBackgroundEnabled();
 
             synchronized (mLock) {
                 if (mProjectionListeners == null) {
diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java
index 125824c..5395d2a 100644
--- a/services/core/java/com/android/server/am/ActiveServices.java
+++ b/services/core/java/com/android/server/am/ActiveServices.java
@@ -387,6 +387,15 @@
     @Overridable
     public static final long FGS_SAW_RESTRICTIONS = 319471980L;
 
+    /**
+     * Allows system to manage foreground state of service with type
+     * <li>{@link android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK}</li>
+     */
+    @ChangeId
+    @EnabledSince(targetSdkVersion = VERSION_CODES.VANILLA_ICE_CREAM)
+    @Overridable
+    public static final long MEDIA_FGS_STATE_TRANSITION = 281762171L;
+
     final ActivityManagerService mAm;
 
     // Maximum number of services that we allow to start in the background
@@ -2616,6 +2625,13 @@
                     }
                     notification.flags |= Notification.FLAG_FOREGROUND_SERVICE;
                     r.foregroundNoti = notification;
+                    if (r.isForeground && foregroundServiceType != previousFgsType) {
+                        // An already foreground service is being started with a different fgs type
+                        // which results in the type changing without typical startForeground
+                        // logging.
+                        Slog.w(TAG_SERVICE, "FGS type change for " + r.shortInstanceName
+                                + " from " + previousFgsType + " to " + foregroundServiceType);
+                    }
                     mAm.mProcessStateController.setForegroundServiceType(r, foregroundServiceType);
                     if (!r.isForeground) {
                         final ServiceMap smap = getServiceMapLocked(r.userId);
@@ -9182,7 +9198,9 @@
         } else {
             synchronized (mAm.mPidsSelfLocked) {
                 callerApp = mAm.mPidsSelfLocked.get(callingPid);
-                caller = callerApp.getThread();
+                if (callerApp != null) {
+                    caller = callerApp.getThread();
+                }
             }
         }
         if (callerApp == null) {
@@ -9341,20 +9359,32 @@
                         == ServiceInfo.FOREGROUND_SERVICE_TYPE_NONE
                         && sr.foregroundId == notificationId) {
                     // check if service is explicitly requested by app to not be in foreground.
-                    if (sr.systemRequestedFgToBg) {
-                        Slog.d(TAG,
-                                "System initiated service transition to foreground "
-                                        + "for package "
-                                        + packageName);
-                        setServiceForegroundInnerLocked(sr, sr.foregroundId,
-                                sr.foregroundNoti, /* flags */ 0,
-                                ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK,
-                                /* callingUidStart */ 0, /* systemRequestedTransition */ true);
+                    if (sr.systemRequestedFgToBg && CompatChanges.isChangeEnabled(
+                            MEDIA_FGS_STATE_TRANSITION, sr.appInfo.uid)) {
+                        if (DEBUG_FOREGROUND_SERVICE) {
+                            Slog.d(TAG,
+                                    "System initiated service transition to foreground "
+                                            + "for package "
+                                            + packageName);
+                        }
+                        try {
+                            setServiceForegroundInnerLocked(sr, sr.foregroundId,
+                                    sr.foregroundNoti, /* flags */ 0,
+                                    ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK,
+                                    /* callingUidStart */ 0, /* systemRequestedTransition */ true);
+                        } catch (Exception e) {
+                            Slog.w(TAG,
+                                    "Exception in system initiated foreground service transition "
+                                            + "for package " + packageName
+                                            + ":" + e.toString());
+                        }
                     } else {
-                        Slog.d(TAG,
-                                "Ignoring system initiated foreground service transition for "
-                                        + "package"
-                                        + packageName);
+                        if (DEBUG_FOREGROUND_SERVICE) {
+                            Slog.d(TAG,
+                                    "Ignoring system initiated foreground service transition for "
+                                            + "package "
+                                            + packageName);
+                        }
                     }
                 }
             }
@@ -9388,14 +9418,32 @@
                 if (sr.foregroundServiceType
                         == ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK
                         && sr.foregroundId == notificationId) {
-                    Slog.d(TAG,
-                            "System initiated transition of foreground service(type:media) to bg "
-                                    + "for package"
-                                    + packageName);
-                    setServiceForegroundInnerLocked(sr, /* id */ 0,
-                            /* notification */ null, /* flags */ 0,
-                            /* foregroundServiceType */ 0, /* callingUidStart */ 0,
-                            /* systemRequestedTransition */ true);
+                    if (CompatChanges.isChangeEnabled(MEDIA_FGS_STATE_TRANSITION, sr.appInfo.uid)) {
+                        if (DEBUG_FOREGROUND_SERVICE) {
+                            Slog.d(TAG,
+                                    "System initiated transition of foreground service"
+                                            + "(type:media) to"
+                                            + " bg "
+                                            + "for package "
+                                            + packageName);
+                        }
+                        try {
+                            setServiceForegroundInnerLocked(sr, /* id */ 0,
+                                    /* notification */ null, /* flags */ 0,
+                                    /* foregroundServiceType */ 0, /* callingUidStart */ 0,
+                                    /* systemRequestedTransition */ true);
+                        } catch (Exception e) {
+                            Slog.wtf(TAG,
+                                    "Exception in system initiated background service transition "
+                                            + "for package " + packageName
+                                            + ":" + e.toString());
+                        }
+                    } else {
+                        if (DEBUG_FOREGROUND_SERVICE) {
+                            Slog.d(TAG, "Ignoring system initiated transition of foreground"
+                                    + " service(type:media)to bg for package " + packageName);
+                        }
+                    }
                 }
             }
         }
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 8b701f0..b0b34d0 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -19471,7 +19471,7 @@
     /**
      * @hide
      */
-    @EnforcePermission("android.permission.INTERACT_ACROSS_USERS_FULL")
+    @EnforcePermission(INTERACT_ACROSS_USERS_FULL)
     public IBinder refreshIntentCreatorToken(Intent intent) {
         refreshIntentCreatorToken_enforcePermission();
         IBinder binder = intent.getCreatorToken();
diff --git a/services/core/java/com/android/server/am/BroadcastQueueImpl.java b/services/core/java/com/android/server/am/BroadcastQueueImpl.java
index 36035bd..78beb18 100644
--- a/services/core/java/com/android/server/am/BroadcastQueueImpl.java
+++ b/services/core/java/com/android/server/am/BroadcastQueueImpl.java
@@ -832,7 +832,9 @@
 
             // If this receiver is going to be skipped, skip it now itself and don't even enqueue
             // it.
-            final String skipReason = mSkipPolicy.shouldSkipMessage(r, receiver);
+            final String skipReason = Flags.avoidNoteOpAtEnqueue()
+                    ? mSkipPolicy.shouldSkipAtEnqueueMessage(r, receiver)
+                    : mSkipPolicy.shouldSkipMessage(r, receiver);
             if (skipReason != null) {
                 setDeliveryState(null, null, r, i, receiver, BroadcastRecord.DELIVERY_SKIPPED,
                         "skipped by policy at enqueue: " + skipReason);
diff --git a/services/core/java/com/android/server/am/BroadcastSkipPolicy.java b/services/core/java/com/android/server/am/BroadcastSkipPolicy.java
index d2af84c..b0d5994 100644
--- a/services/core/java/com/android/server/am/BroadcastSkipPolicy.java
+++ b/services/core/java/com/android/server/am/BroadcastSkipPolicy.java
@@ -71,10 +71,20 @@
      *         {@code null} if it can proceed.
      */
     public @Nullable String shouldSkipMessage(@NonNull BroadcastRecord r, @NonNull Object target) {
+        return shouldSkipMessage(r, target, false /* preflight */);
+    }
+
+    public @Nullable String shouldSkipAtEnqueueMessage(@NonNull BroadcastRecord r,
+            @NonNull Object target) {
+        return shouldSkipMessage(r, target, true /* preflight */);
+    }
+
+    private @Nullable String shouldSkipMessage(@NonNull BroadcastRecord r, @NonNull Object target,
+            boolean preflight) {
         if (target instanceof BroadcastFilter) {
-            return shouldSkipMessage(r, (BroadcastFilter) target);
+            return shouldSkipMessage(r, (BroadcastFilter) target, preflight);
         } else {
-            return shouldSkipMessage(r, (ResolveInfo) target);
+            return shouldSkipMessage(r, (ResolveInfo) target, preflight);
         }
     }
 
@@ -86,7 +96,7 @@
      *         {@code null} if it can proceed.
      */
     private @Nullable String shouldSkipMessage(@NonNull BroadcastRecord r,
-            @NonNull ResolveInfo info) {
+            @NonNull ResolveInfo info, boolean preflight) {
         final BroadcastOptions brOptions = r.options;
         final ComponentName component = new ComponentName(
                 info.activityInfo.applicationInfo.packageName,
@@ -134,15 +144,23 @@
                         + " requires " + info.activityInfo.permission;
             }
         } else if (info.activityInfo.permission != null) {
-            final int opCode = AppOpsManager.permissionToOpCode(info.activityInfo.permission);
-            if (opCode != AppOpsManager.OP_NONE && mService.getAppOpsManager().noteOpNoThrow(opCode,
-                    r.callingUid, r.callerPackage, r.callerFeatureId,
-                    "Broadcast delivered to " + info.activityInfo.name)
-                    != AppOpsManager.MODE_ALLOWED) {
-                return "Appop Denial: broadcasting "
-                        + broadcastDescription(r, component)
-                        + " requires appop " + AppOpsManager.permissionToOp(
-                                info.activityInfo.permission);
+            final String op = AppOpsManager.permissionToOp(info.activityInfo.permission);
+            if (op != null) {
+                final int mode;
+                if (preflight) {
+                    mode = mService.getAppOpsManager().checkOpNoThrow(op,
+                            r.callingUid, r.callerPackage, r.callerFeatureId);
+                } else {
+                    mode = mService.getAppOpsManager().noteOpNoThrow(op,
+                            r.callingUid, r.callerPackage, r.callerFeatureId,
+                            "Broadcast delivered to " + info.activityInfo.name);
+                }
+                if (mode != AppOpsManager.MODE_ALLOWED) {
+                    return "Appop Denial: broadcasting "
+                            + broadcastDescription(r, component)
+                            + " requires appop " + AppOpsManager.permissionToOp(
+                                    info.activityInfo.permission);
+                }
             }
         }
 
@@ -250,8 +268,8 @@
                     perm = PackageManager.PERMISSION_DENIED;
                 }
 
-                int appOp = AppOpsManager.permissionToOpCode(excludedPermission);
-                if (appOp != AppOpsManager.OP_NONE) {
+                final String appOp = AppOpsManager.permissionToOp(excludedPermission);
+                if (appOp != null) {
                     // When there is an app op associated with the permission,
                     // skip when both the permission and the app op are
                     // granted.
@@ -259,7 +277,7 @@
                                 mService.getAppOpsManager().checkOpNoThrow(appOp,
                                 info.activityInfo.applicationInfo.uid,
                                 info.activityInfo.packageName)
-                            == AppOpsManager.MODE_ALLOWED)) {
+                                        == AppOpsManager.MODE_ALLOWED)) {
                         return "Skipping delivery to " + info.activityInfo.packageName
                                 + " due to excluded permission " + excludedPermission;
                     }
@@ -292,9 +310,10 @@
                     createAttributionSourcesForResolveInfo(info);
             for (int i = 0; i < r.requiredPermissions.length; i++) {
                 String requiredPermission = r.requiredPermissions[i];
-                perm = hasPermissionForDataDelivery(
+                perm = hasPermission(
                         requiredPermission,
                         "Broadcast delivered to " + info.activityInfo.name,
+                        preflight,
                         attributionSources)
                                 ? PackageManager.PERMISSION_GRANTED
                                 : PackageManager.PERMISSION_DENIED;
@@ -308,10 +327,14 @@
                 }
             }
         }
-        if (r.appOp != AppOpsManager.OP_NONE) {
-            if (!noteOpForManifestReceiver(r.appOp, r, info, component)) {
+        if (r.appOp != AppOpsManager.OP_NONE && AppOpsManager.isValidOp(r.appOp)) {
+            final String op = AppOpsManager.opToPublicName(r.appOp);
+            final boolean appOpAllowed = preflight
+                    ? checkOpForManifestReceiver(r.appOp, op, r, info, component)
+                    : noteOpForManifestReceiver(r.appOp, op, r, info, component);
+            if (!appOpAllowed) {
                 return "Skipping delivery to " + info.activityInfo.packageName
-                        + " due to required appop " + r.appOp;
+                        + " due to required appop " + AppOpsManager.opToName(r.appOp);
             }
         }
 
@@ -338,7 +361,7 @@
      *         {@code null} if it can proceed.
      */
     private @Nullable String shouldSkipMessage(@NonNull BroadcastRecord r,
-            @NonNull BroadcastFilter filter) {
+            @NonNull BroadcastFilter filter, boolean preflight) {
         if (r.options != null && !r.options.testRequireCompatChange(filter.owningUid)) {
             return "Compat change filtered: broadcasting " + r.intent.toString()
                     + " to uid " + filter.owningUid + " due to compat change "
@@ -372,18 +395,25 @@
                         + " requires " + filter.requiredPermission
                         + " due to registered receiver " + filter;
             } else {
-                final int opCode = AppOpsManager.permissionToOpCode(filter.requiredPermission);
-                if (opCode != AppOpsManager.OP_NONE
-                        && mService.getAppOpsManager().noteOpNoThrow(opCode, r.callingUid,
-                        r.callerPackage, r.callerFeatureId, "Broadcast sent to protected receiver")
-                        != AppOpsManager.MODE_ALLOWED) {
-                    return "Appop Denial: broadcasting "
-                            + r.intent.toString()
-                            + " from " + r.callerPackage + " (pid="
-                            + r.callingPid + ", uid=" + r.callingUid + ")"
-                            + " requires appop " + AppOpsManager.permissionToOp(
-                                    filter.requiredPermission)
-                            + " due to registered receiver " + filter;
+                final String op = AppOpsManager.permissionToOp(filter.requiredPermission);
+                if (op != null) {
+                    final int mode;
+                    if (preflight) {
+                        mode = mService.getAppOpsManager().checkOpNoThrow(op,
+                                r.callingUid, r.callerPackage, r.callerFeatureId);
+                    } else {
+                        mode = mService.getAppOpsManager().noteOpNoThrow(op, r.callingUid,
+                                r.callerPackage, r.callerFeatureId,
+                                "Broadcast sent to protected receiver");
+                    }
+                    if (mode != AppOpsManager.MODE_ALLOWED) {
+                        return "Appop Denial: broadcasting "
+                                + r.intent
+                                + " from " + r.callerPackage + " (pid="
+                                + r.callingPid + ", uid=" + r.callingUid + ")"
+                                + " requires appop " + op
+                                + " due to registered receiver " + filter;
+                    }
                 }
             }
         }
@@ -433,9 +463,10 @@
                             .build();
             for (int i = 0; i < r.requiredPermissions.length; i++) {
                 String requiredPermission = r.requiredPermissions[i];
-                final int perm = hasPermissionForDataDelivery(
+                final int perm = hasPermission(
                         requiredPermission,
                         "Broadcast delivered to registered receiver " + filter.receiverId,
+                        preflight,
                         attributionSource)
                                 ? PackageManager.PERMISSION_GRANTED
                                 : PackageManager.PERMISSION_DENIED;
@@ -471,8 +502,8 @@
                 final int perm = checkComponentPermission(excludedPermission,
                         filter.receiverList.pid, filter.receiverList.uid, -1, true);
 
-                int appOp = AppOpsManager.permissionToOpCode(excludedPermission);
-                if (appOp != AppOpsManager.OP_NONE) {
+                final String appOp = AppOpsManager.permissionToOp(excludedPermission);
+                if (appOp != null) {
                     // When there is an app op associated with the permission,
                     // skip when both the permission and the app op are
                     // granted.
@@ -480,14 +511,13 @@
                             mService.getAppOpsManager().checkOpNoThrow(appOp,
                                     filter.receiverList.uid,
                                     filter.packageName)
-                                    == AppOpsManager.MODE_ALLOWED)) {
+                                        == AppOpsManager.MODE_ALLOWED)) {
                         return "Appop Denial: receiving "
-                                + r.intent.toString()
+                                + r.intent
                                 + " to " + filter.receiverList.app
                                 + " (pid=" + filter.receiverList.pid
                                 + ", uid=" + filter.receiverList.uid + ")"
-                                + " excludes appop " + AppOpsManager.permissionToOp(
-                                excludedPermission)
+                                + " excludes appop " + appOp
                                 + " due to sender " + r.callerPackage
                                 + " (uid " + r.callingUid + ")";
                     }
@@ -496,7 +526,7 @@
                     // skip when permission is granted.
                     if (perm == PackageManager.PERMISSION_GRANTED) {
                         return "Permission Denial: receiving "
-                                + r.intent.toString()
+                                + r.intent
                                 + " to " + filter.receiverList.app
                                 + " (pid=" + filter.receiverList.pid
                                 + ", uid=" + filter.receiverList.uid + ")"
@@ -523,19 +553,27 @@
         }
 
         // If the broadcast also requires an app op check that as well.
-        if (r.appOp != AppOpsManager.OP_NONE
-                && mService.getAppOpsManager().noteOpNoThrow(r.appOp,
-                filter.receiverList.uid, filter.packageName, filter.featureId,
-                "Broadcast delivered to registered receiver " + filter.receiverId)
-                != AppOpsManager.MODE_ALLOWED) {
-            return "Appop Denial: receiving "
-                    + r.intent.toString()
-                    + " to " + filter.receiverList.app
-                    + " (pid=" + filter.receiverList.pid
-                    + ", uid=" + filter.receiverList.uid + ")"
-                    + " requires appop " + AppOpsManager.opToName(r.appOp)
-                    + " due to sender " + r.callerPackage
-                    + " (uid " + r.callingUid + ")";
+        if (r.appOp != AppOpsManager.OP_NONE && AppOpsManager.isValidOp(r.appOp)) {
+            final String op = AppOpsManager.opToPublicName(r.appOp);
+            final int mode;
+            if (preflight) {
+                mode = mService.getAppOpsManager().checkOpNoThrow(op,
+                        filter.receiverList.uid, filter.packageName, filter.featureId);
+            } else {
+                mode = mService.getAppOpsManager().noteOpNoThrow(op,
+                        filter.receiverList.uid, filter.packageName, filter.featureId,
+                        "Broadcast delivered to registered receiver " + filter.receiverId);
+            }
+            if (mode != AppOpsManager.MODE_ALLOWED) {
+                return "Appop Denial: receiving "
+                        + r.intent
+                        + " to " + filter.receiverList.app
+                        + " (pid=" + filter.receiverList.pid
+                        + ", uid=" + filter.receiverList.uid + ")"
+                        + " requires appop " + AppOpsManager.opToName(r.appOp)
+                        + " due to sender " + r.callerPackage
+                        + " (uid " + r.callingUid + ")";
+            }
         }
 
         // Ensure that broadcasts are only sent to other apps if they are explicitly marked as
@@ -572,14 +610,14 @@
                 + ", uid=" + r.callingUid + ") to " + component.flattenToShortString();
     }
 
-    private boolean noteOpForManifestReceiver(int appOp, BroadcastRecord r, ResolveInfo info,
-            ComponentName component) {
+    private boolean noteOpForManifestReceiver(int opCode, String appOp, BroadcastRecord r,
+            ResolveInfo info, ComponentName component) {
         if (ArrayUtils.isEmpty(info.activityInfo.attributionTags)) {
-            return noteOpForManifestReceiverInner(appOp, r, info, component, null);
+            return noteOpForManifestReceiverInner(opCode, appOp, r, info, component, null);
         } else {
             // Attribution tags provided, noteOp each tag
             for (String tag : info.activityInfo.attributionTags) {
-                if (!noteOpForManifestReceiverInner(appOp, r, info, component, tag)) {
+                if (!noteOpForManifestReceiverInner(opCode, appOp, r, info, component, tag)) {
                     return false;
                 }
             }
@@ -587,8 +625,8 @@
         }
     }
 
-    private boolean noteOpForManifestReceiverInner(int appOp, BroadcastRecord r, ResolveInfo info,
-            ComponentName component, String tag) {
+    private boolean noteOpForManifestReceiverInner(int opCode, String appOp, BroadcastRecord r,
+            ResolveInfo info, ComponentName component, String tag) {
         if (mService.getAppOpsManager().noteOpNoThrow(appOp,
                     info.activityInfo.applicationInfo.uid,
                     info.activityInfo.packageName,
@@ -598,7 +636,37 @@
             Slog.w(TAG, "Appop Denial: receiving "
                     + r.intent + " to "
                     + component.flattenToShortString()
-                    + " requires appop " + AppOpsManager.opToName(appOp)
+                    + " requires appop " + AppOpsManager.opToName(opCode)
+                    + " due to sender " + r.callerPackage
+                    + " (uid " + r.callingUid + ")");
+            return false;
+        }
+        return true;
+    }
+
+    private boolean checkOpForManifestReceiver(int opCode, String appOp, BroadcastRecord r,
+            ResolveInfo info, ComponentName component) {
+        if (ArrayUtils.isEmpty(info.activityInfo.attributionTags)) {
+            return checkOpForManifestReceiverInner(opCode, appOp, r, info, component, null);
+        } else {
+            // Attribution tags provided, noteOp each tag
+            for (String tag : info.activityInfo.attributionTags) {
+                if (!checkOpForManifestReceiverInner(opCode, appOp, r, info, component, tag)) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+    private boolean checkOpForManifestReceiverInner(int opCode, String appOp, BroadcastRecord r,
+            ResolveInfo info, ComponentName component, String tag) {
+        if (mService.getAppOpsManager().checkOpNoThrow(appOp, info.activityInfo.applicationInfo.uid,
+                info.activityInfo.packageName, tag) != AppOpsManager.MODE_ALLOWED) {
+            Slog.w(TAG, "Appop Denial: receiving "
+                    + r.intent + " to "
+                    + component.flattenToShortString()
+                    + " requires appop " + AppOpsManager.opToName(opCode)
                     + " due to sender " + r.callerPackage
                     + " (uid " + r.callingUid + ")");
             return false;
@@ -694,9 +762,10 @@
         return mPermissionManager;
     }
 
-    private boolean hasPermissionForDataDelivery(
+    private boolean hasPermission(
             @NonNull String permission,
             @NonNull String message,
+            boolean preflight,
             @NonNull AttributionSource... attributionSources) {
         final PermissionManager permissionManager = getPermissionManager();
         if (permissionManager == null) {
@@ -704,9 +773,14 @@
         }
 
         for (AttributionSource attributionSource : attributionSources) {
-            final int permissionCheckResult =
-                    permissionManager.checkPermissionForDataDelivery(
-                            permission, attributionSource, message);
+            final int permissionCheckResult;
+            if (preflight) {
+                permissionCheckResult = permissionManager.checkPermissionForPreflight(
+                        permission, attributionSource);
+            } else {
+                permissionCheckResult = permissionManager.checkPermissionForDataDelivery(
+                        permission, attributionSource, message);
+            }
             if (permissionCheckResult != PackageManager.PERMISSION_GRANTED) {
                 return false;
             }
diff --git a/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java b/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java
index f1007e7..0954c49 100644
--- a/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java
+++ b/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java
@@ -238,6 +238,8 @@
         "pixel_connectivity_gps",
         "pixel_continuity",
         "pixel_display",
+        "pixel_fingerprint",
+        "pixel_gsc",
         "pixel_perf",
         "pixel_sensai",
         "pixel_sensors",
@@ -245,6 +247,7 @@
         "pixel_system_sw_video",
         "pixel_video_sw",
         "pixel_watch",
+        "pixel_wifi",
         "platform_compat",
         "platform_security",
         "pixel_watch_debug_trace",
diff --git a/services/core/java/com/android/server/am/broadcasts_flags.aconfig b/services/core/java/com/android/server/am/broadcasts_flags.aconfig
index 7f169db..68e21a3 100644
--- a/services/core/java/com/android/server/am/broadcasts_flags.aconfig
+++ b/services/core/java/com/android/server/am/broadcasts_flags.aconfig
@@ -15,4 +15,15 @@
     description: "Limit the scope of receiver priorities to within a process"
     is_fixed_read_only: true
     bug: "369487976"
+}
+
+flag {
+    name: "avoid_note_op_at_enqueue"
+    namespace: "backstage_power"
+    description: "Avoid triggering noteOp while enqueueing a broadcast"
+    is_fixed_read_only: true
+    bug: "268016162"
+    metadata {
+        purpose: PURPOSE_BUGFIX
+    }
 }
\ No newline at end of file
diff --git a/services/core/java/com/android/server/appop/AppOpsService.java b/services/core/java/com/android/server/appop/AppOpsService.java
index c8b8909..f7d7ed5 100644
--- a/services/core/java/com/android/server/appop/AppOpsService.java
+++ b/services/core/java/com/android/server/appop/AppOpsService.java
@@ -3006,7 +3006,7 @@
             UidState uidState = getUidStateLocked(uid, false);
             if (uidState != null) {
                 int rawUidMode = mAppOpsCheckingService.getUidMode(
-                        uidState.uid, getPersistentId(virtualDeviceId), code);
+                        uidState.uid, getPersistentDeviceIdForOp(virtualDeviceId, code), code);
 
                 if (rawUidMode != AppOpsManager.opToDefaultMode(code)) {
                     return raw ? rawUidMode :
@@ -3069,7 +3069,7 @@
 
             int switchCode = AppOpsManager.opToSwitch(code);
             int rawUidMode = mAppOpsCheckingService.getUidMode(uid,
-                    getPersistentId(virtualDeviceId), switchCode);
+                    getPersistentDeviceIdForOp(virtualDeviceId, switchCode), switchCode);
 
             if (rawUidMode != AppOpsManager.opToDefaultMode(switchCode)) {
                 return raw ? rawUidMode : evaluateForegroundMode(uid, switchCode, rawUidMode);
@@ -3396,7 +3396,7 @@
             }
             final Op op = getOpLocked(ops, code, uid, true);
             final AttributedOp attributedOp = op.getOrCreateAttribution(op, attributionTag,
-                    getPersistentId(virtualDeviceId));
+                    getPersistentDeviceIdForOp(virtualDeviceId, code));
             if (attributedOp.isRunning()) {
                 Slog.w(TAG, "Noting op not finished: uid " + uid + " pkg " + packageName + " code "
                         + code + " startTime of in progress event="
@@ -3418,15 +3418,15 @@
 
                 // If there is a non-default per UID policy (we set UID op mode only if
                 // non-default) it takes over, otherwise use the per package policy.
-            } else if (mAppOpsCheckingService.getUidMode(
-                            uidState.uid, getPersistentId(virtualDeviceId), switchCode)
+            } else if (mAppOpsCheckingService.getUidMode(uidState.uid,
+                    getPersistentDeviceIdForOp(virtualDeviceId, switchCode), switchCode)
                     != AppOpsManager.opToDefaultMode(switchCode)) {
                 final int uidMode =
                         uidState.evalMode(
                                 code,
                                 mAppOpsCheckingService.getUidMode(
                                         uidState.uid,
-                                        getPersistentId(virtualDeviceId),
+                                        getPersistentDeviceIdForOp(virtualDeviceId, switchCode),
                                         switchCode));
                 if (uidMode != AppOpsManager.MODE_ALLOWED) {
                     if (DEBUG) Slog.d(TAG, "noteOperation: uid reject #" + uidMode + " for code "
@@ -3478,7 +3478,8 @@
                     virtualDeviceId, flags, AppOpsManager.MODE_ALLOWED);
 
             attributedOp.accessed(proxyUid, proxyPackageName, proxyAttributionTag,
-                    getPersistentId(proxyVirtualDeviceId), uidState.getState(), flags, notedCount);
+                    getPersistentDeviceIdForOp(proxyVirtualDeviceId, code), uidState.getState(),
+                    flags, notedCount);
 
             if (shouldCollectAsyncNotedOp) {
                 collectAsyncNotedOp(uid, packageName, code, attributionTag, flags, message,
@@ -4045,7 +4046,7 @@
             }
             final Op op = getOpLocked(ops, code, uid, true);
             final AttributedOp attributedOp = op.getOrCreateAttribution(op, attributionTag,
-                    getPersistentId(virtualDeviceId));
+                    getPersistentDeviceIdForOp(virtualDeviceId, code));
             final UidState uidState = ops.uidState;
             isRestricted = isOpRestrictedLocked(uid, code, packageName, attributionTag,
                     virtualDeviceId, pvr.bypass, false);
@@ -4058,8 +4059,9 @@
                 // If there is a non-default per UID policy (we set UID op mode only if
                 // non-default) it takes over, otherwise use the per package policy.
             } else if ((rawUidMode =
-                            mAppOpsCheckingService.getUidMode(
-                                    uidState.uid, getPersistentId(virtualDeviceId), switchCode))
+                    mAppOpsCheckingService.getUidMode(
+                            uidState.uid, getPersistentDeviceIdForOp(virtualDeviceId, switchCode),
+                            switchCode))
                     != AppOpsManager.opToDefaultMode(switchCode)) {
                 final int uidMode = uidState.evalMode(code, rawUidMode);
                 if (!shouldStartForMode(uidMode, startIfModeDefault)) {
@@ -4107,11 +4109,13 @@
             try {
                 if (isRestricted) {
                     attributedOp.createPaused(clientId, virtualDeviceId, proxyUid, proxyPackageName,
-                            proxyAttributionTag, getPersistentId(proxyVirtualDeviceId),
+                            proxyAttributionTag,
+                            getPersistentDeviceIdForOp(proxyVirtualDeviceId, code),
                             uidState.getState(), flags, attributionFlags, attributionChainId);
                 } else {
                     attributedOp.started(clientId, virtualDeviceId, proxyUid, proxyPackageName,
-                            proxyAttributionTag, getPersistentId(proxyVirtualDeviceId),
+                            proxyAttributionTag,
+                            getPersistentDeviceIdForOp(proxyVirtualDeviceId, code),
                             uidState.getState(), flags, attributionFlags, attributionChainId);
                     startType = START_TYPE_STARTED;
                 }
@@ -4179,15 +4183,15 @@
             final int switchCode = AppOpsManager.opToSwitch(code);
             // If there is a non-default mode per UID policy (we set UID op mode only if
             // non-default) it takes over, otherwise use the per package policy.
-            if (mAppOpsCheckingService.getUidMode(
-                            uidState.uid, getPersistentId(virtualDeviceId), switchCode)
+            if (mAppOpsCheckingService.getUidMode(uidState.uid,
+                    getPersistentDeviceIdForOp(virtualDeviceId, switchCode), switchCode)
                     != AppOpsManager.opToDefaultMode(switchCode)) {
                 final int uidMode =
                         uidState.evalMode(
                                 code,
                                 mAppOpsCheckingService.getUidMode(
                                         uidState.uid,
-                                        getPersistentId(virtualDeviceId),
+                                        getPersistentDeviceIdForOp(virtualDeviceId, switchCode),
                                         switchCode));
                 if (!shouldStartForMode(uidMode, startIfModeDefault)) {
                     if (DEBUG) {
@@ -4350,7 +4354,8 @@
                 return;
             }
             final AttributedOp attributedOp =
-                    op.mDeviceAttributedOps.getOrDefault(getPersistentId(virtualDeviceId),
+                    op.mDeviceAttributedOps.getOrDefault(
+                            getPersistentDeviceIdForOp(virtualDeviceId, code),
                             new ArrayMap<>()).get(attributionTag);
             if (attributedOp == null) {
                 Slog.e(TAG, "Attribution not found: uid=" + uid + " pkg=" + packageName + "("
@@ -4641,7 +4646,8 @@
             return true;
         }
         if (mVirtualDeviceManagerInternal == null) {
-            return true;
+            Slog.w(TAG, "VirtualDeviceManagerInternal is null when device Id is non-default");
+            return false;
         }
         if (mVirtualDeviceManagerInternal.isValidVirtualDeviceId(virtualDeviceId)) {
             mKnownDeviceIds.put(virtualDeviceId,
@@ -7310,7 +7316,13 @@
         return packageNames;
     }
 
-    @NonNull private String getPersistentId(int virtualDeviceId) {
+    // For ops associated with device aware permissions, if virtual device id is non-default, we
+    // will return string version of that id provided the virtual device has corresponding camera or
+    // audio policy.
+    @NonNull private String getPersistentDeviceIdForOp(int virtualDeviceId, int op) {
+        virtualDeviceId = PermissionManager.resolveDeviceIdForPermissionCheck(mContext,
+                virtualDeviceId, AppOpsManager.opToPermission(op));
+
         if (virtualDeviceId == Context.DEVICE_ID_DEFAULT) {
             return PERSISTENT_DEVICE_ID_DEFAULT;
         }
@@ -7319,6 +7331,7 @@
         }
         String persistentId =
                 mVirtualDeviceManagerInternal.getPersistentIdForDevice(virtualDeviceId);
+
         if (persistentId == null) {
             persistentId = mKnownDeviceIds.get(virtualDeviceId);
         }
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java
index b85967f..0f1228f 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,
@@ -1181,9 +1164,11 @@
     @GuardedBy("mAccessibilityServiceUidsLock")
     private int[] mAccessibilityServiceUids;
 
-    // Uid of the active input method service to check if caller is the one or not.
-    private int mInputMethodServiceUid = android.os.Process.INVALID_UID;
+    // Input Method
     private final Object mInputMethodServiceUidLock = new Object();
+    // Uid of the active input method service to check if caller is the one or not.
+    @GuardedBy("mInputMethodServiceUidLock")
+    private int mInputMethodServiceUid = android.os.Process.INVALID_UID;
 
     private int mEncodedSurroundMode;
     private String mEnabledSurroundFormats;
@@ -1286,8 +1271,7 @@
         }
     };
 
-    @GuardedBy("mSettingsLock")
-    private boolean mRttEnabled = false;
+    private AtomicBoolean mRttEnabled = new AtomicBoolean(false);
 
     private AtomicBoolean mMasterMute = new AtomicBoolean(false);
 
@@ -1638,7 +1622,9 @@
 
         mMusicFxHelper = new MusicFxHelper(mContext, mAudioHandler);
 
-        mHardeningEnforcer = new HardeningEnforcer(mContext, isPlatformAutomotive(), mAppOps,
+        mHardeningEnforcer = new HardeningEnforcer(mContext, isPlatformAutomotive(),
+                mShouldEnableAllHardening,
+                mAppOps,
                 context.getPackageManager(),
                 mHardeningLogger);
     }
@@ -1664,13 +1650,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);
@@ -2077,11 +2063,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");
 
@@ -2108,13 +2092,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();
         }
 
@@ -3251,9 +3235,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);
@@ -3934,7 +3919,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()) {
@@ -4277,7 +4264,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");
@@ -4695,7 +4682,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,
@@ -6144,7 +6133,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)
@@ -6847,7 +6838,7 @@
         return false;
     }
 
-    /** @see AudioManager#setRttEnabled() */
+    /** @see AudioManager#setRttEnabled(boolean)  */
     @Override
     public void setRttEnabled(boolean rttEnabled) {
         if (mContext.checkCallingOrSelfPermission(
@@ -6857,8 +6848,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);
@@ -6868,6 +6859,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,
@@ -6913,7 +6909,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,
@@ -6928,7 +6926,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);
@@ -7649,7 +7649,7 @@
             ringerModeAffectedStreams = mRingerModeDelegate
                     .getRingerModeAffectedStreams(ringerModeAffectedStreams);
         }
-        if (mCameraSoundForced) {
+        if (mCameraSoundForced.get()) {
             ringerModeAffectedStreams &= ~(1 << AudioSystem.STREAM_SYSTEM_ENFORCED);
         } else {
             ringerModeAffectedStreams |= (1 << AudioSystem.STREAM_SYSTEM_ENFORCED);
@@ -8032,11 +8032,11 @@
             } else if (deviceSet.contains(AudioSystem.DEVICE_OUT_SPDIF)) {
                 return AudioSystem.DEVICE_OUT_SPDIF;
             } else {
-                // At this point, deviceSet should contain exactly one A2DP device;
-                // regardless, return the first A2DP device in numeric order.
-                // If there is no A2DP device, this falls through to log an error.
+                // At this point, deviceSet should contain exactly one removable device;
+                // regardless, return the first removable device in numeric order.
+                // If there is no removable device, this falls through to log an error.
                 for (int deviceType : deviceSet) {
-                    if (AudioSystem.DEVICE_OUT_ALL_A2DP_SET.contains(deviceType)) {
+                    if (AudioSystem.DEVICE_OUT_PICK_FOR_VOLUME_SET.contains(deviceType)) {
                         return deviceType;
                     }
                 }
@@ -9173,7 +9173,7 @@
                         continue;
                     }
                     if (mPublicStreamType == AudioSystem.STREAM_SYSTEM_ENFORCED
-                            && mCameraSoundForced) {
+                            && mCameraSoundForced.get()) {
                         index = mIndexMax;
                     }
                     if (DEBUG_VOL) {
@@ -9536,28 +9536,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
@@ -9706,7 +9703,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);
@@ -11409,7 +11407,7 @@
 
     /** see {@link AudioManager#getFocusDuckedUidsForTest()} */
     @Override
-    @EnforcePermission("android.permission.QUERY_AUDIO_STATE")
+    @EnforcePermission(QUERY_AUDIO_STATE)
     public @NonNull List<Integer> getFocusDuckedUidsForTest() {
         super.getFocusDuckedUidsForTest_enforcePermission();
         return mPlaybackMonitor.getFocusDuckedUids();
@@ -11436,7 +11434,7 @@
      * @see AudioManager#getFocusFadeOutDurationForTest()
      * @return the fade out duration, in ms
      */
-    @EnforcePermission("android.permission.QUERY_AUDIO_STATE")
+    @EnforcePermission(QUERY_AUDIO_STATE)
     public long getFocusFadeOutDurationForTest() {
         super.getFocusFadeOutDurationForTest_enforcePermission();
         return mMediaFocusControl.getFocusFadeOutDurationForTest();
@@ -11449,7 +11447,7 @@
      * @return the time gap after a fade out completion on focus loss, and fade in start, in ms
      */
     @Override
-    @EnforcePermission("android.permission.QUERY_AUDIO_STATE")
+    @EnforcePermission(QUERY_AUDIO_STATE)
     public long getFocusUnmuteDelayAfterFadeOutForTest() {
         super.getFocusUnmuteDelayAfterFadeOutForTest_enforcePermission();
         return mMediaFocusControl.getFocusUnmuteDelayAfterFadeOutForTest();
@@ -12232,10 +12230,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) {
@@ -12265,7 +12263,6 @@
                             0,
                             0,
                             getVssForStreamOrDefault(AudioSystem.STREAM_SYSTEM_ENFORCED), 0);
-
                 }
             }
             mVolumeController.setLayoutDirection(config.getLayoutDirection());
@@ -12630,14 +12627,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();
     }
 
     //==========================================================================================
@@ -15489,4 +15483,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/display/LocalDisplayAdapter.java b/services/core/java/com/android/server/display/LocalDisplayAdapter.java
index 324f95a..551202c 100644
--- a/services/core/java/com/android/server/display/LocalDisplayAdapter.java
+++ b/services/core/java/com/android/server/display/LocalDisplayAdapter.java
@@ -51,7 +51,6 @@
 import android.view.SurfaceControl;
 
 import com.android.internal.R;
-import com.android.internal.annotations.KeepForWeakReference;
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.display.BrightnessSynchronizer;
 import com.android.internal.util.function.pooled.PooledLambda;
@@ -1052,7 +1051,9 @@
 
                     void handleHdrSdrNitsChanged(float displayNits, float sdrNits) {
                         final float newHdrSdrRatio;
-                        if (displayNits != INVALID_NITS && sdrNits != INVALID_NITS) {
+                        if (displayNits != INVALID_NITS && sdrNits != INVALID_NITS
+                            && (mBacklightAdapter.mUseSurfaceControlBrightness ||
+                                mBacklightAdapter.mForceSurfaceControl)) {
                             // Ensure the ratio stays >= 1.0f as values below that are nonsensical
                             newHdrSdrRatio = Math.max(1.f, displayNits / sdrNits);
                         } else {
@@ -1548,9 +1549,7 @@
     }
 
     public static class Injector {
-        // Ensure the callback is kept to preserve native weak reference lifecycle semantics.
         @SuppressWarnings("unused")
-        @KeepForWeakReference
         private ProxyDisplayEventReceiver mReceiver;
         public void setDisplayEventListenerLocked(Looper looper, DisplayEventListener listener) {
             mReceiver = new ProxyDisplayEventReceiver(looper, listener);
diff --git a/services/core/java/com/android/server/display/color/OWNERS b/services/core/java/com/android/server/display/color/OWNERS
index 27adf12..8f5a9a0 100644
--- a/services/core/java/com/android/server/display/color/OWNERS
+++ b/services/core/java/com/android/server/display/color/OWNERS
@@ -1,4 +1,3 @@
 christyfranks@google.com
-justinklaassen@google.com
 
-per-file DisplayTransformManager.java=michaelwr@google.com
\ No newline at end of file
+per-file DisplayTransformManager.java=michaelwr@google.com
diff --git a/services/core/java/com/android/server/display/mode/ModeChangeObserver.java b/services/core/java/com/android/server/display/mode/ModeChangeObserver.java
index bbc13cc..2751835 100644
--- a/services/core/java/com/android/server/display/mode/ModeChangeObserver.java
+++ b/services/core/java/com/android/server/display/mode/ModeChangeObserver.java
@@ -23,8 +23,6 @@
 import android.view.DisplayAddress;
 import android.view.DisplayEventReceiver;
 
-import com.android.internal.annotations.KeepForWeakReference;
-
 import java.util.HashSet;
 import java.util.Set;
 
@@ -35,7 +33,6 @@
     private final DisplayModeDirector.Injector mInjector;
 
     @SuppressWarnings("unused")
-    @KeepForWeakReference
     private DisplayEventReceiver mModeChangeListener;
     private final SparseArray<Set<Integer>> mRejectedModesByDisplay = new SparseArray<>();
     private Looper mLooper;
diff --git a/services/core/java/com/android/server/dreams/DreamManagerService.java b/services/core/java/com/android/server/dreams/DreamManagerService.java
index 2af74f6..144caea 100644
--- a/services/core/java/com/android/server/dreams/DreamManagerService.java
+++ b/services/core/java/com/android/server/dreams/DreamManagerService.java
@@ -569,8 +569,7 @@
     }
 
     private void requestDreamInternal() {
-        if (isDreamingInternal() && !dreamIsFrontmost() && mController.bringDreamToFront()
-                && !isDozingInternal()) {
+        if (isDreamingInternal() && !dreamIsFrontmost() && mController.bringDreamToFront()) {
             return;
         }
 
@@ -1366,6 +1365,21 @@
             }
         }
 
+        @Override
+        public void setScreensaverEnabled(boolean enabled) {
+            checkPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS);
+            final UserHandle userHandle = getCallingUserHandle();
+            final long ident = Binder.clearCallingIdentity();
+            try {
+                Settings.Secure.putIntForUser(mContext.getContentResolver(),
+                        Settings.Secure.SCREENSAVER_ENABLED, enabled ? 1 : 0,
+                        userHandle.getIdentifier());
+                mPowerManagerInternal.updateSettings();
+            } finally {
+                Binder.restoreCallingIdentity(ident);
+            }
+        }
+
         boolean canLaunchDreamActivity(String dreamPackageName, String packageName,
                 int callingUid) {
             if (dreamPackageName == null || packageName == null) {
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceSource.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceSource.java
index 6157402..69a2a1c 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceSource.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceSource.java
@@ -197,6 +197,8 @@
         boolean wasActiveSource = isActiveSource();
         super.setActiveSource(logicalAddress, physicalAddress, caller);
         if (wasActiveSource && !isActiveSource()) {
+            // Prevent focus stealing when losing active source.
+            removeAction(ActiveSourceAction.class);
             onActiveSourceLost();
         }
     }
diff --git a/services/core/java/com/android/server/hdmi/SystemAudioAction.java b/services/core/java/com/android/server/hdmi/SystemAudioAction.java
index f14cda1..11b2805 100644
--- a/services/core/java/com/android/server/hdmi/SystemAudioAction.java
+++ b/services/core/java/com/android/server/hdmi/SystemAudioAction.java
@@ -96,8 +96,10 @@
             public void onSendCompleted(int error) {
                 if (error != SendMessageResult.SUCCESS) {
                     HdmiLogger.debug("Failed to send <System Audio Mode Request>:" + error);
-                    setSystemAudioMode(false);
-                    finishWithCallback(HdmiControlManager.RESULT_COMMUNICATION_FAILED);
+                    if (error == SendMessageResult.FAIL) {
+                        setSystemAudioMode(false);
+                        finishWithCallback(HdmiControlManager.RESULT_COMMUNICATION_FAILED);
+                    }
                 }
             }
         });
diff --git a/services/core/java/com/android/server/input/InputDataStore.java b/services/core/java/com/android/server/input/InputDataStore.java
index 834f815..6ed50b6 100644
--- a/services/core/java/com/android/server/input/InputDataStore.java
+++ b/services/core/java/com/android/server/input/InputDataStore.java
@@ -89,6 +89,10 @@
             final InputStream inputStream = mInputGestureFileInjector.openRead(userId);
             inputGestureDataList = readInputGesturesXml(inputStream, false);
             inputStream.close();
+        } catch (FileNotFoundException exception) {
+            // There are valid reasons for the file to be missing, such as shortcuts having not
+            // been registered by the user.
+            return List.of();
         } catch (IOException exception) {
             // In case we are unable to read from the file on disk or another IO operation error,
             // fail gracefully.
diff --git a/services/core/java/com/android/server/input/InputGestureManager.java b/services/core/java/com/android/server/input/InputGestureManager.java
index d71c8a1..7f85384 100644
--- a/services/core/java/com/android/server/input/InputGestureManager.java
+++ b/services/core/java/com/android/server/input/InputGestureManager.java
@@ -87,20 +87,7 @@
             createKeyTrigger(KeyEvent.KEYCODE_V, KeyEvent.META_CTRL_ON),
             createKeyTrigger(KeyEvent.KEYCODE_X, KeyEvent.META_CTRL_ON),
             createKeyTrigger(KeyEvent.KEYCODE_Z, KeyEvent.META_CTRL_ON),
-            createKeyTrigger(KeyEvent.KEYCODE_Y, KeyEvent.META_CTRL_ON),
-            // Used for magnification viewport control.
-            createKeyTrigger(KeyEvent.KEYCODE_MINUS,
-                    KeyEvent.META_META_ON | KeyEvent.META_ALT_ON),
-            createKeyTrigger(KeyEvent.KEYCODE_EQUALS,
-                    KeyEvent.META_META_ON | KeyEvent.META_ALT_ON),
-            createKeyTrigger(KeyEvent.KEYCODE_DPAD_LEFT,
-                    KeyEvent.META_META_ON | KeyEvent.META_ALT_ON),
-            createKeyTrigger(KeyEvent.KEYCODE_DPAD_RIGHT,
-                    KeyEvent.META_META_ON | KeyEvent.META_ALT_ON),
-            createKeyTrigger(KeyEvent.KEYCODE_DPAD_UP,
-                    KeyEvent.META_META_ON | KeyEvent.META_ALT_ON),
-            createKeyTrigger(KeyEvent.KEYCODE_DPAD_DOWN,
-                    KeyEvent.META_META_ON | KeyEvent.META_ALT_ON)
+            createKeyTrigger(KeyEvent.KEYCODE_Y, KeyEvent.META_CTRL_ON)
     ));
 
     public InputGestureManager(Context context) {
diff --git a/services/core/java/com/android/server/input/KeyGestureController.java b/services/core/java/com/android/server/input/KeyGestureController.java
index fba0b04..ef5babf 100644
--- a/services/core/java/com/android/server/input/KeyGestureController.java
+++ b/services/core/java/com/android/server/input/KeyGestureController.java
@@ -35,6 +35,7 @@
 import android.content.pm.PackageManager;
 import android.content.res.Resources;
 import android.database.ContentObserver;
+import android.hardware.display.DisplayManager;
 import android.hardware.input.AidlInputGestureData;
 import android.hardware.input.AidlKeyGestureEvent;
 import android.hardware.input.AppLaunchData;
@@ -57,6 +58,7 @@
 import android.util.Log;
 import android.util.Slog;
 import android.util.SparseArray;
+import android.view.Display;
 import android.view.InputDevice;
 import android.view.KeyCharacterMap;
 import android.view.KeyEvent;
@@ -127,6 +129,7 @@
     private final SettingsObserver mSettingsObserver;
     private final AppLaunchShortcutManager mAppLaunchShortcutManager;
     private final InputGestureManager mInputGestureManager;
+    private final DisplayManager mDisplayManager;
     @GuardedBy("mInputDataStore")
     private final InputDataStore mInputDataStore;
     private static final Object mUserLock = new Object();
@@ -194,6 +197,7 @@
         mSettingsObserver = new SettingsObserver(mHandler);
         mAppLaunchShortcutManager = new AppLaunchShortcutManager(mContext);
         mInputGestureManager = new InputGestureManager(mContext);
+        mDisplayManager = Objects.requireNonNull(mContext.getSystemService(DisplayManager.class));
         mInputDataStore = inputDataStore;
         mUserManagerInternal = LocalServices.getService(UserManagerInternal.class);
         initBehaviors();
@@ -246,12 +250,6 @@
                     new KeyCombinationManager.TwoKeysCombinationRule(KeyEvent.KEYCODE_VOLUME_DOWN,
                             KeyEvent.KEYCODE_POWER) {
                         @Override
-                        public boolean preCondition() {
-                            return isKeyGestureSupported(
-                                    KeyGestureEvent.KEY_GESTURE_TYPE_SCREENSHOT_CHORD);
-                        }
-
-                        @Override
                         public void execute() {
                             handleMultiKeyGesture(
                                     new int[]{KeyEvent.KEYCODE_VOLUME_DOWN, KeyEvent.KEYCODE_POWER},
@@ -274,12 +272,6 @@
                         new KeyCombinationManager.TwoKeysCombinationRule(KeyEvent.KEYCODE_POWER,
                                 KeyEvent.KEYCODE_STEM_PRIMARY) {
                             @Override
-                            public boolean preCondition() {
-                                return isKeyGestureSupported(
-                                        KeyGestureEvent.KEY_GESTURE_TYPE_SCREENSHOT_CHORD);
-                            }
-
-                            @Override
                             public void execute() {
                                 handleMultiKeyGesture(new int[]{KeyEvent.KEYCODE_POWER,
                                                 KeyEvent.KEYCODE_STEM_PRIMARY},
@@ -333,9 +325,6 @@
                         KeyEvent.KEYCODE_POWER) {
                     @Override
                     public boolean preCondition() {
-                        if (!isKeyGestureSupported(getGestureType())) {
-                            return false;
-                        }
                         switch (mPowerVolUpBehavior) {
                             case POWER_VOLUME_UP_BEHAVIOR_MUTE:
                                 return mRingerToggleChord != Settings.Secure.VOLUME_HUSH_OFF;
@@ -423,12 +412,6 @@
                     new KeyCombinationManager.TwoKeysCombinationRule(KeyEvent.KEYCODE_BACK,
                             KeyEvent.KEYCODE_DPAD_CENTER) {
                         @Override
-                        public boolean preCondition() {
-                            return isKeyGestureSupported(
-                                    KeyGestureEvent.KEY_GESTURE_TYPE_TV_TRIGGER_BUG_REPORT);
-                        }
-
-                        @Override
                         public void execute() {
                             handleMultiKeyGesture(
                                     new int[]{KeyEvent.KEYCODE_BACK, KeyEvent.KEYCODE_DPAD_CENTER},
@@ -468,10 +451,11 @@
         if (mVisibleBackgroundUsersEnabled && shouldIgnoreKeyEventForVisibleBackgroundUser(event)) {
             return false;
         }
-        final boolean interactive = (policyFlags & FLAG_INTERACTIVE) != 0;
         if (InputSettings.doesKeyGestureEventHandlerSupportMultiKeyGestures()
                 && (event.getFlags() & KeyEvent.FLAG_FALLBACK) == 0) {
-            return mKeyCombinationManager.interceptKey(event, interactive);
+            final boolean interactive = (policyFlags & FLAG_INTERACTIVE) != 0;
+            final boolean isDefaultDisplayOn = isDefaultDisplayOn();
+            return mKeyCombinationManager.interceptKey(event, interactive && isDefaultDisplayOn);
         }
         return false;
     }
@@ -1038,6 +1022,14 @@
         mIoHandler.obtainMessage(MSG_LOAD_CUSTOM_GESTURES, userId).sendToTarget();
     }
 
+    private boolean isDefaultDisplayOn() {
+        Display defaultDisplay = mDisplayManager.getDisplay(Display.DEFAULT_DISPLAY);
+        if (defaultDisplay == null) {
+            return false;
+        }
+        return Display.isOnState(defaultDisplay.getState());
+    }
+
     @MainThread
     private void notifyKeyGestureEvent(AidlKeyGestureEvent event) {
         InputDevice device = getInputDevice(event.deviceId);
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodBindingController.java b/services/core/java/com/android/server/inputmethod/InputMethodBindingController.java
index 4f3aa06..280f3b7 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodBindingController.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodBindingController.java
@@ -120,12 +120,21 @@
      * Binding flags for establishing connection to the {@link InputMethodService}.
      */
     @VisibleForTesting
-    static final int IME_CONNECTION_BIND_FLAGS =
-            Context.BIND_AUTO_CREATE
+    static final int IME_CONNECTION_BIND_FLAGS;
+    static {
+        if (android.view.inputmethod.Flags.lowerImeOomImportance()) {
+            IME_CONNECTION_BIND_FLAGS = Context.BIND_AUTO_CREATE
+                    | Context.BIND_ALMOST_PERCEPTIBLE
+                    | Context.BIND_IMPORTANT_BACKGROUND
+                    | Context.BIND_SCHEDULE_LIKE_TOP_APP;
+        } else {
+            IME_CONNECTION_BIND_FLAGS = Context.BIND_AUTO_CREATE
                     | Context.BIND_NOT_VISIBLE
                     | Context.BIND_NOT_FOREGROUND
                     | Context.BIND_IMPORTANT_BACKGROUND
                     | Context.BIND_SCHEDULE_LIKE_TOP_APP;
+        }
+    }
 
     private final int mImeConnectionBindFlags;
 
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
index 395d85e..af726bd 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
@@ -4971,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);
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/OWNERS b/services/core/java/com/android/server/inputmethod/OWNERS
index e507c6b..9d8aef9 100644
--- a/services/core/java/com/android/server/inputmethod/OWNERS
+++ b/services/core/java/com/android/server/inputmethod/OWNERS
@@ -1,7 +1,6 @@
 set noparent
 
 roosa@google.com
-yukawa@google.com
 tarandeep@google.com
 fstern@google.com
 cosminbaies@google.com
diff --git a/services/core/java/com/android/server/integrity/OWNERS b/services/core/java/com/android/server/integrity/OWNERS
index 33561fd..352724a 100644
--- a/services/core/java/com/android/server/integrity/OWNERS
+++ b/services/core/java/com/android/server/integrity/OWNERS
@@ -1,5 +1,4 @@
 omernebil@google.com
 khelmy@google.com
 mdchurchill@google.com
-sturla@google.com
 
diff --git a/services/core/java/com/android/server/locales/LocaleManagerService.java b/services/core/java/com/android/server/locales/LocaleManagerService.java
index 7e80cbc..0944a54 100644
--- a/services/core/java/com/android/server/locales/LocaleManagerService.java
+++ b/services/core/java/com/android/server/locales/LocaleManagerService.java
@@ -48,7 +48,6 @@
 import android.util.Slog;
 import android.util.Xml;
 
-import com.android.internal.annotations.KeepForWeakReference;
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.content.PackageMonitor;
 import com.android.internal.util.FrameworkStatsLog;
@@ -101,7 +100,6 @@
 
     private LocaleManagerBackupHelper mBackupHelper;
 
-    @KeepForWeakReference
     private final PackageMonitor mPackageMonitor;
 
     private final Object mWriteLock = new Object();
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 940bcb4..f40d0dd 100644
--- a/services/core/java/com/android/server/location/contexthub/ContextHubEndpointBroker.java
+++ b/services/core/java/com/android/server/location/contexthub/ContextHubEndpointBroker.java
@@ -43,7 +43,10 @@
 import com.android.internal.annotations.GuardedBy;
 
 import java.util.Collection;
+import java.util.HashSet;
 import java.util.Optional;
+import java.util.Set;
+import java.util.function.Consumer;
 
 /**
  * A class that represents a broker for the endpoint registered by the client app. This class
@@ -111,6 +114,11 @@
 
         private final boolean mRemoteInitiated;
 
+        /**
+         * The set of seq # for pending reliable messages started by this endpoint for this session.
+         */
+        private final Set<Integer> mPendingSequenceNumbers = new HashSet<>();
+
         SessionInfo(HubEndpointInfo remoteEndpointInfo, boolean remoteInitiated) {
             mRemoteEndpointInfo = remoteEndpointInfo;
             mRemoteInitiated = remoteInitiated;
@@ -131,6 +139,24 @@
         public boolean isActive() {
             return mSessionState == SessionState.ACTIVE;
         }
+
+        public boolean isReliableMessagePending(int sequenceNumber) {
+            return mPendingSequenceNumbers.contains(sequenceNumber);
+        }
+
+        public void setReliableMessagePending(int sequenceNumber) {
+            mPendingSequenceNumbers.add(sequenceNumber);
+        }
+
+        public void setReliableMessageCompleted(int sequenceNumber) {
+            mPendingSequenceNumbers.remove(sequenceNumber);
+        }
+
+        public void forEachPendingReliableMessage(Consumer<Integer> consumer) {
+            for (int sequenceNumber : mPendingSequenceNumbers) {
+                consumer.accept(sequenceNumber);
+            }
+        }
     }
 
     /** A map between a session ID which maps to its current state. */
@@ -208,10 +234,7 @@
             try {
                 mSessionInfoMap.put(sessionId, new SessionInfo(destination, false));
                 mHubInterface.openEndpointSession(
-                        sessionId,
-                        halEndpointInfo.id,
-                        mHalEndpointInfo.id,
-                        serviceDescriptor);
+                        sessionId, halEndpointInfo.id, mHalEndpointInfo.id, serviceDescriptor);
             } catch (RemoteException | IllegalArgumentException | UnsupportedOperationException e) {
                 Log.e(TAG, "Exception while calling HAL openEndpointSession", e);
                 cleanupSessionResources(sessionId);
@@ -286,34 +309,42 @@
     public void sendMessage(
             int sessionId, HubMessage message, IContextHubTransactionCallback callback) {
         super.sendMessage_enforcePermission();
-        Message halMessage = ContextHubServiceUtil.createHalMessage(message);
-        if (!isSessionActive(sessionId)) {
-            throw new SecurityException(
-                    "sendMessage called on inactive session (id= " + sessionId + ")");
-        }
-
-        if (callback == null) {
-            try {
-                mHubInterface.sendMessageToEndpoint(sessionId, halMessage);
-            } catch (RemoteException e) {
-                Log.w(TAG, "Exception while sending message on session " + sessionId, e);
+        synchronized (mOpenSessionLock) {
+            SessionInfo info = mSessionInfoMap.get(sessionId);
+            if (info == null) {
+                throw new IllegalArgumentException(
+                        "sendMessage for invalid session id=" + sessionId);
             }
-        } else {
-            ContextHubServiceTransaction transaction =
-                    mTransactionManager.createSessionMessageTransaction(
-                            mHubInterface, sessionId, halMessage, mPackageName, callback);
-            try {
-                mTransactionManager.addTransaction(transaction);
-            } catch (IllegalStateException e) {
-                Log.e(
-                        TAG,
-                        "Unable to add a transaction in sendMessageToEndpoint "
-                                + "(session ID = "
-                                + sessionId
-                                + ")",
-                        e);
-                transaction.onTransactionComplete(
-                        ContextHubTransaction.RESULT_FAILED_SERVICE_INTERNAL_FAILURE);
+            if (!info.isActive()) {
+                throw new SecurityException(
+                        "sendMessage called on inactive session (id= " + sessionId + ")");
+            }
+
+            Message halMessage = ContextHubServiceUtil.createHalMessage(message);
+            if (callback == null) {
+                try {
+                    mHubInterface.sendMessageToEndpoint(sessionId, halMessage);
+                } catch (RemoteException e) {
+                    Log.w(TAG, "Exception while sending message on session " + sessionId, e);
+                }
+            } else {
+                ContextHubServiceTransaction transaction =
+                        mTransactionManager.createSessionMessageTransaction(
+                                mHubInterface, sessionId, halMessage, mPackageName, callback);
+                try {
+                    mTransactionManager.addTransaction(transaction);
+                    info.setReliableMessagePending(transaction.getMessageSequenceNumber());
+                } catch (IllegalStateException e) {
+                    Log.e(
+                            TAG,
+                            "Unable to add a transaction in sendMessageToEndpoint "
+                                    + "(session ID = "
+                                    + sessionId
+                                    + ")",
+                            e);
+                    transaction.onTransactionComplete(
+                            ContextHubTransaction.RESULT_FAILED_SERVICE_INTERNAL_FAILURE);
+                }
             }
         }
     }
@@ -393,7 +424,9 @@
                 int id = mSessionInfoMap.keyAt(i);
                 int count = i + 1;
                 sb.append(
-                        "  " + count + ". id="
+                        "  "
+                                + count
+                                + ". id="
                                 + id
                                 + ", remote:"
                                 + mSessionInfoMap.get(id).getRemoteEndpointInfo());
@@ -461,13 +494,24 @@
     /* package */ void onMessageReceived(int sessionId, HubMessage message) {
         byte code = onMessageReceivedInternal(sessionId, message);
         if (code != ErrorCode.OK && message.isResponseRequired()) {
-            sendMessageDeliveryStatus(
-                    sessionId, message.getMessageSequenceNumber(), code);
+            sendMessageDeliveryStatus(sessionId, message.getMessageSequenceNumber(), code);
         }
     }
 
     /* package */ void onMessageDeliveryStatusReceived(
             int sessionId, int sequenceNumber, byte errorCode) {
+        synchronized (mOpenSessionLock) {
+            SessionInfo info = mSessionInfoMap.get(sessionId);
+            if (info == null || !info.isActive()) {
+                Log.w(TAG, "Received delivery status for invalid session: id=" + sessionId);
+                return;
+            }
+            if (!info.isReliableMessagePending(sequenceNumber)) {
+                Log.w(TAG, "Received delivery status for unknown seq: " + sequenceNumber);
+                return;
+            }
+            info.setReliableMessageCompleted(sequenceNumber);
+        }
         mTransactionManager.onMessageDeliveryResponse(sequenceNumber, errorCode == ErrorCode.OK);
     }
 
@@ -492,7 +536,6 @@
                 onCloseEndpointSession(id, Reason.HUB_RESET);
             }
         }
-        // TODO(b/390029594): Cancel any ongoing reliable communication transactions
     }
 
     private Optional<Byte> onEndpointSessionOpenRequestInternal(
@@ -515,9 +558,11 @@
             mSessionInfoMap.put(sessionId, new SessionInfo(initiator, true));
         }
 
-        boolean success = invokeCallback(
-                (consumer) ->
-                        consumer.onSessionOpenRequest(sessionId, initiator, serviceDescriptor));
+        boolean success =
+                invokeCallback(
+                        (consumer) ->
+                                consumer.onSessionOpenRequest(
+                                        sessionId, initiator, serviceDescriptor));
         return success ? Optional.empty() : Optional.of(Reason.UNSPECIFIED);
     }
 
@@ -590,8 +635,15 @@
     private boolean cleanupSessionResources(int sessionId) {
         synchronized (mOpenSessionLock) {
             SessionInfo info = mSessionInfoMap.get(sessionId);
-            if (info != null && !info.isRemoteInitiated()) {
-                mEndpointManager.returnSessionId(sessionId);
+            if (info != null) {
+                if (!info.isRemoteInitiated()) {
+                    mEndpointManager.returnSessionId(sessionId);
+                }
+                info.forEachPendingReliableMessage(
+                        (sequenceNumber) -> {
+                            mTransactionManager.onMessageDeliveryResponse(
+                                    sequenceNumber, /* success= */ false);
+                        });
                 mSessionInfoMap.remove(sessionId);
             }
             return info != null;
@@ -646,10 +698,7 @@
                         try {
                             mWakeLock.release();
                         } catch (RuntimeException e) {
-                            Log.e(
-                                    TAG,
-                                    "Releasing the wakelock for all acquisitions fails - ",
-                                    e);
+                            Log.e(TAG, "Releasing the wakelock for all acquisitions fails - ", e);
                             break;
                         }
                     }
diff --git a/services/core/java/com/android/server/location/contexthub/ContextHubTransactionManager.java b/services/core/java/com/android/server/location/contexthub/ContextHubTransactionManager.java
index a430a82..6a1db02 100644
--- a/services/core/java/com/android/server/location/contexthub/ContextHubTransactionManager.java
+++ b/services/core/java/com/android/server/location/contexthub/ContextHubTransactionManager.java
@@ -29,6 +29,7 @@
 import android.util.Log;
 
 import com.android.internal.annotations.GuardedBy;
+import com.android.internal.annotations.VisibleForTesting;
 
 import java.time.Duration;
 import java.util.ArrayDeque;
@@ -165,52 +166,61 @@
     /**
      * Creates a transaction for loading a nanoapp.
      *
-     * @param contextHubId       the ID of the hub to load the nanoapp to
-     * @param nanoAppBinary      the binary of the nanoapp to load
+     * @param contextHubId the ID of the hub to load the nanoapp to
+     * @param nanoAppBinary the binary of the nanoapp to load
      * @param onCompleteCallback the client on complete callback
      * @return the generated transaction
      */
     /* package */ ContextHubServiceTransaction createLoadTransaction(
-            int contextHubId, NanoAppBinary nanoAppBinary,
-            IContextHubTransactionCallback onCompleteCallback, String packageName) {
+            int contextHubId,
+            NanoAppBinary nanoAppBinary,
+            IContextHubTransactionCallback onCompleteCallback,
+            String packageName) {
         return new ContextHubServiceTransaction(
-                mNextAvailableId.getAndIncrement(), ContextHubTransaction.TYPE_LOAD_NANOAPP,
-                nanoAppBinary.getNanoAppId(), packageName) {
+                mNextAvailableId.getAndIncrement(),
+                ContextHubTransaction.TYPE_LOAD_NANOAPP,
+                nanoAppBinary.getNanoAppId(),
+                packageName) {
             @Override
-                /* package */ int onTransact() {
+            /* package */ int onTransact() {
                 try {
                     return mContextHubProxy.loadNanoapp(
                             contextHubId, nanoAppBinary, this.getTransactionId());
                 } catch (RemoteException e) {
-                    Log.e(TAG, "RemoteException while trying to load nanoapp with ID 0x" +
-                            Long.toHexString(nanoAppBinary.getNanoAppId()), e);
+                    Log.e(
+                            TAG,
+                            "RemoteException while trying to load nanoapp with ID 0x"
+                                    + Long.toHexString(nanoAppBinary.getNanoAppId()),
+                            e);
                     return ContextHubTransaction.RESULT_FAILED_UNKNOWN;
                 }
             }
 
             @Override
-                /* package */ void onTransactionComplete(@ContextHubTransaction.Result int result) {
+            /* package */ void onTransactionComplete(@ContextHubTransaction.Result int result) {
                 ContextHubStatsLog.write(
                         ContextHubStatsLog.CHRE_CODE_DOWNLOAD_TRANSACTED,
                         nanoAppBinary.getNanoAppId(),
                         nanoAppBinary.getNanoAppVersion(),
                         ContextHubStatsLog
-                            .CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_TYPE__TYPE_LOAD,
+                                .CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_TYPE__TYPE_LOAD,
                         toStatsTransactionResult(result));
 
-                ContextHubEventLogger.getInstance().logNanoappLoad(
-                        contextHubId,
-                        nanoAppBinary.getNanoAppId(),
-                        nanoAppBinary.getNanoAppVersion(),
-                        nanoAppBinary.getBinary().length,
-                        result == ContextHubTransaction.RESULT_SUCCESS);
+                ContextHubEventLogger.getInstance()
+                        .logNanoappLoad(
+                                contextHubId,
+                                nanoAppBinary.getNanoAppId(),
+                                nanoAppBinary.getNanoAppVersion(),
+                                nanoAppBinary.getBinary().length,
+                                result == ContextHubTransaction.RESULT_SUCCESS);
 
                 if (result == ContextHubTransaction.RESULT_SUCCESS) {
                     // NOTE: The legacy JNI code used to do a query right after a load success
                     // to synchronize the service cache. Instead store the binary that was
                     // requested to load to update the cache later without doing a query.
                     mNanoAppStateManager.addNanoAppInstance(
-                            contextHubId, nanoAppBinary.getNanoAppId(),
+                            contextHubId,
+                            nanoAppBinary.getNanoAppId(),
                             nanoAppBinary.getNanoAppVersion());
                 }
                 try {
@@ -228,42 +238,51 @@
     /**
      * Creates a transaction for unloading a nanoapp.
      *
-     * @param contextHubId       the ID of the hub to unload the nanoapp from
-     * @param nanoAppId          the ID of the nanoapp to unload
+     * @param contextHubId the ID of the hub to unload the nanoapp from
+     * @param nanoAppId the ID of the nanoapp to unload
      * @param onCompleteCallback the client on complete callback
      * @return the generated transaction
      */
     /* package */ ContextHubServiceTransaction createUnloadTransaction(
-            int contextHubId, long nanoAppId, IContextHubTransactionCallback onCompleteCallback,
+            int contextHubId,
+            long nanoAppId,
+            IContextHubTransactionCallback onCompleteCallback,
             String packageName) {
         return new ContextHubServiceTransaction(
-                mNextAvailableId.getAndIncrement(), ContextHubTransaction.TYPE_UNLOAD_NANOAPP,
-                nanoAppId, packageName) {
+                mNextAvailableId.getAndIncrement(),
+                ContextHubTransaction.TYPE_UNLOAD_NANOAPP,
+                nanoAppId,
+                packageName) {
             @Override
-                /* package */ int onTransact() {
+            /* package */ int onTransact() {
                 try {
                     return mContextHubProxy.unloadNanoapp(
                             contextHubId, nanoAppId, this.getTransactionId());
                 } catch (RemoteException e) {
-                    Log.e(TAG, "RemoteException while trying to unload nanoapp with ID 0x" +
-                            Long.toHexString(nanoAppId), e);
+                    Log.e(
+                            TAG,
+                            "RemoteException while trying to unload nanoapp with ID 0x"
+                                    + Long.toHexString(nanoAppId),
+                            e);
                     return ContextHubTransaction.RESULT_FAILED_UNKNOWN;
                 }
             }
 
             @Override
-                /* package */ void onTransactionComplete(@ContextHubTransaction.Result int result) {
+            /* package */ void onTransactionComplete(@ContextHubTransaction.Result int result) {
                 ContextHubStatsLog.write(
-                        ContextHubStatsLog.CHRE_CODE_DOWNLOAD_TRANSACTED, nanoAppId,
+                        ContextHubStatsLog.CHRE_CODE_DOWNLOAD_TRANSACTED,
+                        nanoAppId,
                         0 /* nanoappVersion */,
                         ContextHubStatsLog
-                            .CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_TYPE__TYPE_UNLOAD,
+                                .CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_TYPE__TYPE_UNLOAD,
                         toStatsTransactionResult(result));
 
-                ContextHubEventLogger.getInstance().logNanoappUnload(
-                        contextHubId,
-                        nanoAppId,
-                        result == ContextHubTransaction.RESULT_SUCCESS);
+                ContextHubEventLogger.getInstance()
+                        .logNanoappUnload(
+                                contextHubId,
+                                nanoAppId,
+                                result == ContextHubTransaction.RESULT_SUCCESS);
 
                 if (result == ContextHubTransaction.RESULT_SUCCESS) {
                     mNanoAppStateManager.removeNanoAppInstance(contextHubId, nanoAppId);
@@ -283,31 +302,37 @@
     /**
      * Creates a transaction for enabling a nanoapp.
      *
-     * @param contextHubId       the ID of the hub to enable the nanoapp on
-     * @param nanoAppId          the ID of the nanoapp to enable
+     * @param contextHubId the ID of the hub to enable the nanoapp on
+     * @param nanoAppId the ID of the nanoapp to enable
      * @param onCompleteCallback the client on complete callback
      * @return the generated transaction
      */
     /* package */ ContextHubServiceTransaction createEnableTransaction(
-            int contextHubId, long nanoAppId, IContextHubTransactionCallback onCompleteCallback,
+            int contextHubId,
+            long nanoAppId,
+            IContextHubTransactionCallback onCompleteCallback,
             String packageName) {
         return new ContextHubServiceTransaction(
-                mNextAvailableId.getAndIncrement(), ContextHubTransaction.TYPE_ENABLE_NANOAPP,
+                mNextAvailableId.getAndIncrement(),
+                ContextHubTransaction.TYPE_ENABLE_NANOAPP,
                 packageName) {
             @Override
-                /* package */ int onTransact() {
+            /* package */ int onTransact() {
                 try {
                     return mContextHubProxy.enableNanoapp(
                             contextHubId, nanoAppId, this.getTransactionId());
                 } catch (RemoteException e) {
-                    Log.e(TAG, "RemoteException while trying to enable nanoapp with ID 0x" +
-                            Long.toHexString(nanoAppId), e);
+                    Log.e(
+                            TAG,
+                            "RemoteException while trying to enable nanoapp with ID 0x"
+                                    + Long.toHexString(nanoAppId),
+                            e);
                     return ContextHubTransaction.RESULT_FAILED_UNKNOWN;
                 }
             }
 
             @Override
-                /* package */ void onTransactionComplete(@ContextHubTransaction.Result int result) {
+            /* package */ void onTransactionComplete(@ContextHubTransaction.Result int result) {
                 try {
                     onCompleteCallback.onTransactionComplete(result);
                 } catch (RemoteException e) {
@@ -320,31 +345,37 @@
     /**
      * Creates a transaction for disabling a nanoapp.
      *
-     * @param contextHubId       the ID of the hub to disable the nanoapp on
-     * @param nanoAppId          the ID of the nanoapp to disable
+     * @param contextHubId the ID of the hub to disable the nanoapp on
+     * @param nanoAppId the ID of the nanoapp to disable
      * @param onCompleteCallback the client on complete callback
      * @return the generated transaction
      */
     /* package */ ContextHubServiceTransaction createDisableTransaction(
-            int contextHubId, long nanoAppId, IContextHubTransactionCallback onCompleteCallback,
+            int contextHubId,
+            long nanoAppId,
+            IContextHubTransactionCallback onCompleteCallback,
             String packageName) {
         return new ContextHubServiceTransaction(
-                mNextAvailableId.getAndIncrement(), ContextHubTransaction.TYPE_DISABLE_NANOAPP,
+                mNextAvailableId.getAndIncrement(),
+                ContextHubTransaction.TYPE_DISABLE_NANOAPP,
                 packageName) {
             @Override
-                /* package */ int onTransact() {
+            /* package */ int onTransact() {
                 try {
                     return mContextHubProxy.disableNanoapp(
                             contextHubId, nanoAppId, this.getTransactionId());
                 } catch (RemoteException e) {
-                    Log.e(TAG, "RemoteException while trying to disable nanoapp with ID 0x" +
-                            Long.toHexString(nanoAppId), e);
+                    Log.e(
+                            TAG,
+                            "RemoteException while trying to disable nanoapp with ID 0x"
+                                    + Long.toHexString(nanoAppId),
+                            e);
                     return ContextHubTransaction.RESULT_FAILED_UNKNOWN;
                 }
             }
 
             @Override
-                /* package */ void onTransactionComplete(@ContextHubTransaction.Result int result) {
+            /* package */ void onTransactionComplete(@ContextHubTransaction.Result int result) {
                 try {
                     onCompleteCallback.onTransactionComplete(result);
                 } catch (RemoteException e) {
@@ -447,18 +478,20 @@
     /**
      * Creates a transaction for querying for a list of nanoapps.
      *
-     * @param contextHubId       the ID of the hub to query
+     * @param contextHubId the ID of the hub to query
      * @param onCompleteCallback the client on complete callback
      * @return the generated transaction
      */
     /* package */ ContextHubServiceTransaction createQueryTransaction(
-            int contextHubId, IContextHubTransactionCallback onCompleteCallback,
+            int contextHubId,
+            IContextHubTransactionCallback onCompleteCallback,
             String packageName) {
         return new ContextHubServiceTransaction(
-                mNextAvailableId.getAndIncrement(), ContextHubTransaction.TYPE_QUERY_NANOAPPS,
+                mNextAvailableId.getAndIncrement(),
+                ContextHubTransaction.TYPE_QUERY_NANOAPPS,
                 packageName) {
             @Override
-                /* package */ int onTransact() {
+            /* package */ int onTransact() {
                 try {
                     return mContextHubProxy.queryNanoapps(contextHubId);
                 } catch (RemoteException e) {
@@ -468,12 +501,12 @@
             }
 
             @Override
-                /* package */ void onTransactionComplete(@ContextHubTransaction.Result int result) {
+            /* package */ void onTransactionComplete(@ContextHubTransaction.Result int result) {
                 onQueryResponse(result, Collections.emptyList());
             }
 
             @Override
-                /* package */ void onQueryResponse(
+            /* package */ void onQueryResponse(
                     @ContextHubTransaction.Result int result, List<NanoAppState> nanoAppStateList) {
                 try {
                     onCompleteCallback.onQueryResponse(result, nanoAppStateList);
@@ -539,6 +572,14 @@
         }
     }
 
+    @VisibleForTesting
+    /* package */
+    int numReliableMessageTransactionPending() {
+        synchronized (mReliableMessageLock) {
+            return mReliableMessageTransactionMap.size();
+        }
+    }
+
     /**
      * Handles a transaction response from a Context Hub.
      *
@@ -585,18 +626,21 @@
     void onMessageDeliveryResponse(int messageSequenceNumber, boolean success) {
         if (!Flags.reliableMessageRetrySupportService()) {
             TransactionAcceptConditions conditions =
-                    transaction -> transaction.getTransactionType()
-                            == ContextHubTransaction.TYPE_RELIABLE_MESSAGE
-                    && transaction.getMessageSequenceNumber()
-                            == messageSequenceNumber;
+                    transaction ->
+                            transaction.getTransactionType()
+                                            == ContextHubTransaction.TYPE_RELIABLE_MESSAGE
+                                    && transaction.getMessageSequenceNumber()
+                                            == messageSequenceNumber;
             ContextHubServiceTransaction transaction = getTransactionAndHandleNext(conditions);
             if (transaction == null) {
-                Log.w(TAG, "Received unexpected message delivery response (expected"
-                        + " message sequence number = "
-                        + messageSequenceNumber
-                        + ", received messageSequenceNumber = "
-                        + messageSequenceNumber
-                        + ")");
+                Log.w(
+                        TAG,
+                        "Received unexpected message delivery response (expected"
+                                + " message sequence number = "
+                                + messageSequenceNumber
+                                + ", received messageSequenceNumber = "
+                                + messageSequenceNumber
+                                + ")");
                 return;
             }
 
@@ -640,8 +684,10 @@
      */
     /* package */
     void onQueryResponse(List<NanoAppState> nanoAppStateList) {
-        TransactionAcceptConditions conditions = transaction ->
-                transaction.getTransactionType() == ContextHubTransaction.TYPE_QUERY_NANOAPPS;
+        TransactionAcceptConditions conditions =
+                transaction ->
+                        transaction.getTransactionType()
+                                == ContextHubTransaction.TYPE_QUERY_NANOAPPS;
         ContextHubServiceTransaction transaction = getTransactionAndHandleNext(conditions);
         if (transaction == null) {
             Log.w(TAG, "Received unexpected query response");
@@ -968,24 +1014,33 @@
     private int toStatsTransactionResult(@ContextHubTransaction.Result int result) {
         switch (result) {
             case ContextHubTransaction.RESULT_SUCCESS:
-                return ContextHubStatsLog.CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_SUCCESS;
+                return ContextHubStatsLog
+                        .CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_SUCCESS;
             case ContextHubTransaction.RESULT_FAILED_BAD_PARAMS:
-                return ContextHubStatsLog.CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_FAILED_BAD_PARAMS;
+                return ContextHubStatsLog
+                        .CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_FAILED_BAD_PARAMS;
             case ContextHubTransaction.RESULT_FAILED_UNINITIALIZED:
-                return ContextHubStatsLog.CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_FAILED_UNINITIALIZED;
+                return ContextHubStatsLog
+                        .CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_FAILED_UNINITIALIZED;
             case ContextHubTransaction.RESULT_FAILED_BUSY:
-                return ContextHubStatsLog.CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_FAILED_BUSY;
+                return ContextHubStatsLog
+                        .CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_FAILED_BUSY;
             case ContextHubTransaction.RESULT_FAILED_AT_HUB:
-                return ContextHubStatsLog.CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_FAILED_AT_HUB;
+                return ContextHubStatsLog
+                        .CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_FAILED_AT_HUB;
             case ContextHubTransaction.RESULT_FAILED_TIMEOUT:
-                return ContextHubStatsLog.CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_FAILED_TIMEOUT;
+                return ContextHubStatsLog
+                        .CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_FAILED_TIMEOUT;
             case ContextHubTransaction.RESULT_FAILED_SERVICE_INTERNAL_FAILURE:
-                return ContextHubStatsLog.CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_FAILED_SERVICE_INTERNAL_FAILURE;
+                return ContextHubStatsLog
+                        .CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_FAILED_SERVICE_INTERNAL_FAILURE;
             case ContextHubTransaction.RESULT_FAILED_HAL_UNAVAILABLE:
-                return ContextHubStatsLog.CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_FAILED_HAL_UNAVAILABLE;
+                return ContextHubStatsLog
+                        .CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_FAILED_HAL_UNAVAILABLE;
             case ContextHubTransaction.RESULT_FAILED_UNKNOWN:
             default: /* fall through */
-                return ContextHubStatsLog.CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_FAILED_UNKNOWN;
+                return ContextHubStatsLog
+                        .CHRE_CODE_DOWNLOAD_TRANSACTED__TRANSACTION_RESULT__TRANSACTION_RESULT_FAILED_UNKNOWN;
         }
     }
 
diff --git a/services/core/java/com/android/server/net/watchlist/WatchlistReportDbHelper.java b/services/core/java/com/android/server/net/watchlist/WatchlistReportDbHelper.java
index 7a96195..9937049 100644
--- a/services/core/java/com/android/server/net/watchlist/WatchlistReportDbHelper.java
+++ b/services/core/java/com/android/server/net/watchlist/WatchlistReportDbHelper.java
@@ -21,6 +21,7 @@
 import android.content.Context;
 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
+import android.database.sqlite.SQLiteDatabaseCorruptException;
 import android.database.sqlite.SQLiteException;
 import android.database.sqlite.SQLiteOpenHelper;
 import android.os.Environment;
@@ -204,6 +205,11 @@
             return false;
         }
         final String clause = WhiteListReportContract.TIMESTAMP + "< " + untilTimestamp;
-        return db.delete(WhiteListReportContract.TABLE, clause, null) != 0;
+        try {
+            return db.delete(WhiteListReportContract.TABLE, clause, null) != 0;
+        } catch (SQLiteDatabaseCorruptException e) {
+            Slog.e(TAG, "Error deleting records", e);
+            return false;
+        }
     }
 }
diff --git a/services/core/java/com/android/server/notification/ConditionProviders.java b/services/core/java/com/android/server/notification/ConditionProviders.java
index 3f2c222..dd52cce 100644
--- a/services/core/java/com/android/server/notification/ConditionProviders.java
+++ b/services/core/java/com/android/server/notification/ConditionProviders.java
@@ -46,6 +46,7 @@
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.List;
 
 public class ConditionProviders extends ManagedServices {
 
@@ -202,7 +203,14 @@
 
     @Override
     protected void loadDefaultsFromConfig() {
-        String defaultDndAccess = mContext.getResources().getString(
+        for (String dndPackage : getDefaultDndAccessPackages(mContext)) {
+            addDefaultComponentOrPackage(dndPackage);
+        }
+    }
+
+    static List<String> getDefaultDndAccessPackages(Context context) {
+        ArrayList<String> packages = new ArrayList<>();
+        String defaultDndAccess = context.getResources().getString(
                 R.string.config_defaultDndAccessPackages);
         if (defaultDndAccess != null) {
             String[] dnds = defaultDndAccess.split(ManagedServices.ENABLED_SERVICES_SEPARATOR);
@@ -210,9 +218,10 @@
                 if (TextUtils.isEmpty(dnds[i])) {
                     continue;
                 }
-                addDefaultComponentOrPackage(dnds[i]);
+                packages.add(dnds[i]);
             }
         }
+        return packages;
     }
 
     @Override
diff --git a/services/core/java/com/android/server/notification/PreferencesHelper.java b/services/core/java/com/android/server/notification/PreferencesHelper.java
index fff812c..0fc182f 100644
--- a/services/core/java/com/android/server/notification/PreferencesHelper.java
+++ b/services/core/java/com/android/server/notification/PreferencesHelper.java
@@ -42,7 +42,6 @@
 import static com.android.internal.util.FrameworkStatsLog.PACKAGE_NOTIFICATION_PREFERENCES__FSI_STATE__DENIED;
 import static com.android.internal.util.FrameworkStatsLog.PACKAGE_NOTIFICATION_PREFERENCES__FSI_STATE__GRANTED;
 import static com.android.internal.util.FrameworkStatsLog.PACKAGE_NOTIFICATION_PREFERENCES__FSI_STATE__NOT_REQUESTED;
-import static com.android.server.notification.PreferencesHelper.LockableAppFields.USER_LOCKED_BUBBLE;
 import static com.android.server.notification.PreferencesHelper.LockableAppFields.USER_LOCKED_PROMOTABLE;
 
 import android.annotation.FlaggedApi;
@@ -287,7 +286,7 @@
         if (!TAG_RANKING.equals(tag)) return;
 
         final int xmlVersion = parser.getAttributeInt(null, ATT_VERSION, -1);
-        boolean upgradeForBubbles = xmlVersion >= XML_VERSION_BUBBLES_UPGRADE;
+        boolean upgradeForBubbles = xmlVersion == XML_VERSION_BUBBLES_UPGRADE;
         boolean migrateToPermission = (xmlVersion < XML_VERSION_NOTIF_PERMISSION);
         if (mShowReviewPermissionsNotification
                 && (xmlVersion < XML_VERSION_REVIEW_PERMISSIONS_NOTIFICATION)) {
@@ -338,19 +337,15 @@
             }
             boolean skipWarningLogged = false;
             boolean skipGroupWarningLogged = false;
-            int bubblePref = parser.getAttributeInt(null, ATT_ALLOW_BUBBLE,
-                    DEFAULT_BUBBLE_PREFERENCE);
-            boolean bubbleLocked = (parser.getAttributeInt(null,
-                    ATT_APP_USER_LOCKED_FIELDS, DEFAULT_LOCKED_APP_FIELDS) & USER_LOCKED_BUBBLE)
-                    != 0;
-            if (!bubbleLocked
-                    && upgradeForBubbles
-                    && uid != UNKNOWN_UID
-                    && mAppOps.noteOpNoThrow(OP_SYSTEM_ALERT_WINDOW, uid, name, null,
-                    "check-notif-bubble") == AppOpsManager.MODE_ALLOWED) {
-                // User hasn't changed bubble pref & the app has SAW, so allow all bubbles.
-                bubblePref = BUBBLE_PREFERENCE_ALL;
+            boolean hasSAWPermission = false;
+            if (upgradeForBubbles && uid != UNKNOWN_UID) {
+                hasSAWPermission = mAppOps.noteOpNoThrow(
+                        OP_SYSTEM_ALERT_WINDOW, uid, name, null,
+                        "check-notif-bubble") == AppOpsManager.MODE_ALLOWED;
             }
+            int bubblePref = hasSAWPermission
+                    ? BUBBLE_PREFERENCE_ALL
+                    : parser.getAttributeInt(null, ATT_ALLOW_BUBBLE, DEFAULT_BUBBLE_PREFERENCE);
             int appImportance = parser.getAttributeInt(null, ATT_IMPORTANCE, DEFAULT_IMPORTANCE);
 
             // when data is loaded from disk it's loaded as USER_ALL, but restored data that
diff --git a/services/core/java/com/android/server/notification/ZenConfigTrimmer.java b/services/core/java/com/android/server/notification/ZenConfigTrimmer.java
new file mode 100644
index 0000000..d65954d
--- /dev/null
+++ b/services/core/java/com/android/server/notification/ZenConfigTrimmer.java
@@ -0,0 +1,109 @@
+/*
+ * 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.server.notification;
+
+import android.content.Context;
+import android.os.Parcel;
+import android.service.notification.SystemZenRules;
+import android.service.notification.ZenModeConfig;
+import android.util.Slog;
+
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+
+class ZenConfigTrimmer {
+
+    private static final String TAG = "ZenConfigTrimmer";
+    private static final int MAXIMUM_PARCELED_SIZE = 150_000; // bytes
+
+    private final HashSet<String> mTrustedPackages;
+
+    ZenConfigTrimmer(Context context) {
+        mTrustedPackages = new HashSet<>();
+        mTrustedPackages.add(SystemZenRules.PACKAGE_ANDROID);
+        mTrustedPackages.addAll(ConditionProviders.getDefaultDndAccessPackages(context));
+    }
+
+    void trimToMaximumSize(ZenModeConfig config) {
+        Map<String, PackageRules> rulesPerPackage = new HashMap<>();
+        for (ZenModeConfig.ZenRule rule : config.automaticRules.values()) {
+            PackageRules pkgRules = rulesPerPackage.computeIfAbsent(rule.pkg, PackageRules::new);
+            pkgRules.mRules.add(rule);
+        }
+
+        int totalSize = 0;
+        for (PackageRules pkgRules : rulesPerPackage.values()) {
+            totalSize += pkgRules.dataSize();
+        }
+
+        if (totalSize > MAXIMUM_PARCELED_SIZE) {
+            List<PackageRules> deletionCandidates = new ArrayList<>();
+            for (PackageRules pkgRules : rulesPerPackage.values()) {
+                if (!mTrustedPackages.contains(pkgRules.mPkg)) {
+                    deletionCandidates.add(pkgRules);
+                }
+            }
+            deletionCandidates.sort(Comparator.comparingInt(PackageRules::dataSize).reversed());
+
+            evictPackagesFromConfig(config, deletionCandidates, totalSize);
+        }
+    }
+
+    private static void evictPackagesFromConfig(ZenModeConfig config,
+            List<PackageRules> deletionCandidates, int currentSize) {
+        while (currentSize > MAXIMUM_PARCELED_SIZE && !deletionCandidates.isEmpty()) {
+            PackageRules rulesToDelete = deletionCandidates.removeFirst();
+            Slog.w(TAG, String.format("Evicting %s zen rules from package '%s' (%s bytes)",
+                    rulesToDelete.mRules.size(), rulesToDelete.mPkg, rulesToDelete.dataSize()));
+
+            for (ZenModeConfig.ZenRule rule : rulesToDelete.mRules) {
+                config.automaticRules.remove(rule.id);
+            }
+
+            currentSize -= rulesToDelete.dataSize();
+        }
+    }
+
+    private static class PackageRules {
+        private final String mPkg;
+        private final List<ZenModeConfig.ZenRule> mRules;
+        private int mParceledSize = -1;
+
+        PackageRules(String pkg) {
+            mPkg = pkg;
+            mRules = new ArrayList<>();
+        }
+
+        private int dataSize() {
+            if (mParceledSize >= 0) {
+                return mParceledSize;
+            }
+            Parcel parcel = Parcel.obtain();
+            try {
+                parcel.writeParcelableList(mRules, 0);
+                mParceledSize = parcel.dataSize();
+                return mParceledSize;
+            } finally {
+                parcel.recycle();
+            }
+        }
+    }
+}
diff --git a/services/core/java/com/android/server/notification/ZenModeHelper.java b/services/core/java/com/android/server/notification/ZenModeHelper.java
index 889df51..8b09c2a 100644
--- a/services/core/java/com/android/server/notification/ZenModeHelper.java
+++ b/services/core/java/com/android/server/notification/ZenModeHelper.java
@@ -48,6 +48,7 @@
 import static com.android.internal.util.FrameworkStatsLog.DND_MODE_RULE;
 import static com.android.internal.util.Preconditions.checkArgument;
 import static com.android.server.notification.Flags.preventZenDeviceEffectsWhileDriving;
+import static com.android.server.notification.Flags.limitZenConfigSize;
 
 import static java.util.Objects.requireNonNull;
 
@@ -192,6 +193,7 @@
     private final ConditionProviders.Config mServiceConfig;
     private final SystemUiSystemPropertiesFlags.FlagResolver mFlagResolver;
     private final ZenModeEventLogger mZenModeEventLogger;
+    private final ZenConfigTrimmer mConfigTrimmer;
 
     @VisibleForTesting protected int mZenMode;
     @VisibleForTesting protected NotificationManager.Policy mConsolidatedPolicy;
@@ -226,6 +228,7 @@
         mClock = clock;
         addCallback(mMetrics);
         mAppOps = context.getSystemService(AppOpsManager.class);
+        mConfigTrimmer = new ZenConfigTrimmer(mContext);
 
         mDefaultConfig = Flags.modesUi()
                 ? ZenModeConfig.getDefaultConfig()
@@ -2061,20 +2064,20 @@
                 Log.w(TAG, "Invalid config in setConfigLocked; " + config);
                 return false;
             }
+            if (limitZenConfigSize() && (origin == ORIGIN_APP || origin == ORIGIN_USER_IN_APP)) {
+                mConfigTrimmer.trimToMaximumSize(config);
+            }
+
             if (config.user != mUser) {
                 // simply store away for background users
-                synchronized (mConfigLock) {
-                    mConfigs.put(config.user, config);
-                }
+                mConfigs.put(config.user, config);
                 if (DEBUG) Log.d(TAG, "setConfigLocked: store config for user " + config.user);
                 return true;
             }
             // handle CPS backed conditions - danger! may modify config
             mConditions.evaluateConfig(config, null, false /*processSubscriptions*/);
 
-            synchronized (mConfigLock) {
-                mConfigs.put(config.user, config);
-            }
+            mConfigs.put(config.user, config);
             if (DEBUG) Log.d(TAG, "setConfigLocked reason=" + reason, new Throwable());
             ZenLog.traceConfig(origin, reason, triggeringComponent, mConfig, config, callingUid);
 
diff --git a/services/core/java/com/android/server/notification/flags.aconfig b/services/core/java/com/android/server/notification/flags.aconfig
index 76cd5c8..346d65a 100644
--- a/services/core/java/com/android/server/notification/flags.aconfig
+++ b/services/core/java/com/android/server/notification/flags.aconfig
@@ -212,6 +212,16 @@
 }
 
 flag {
+  name: "limit_zen_config_size"
+  namespace: "systemui"
+  description: "Enforce a maximum (serialized) size for the Zen configuration"
+  bug: "387498139"
+  metadata {
+    purpose: PURPOSE_BUGFIX
+  }
+}
+
+flag {
   name: "managed_services_concurrent_multiuser"
   namespace: "systemui"
   description: "Enables ManagedServices to support Concurrent multi user environment"
diff --git a/services/core/java/com/android/server/om/OverlayManagerService.java b/services/core/java/com/android/server/om/OverlayManagerService.java
index e613700..8d787fe 100644
--- a/services/core/java/com/android/server/om/OverlayManagerService.java
+++ b/services/core/java/com/android/server/om/OverlayManagerService.java
@@ -82,7 +82,6 @@
 import android.util.SparseArray;
 
 import com.android.internal.annotations.GuardedBy;
-import com.android.internal.annotations.KeepForWeakReference;
 import com.android.internal.content.PackageMonitor;
 import com.android.internal.content.om.OverlayConfig;
 import com.android.internal.util.ArrayUtils;
@@ -267,7 +266,6 @@
 
     private final OverlayActorEnforcer mActorEnforcer;
 
-    @KeepForWeakReference
     private final PackageMonitor mPackageMonitor = new OverlayManagerPackageMonitor();
 
     private int mPrevStartedUserId = -1;
diff --git a/services/core/java/com/android/server/om/OverlayManagerSettings.java b/services/core/java/com/android/server/om/OverlayManagerSettings.java
index 1ac9711..395d2e1 100644
--- a/services/core/java/com/android/server/om/OverlayManagerSettings.java
+++ b/services/core/java/com/android/server/om/OverlayManagerSettings.java
@@ -545,8 +545,8 @@
                     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.
+                    // Upgrading from versions 3 and 4 is not a breaking change, so do not
+                    // ignore the overlay file.
                     return;
                 default:
                     throw new XmlPullParserException("unrecognized version " + oldVersion);
diff --git a/services/core/java/com/android/server/pm/BackgroundInstallControlService.java b/services/core/java/com/android/server/pm/BackgroundInstallControlService.java
index 463989a..60d028b 100644
--- a/services/core/java/com/android/server/pm/BackgroundInstallControlService.java
+++ b/services/core/java/com/android/server/pm/BackgroundInstallControlService.java
@@ -390,10 +390,11 @@
                 .max(Comparator.comparingLong(PackageInstaller.SessionInfo::getCreatedMillis));
     }
 
-    // ADB sets installerPackageName to null, this creates a loophole to bypass BIC which will be
-    // addressed with b/265203007
     private boolean installedByAdb(String initiatingPackageName) {
-        if(PackageManagerServiceUtils.isInstalledByAdb(initiatingPackageName)) {
+        // GTS tests needs to adopt shell identity to install apps.
+        if(!SystemProperties.get("gts.transparency.bg-install-apps").isEmpty()) {
+            Slog.d(TAG, "handlePackageAdd: is GTS tests, skipping ADB check");
+        } else if(PackageManagerServiceUtils.isInstalledByAdb(initiatingPackageName)) {
             Slog.d(TAG, "handlePackageAdd: is installed by ADB, skipping");
             return true;
         }
diff --git a/services/core/java/com/android/server/pm/InstallPackageHelper.java b/services/core/java/com/android/server/pm/InstallPackageHelper.java
index f96846c..acdc79f 100644
--- a/services/core/java/com/android/server/pm/InstallPackageHelper.java
+++ b/services/core/java/com/android/server/pm/InstallPackageHelper.java
@@ -1067,6 +1067,9 @@
     void doPostDexopt(List<ReconciledPackage> reconciledPackages,
             List<InstallRequest> requests, Map<String, Boolean> createdAppId,
             MoveInfo moveInfo, long acquireTime) {
+        for (InstallRequest request : requests) {
+            request.onWaitDexoptFinished();
+        }
         boolean success = false;
         try {
             if (commitInstallPackages(reconciledPackages)) {
@@ -1218,6 +1221,7 @@
             CompletableFuture<Void> future =
                     DexOptHelper.performDexoptIfNeededAsync(request, mDexManager);
             completableFutures.add(future);
+            request.onWaitDexoptStarted();
         }
 
         if (!completableFutures.isEmpty()) {
diff --git a/services/core/java/com/android/server/pm/InstallRequest.java b/services/core/java/com/android/server/pm/InstallRequest.java
index fbf5db5..7349204 100644
--- a/services/core/java/com/android/server/pm/InstallRequest.java
+++ b/services/core/java/com/android/server/pm/InstallRequest.java
@@ -1028,6 +1028,18 @@
         }
     }
 
+    public void onWaitDexoptStarted() {
+        if (mPackageMetrics != null) {
+            mPackageMetrics.onStepStarted(PackageMetrics.STEP_WAIT_DEXOPT);
+        }
+    }
+
+    public void onWaitDexoptFinished() {
+        if (mPackageMetrics != null) {
+            mPackageMetrics.onStepFinished(PackageMetrics.STEP_WAIT_DEXOPT);
+        }
+    }
+
     public void onDexoptFinished(DexoptResult dexoptResult) {
         // Only report external profile warnings when installing from adb. The goal is to warn app
         // developers if they have provided bad external profiles, so it's not beneficial to report
diff --git a/services/core/java/com/android/server/pm/OWNERS b/services/core/java/com/android/server/pm/OWNERS
index 62b89f32..f98ec04 100644
--- a/services/core/java/com/android/server/pm/OWNERS
+++ b/services/core/java/com/android/server/pm/OWNERS
@@ -1,7 +1,6 @@
 hackbod@android.com
 hackbod@google.com
 jsharkey@android.com
-jsharkey@google.com
 narayan@google.com
 include /PACKAGE_MANAGER_OWNERS
 
diff --git a/services/core/java/com/android/server/pm/PackageInstallerSession.java b/services/core/java/com/android/server/pm/PackageInstallerSession.java
index 136cb12..635ef06 100644
--- a/services/core/java/com/android/server/pm/PackageInstallerSession.java
+++ b/services/core/java/com/android/server/pm/PackageInstallerSession.java
@@ -5189,7 +5189,9 @@
                     "Session " + sessionId + " is a parent of multi-package session and "
                             + "requestUserPreapproval on the parent session isn't supported.");
         }
-
+        if (statusReceiver == null) {
+            throw new IllegalArgumentException("Status receiver cannot be null.");
+        }
         synchronized (mLock) {
             assertPreparedAndNotSealedLocked("request of session " + sessionId);
             mPreapprovalDetails = details;
@@ -5542,6 +5544,10 @@
      */
     private static void sendOnUserActionRequired(Context context, IntentSender target,
             int sessionId, Intent intent) {
+        if (target == null) {
+            Slog.e(TAG, "Missing receiver for pending user action.");
+            return;
+        }
         final Intent fillIn = new Intent();
         fillIn.putExtra(PackageInstaller.EXTRA_SESSION_ID, sessionId);
         fillIn.putExtra(PackageInstaller.EXTRA_STATUS, PackageInstaller.STATUS_PENDING_USER_ACTION);
diff --git a/services/core/java/com/android/server/pm/PackageMetrics.java b/services/core/java/com/android/server/pm/PackageMetrics.java
index 994ee42..22da3b2 100644
--- a/services/core/java/com/android/server/pm/PackageMetrics.java
+++ b/services/core/java/com/android/server/pm/PackageMetrics.java
@@ -73,6 +73,7 @@
     public static final int STEP_DEXOPT = 5;
     public static final int STEP_FREEZE_INSTALL = 6;
     public static final int STEP_RESTORE = 7;
+    public static final int STEP_WAIT_DEXOPT = 8;
 
     @IntDef(prefix = {"STEP_"}, value = {
             STEP_PREPARE,
@@ -81,7 +82,8 @@
             STEP_COMMIT,
             STEP_DEXOPT,
             STEP_FREEZE_INSTALL,
-            STEP_RESTORE
+            STEP_RESTORE,
+            STEP_WAIT_DEXOPT
     })
     @Retention(RetentionPolicy.SOURCE)
     public @interface StepInt {
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index c7737e9..93837b3 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -2621,20 +2621,22 @@
      * Valid user is the current user or the system or in the same profile group as the current
      * user. Visible background users are not valid calling users.
      */
-    public static void enforceCurrentUserIfVisibleBackgroundEnabled(@UserIdInt int currentUserId) {
+    public static void enforceCurrentUserIfVisibleBackgroundEnabled() {
         if (!UserManager.isVisibleBackgroundUsersEnabled()) {
             return;
         }
         final int callingUserId = UserHandle.getCallingUserId();
-        if (DBG) {
-            Slog.d(LOG_TAG, "enforceValidCallingUser: callingUserId=" + callingUserId
-                    + " isSystemUser=" + (callingUserId == USER_SYSTEM)
-                    + " currentUserId=" + currentUserId
-                    + " callingPid=" + Binder.getCallingPid()
-                    + " callingUid=" + Binder.getCallingUid());
-        }
         final long ident = Binder.clearCallingIdentity();
         try {
+            final int currentUserId = ActivityManager.getCurrentUser();
+            if (DBG) {
+                Slog.d(LOG_TAG, "enforceCurrentUserIfVisibleBackgroundEnabled:"
+                        + " callingUserId=" + callingUserId
+                        + " isSystemUser=" + (callingUserId == USER_SYSTEM)
+                        + " currentUserId=" + currentUserId
+                        + " callingPid=" + Binder.getCallingPid()
+                        + " callingUid=" + Binder.getCallingUid());
+            }
             if (callingUserId != USER_SYSTEM && callingUserId != currentUserId
                     && !UserManagerService.getInstance()
                     .isSameProfileGroup(callingUserId, currentUserId)) {
@@ -2937,28 +2939,20 @@
 
         int flags = UserManager.SWITCHABILITY_STATUS_OK;
 
-        t.traceBegin("TM.isInCall");
-        final long identity = Binder.clearCallingIdentity();
-        try {
-            final TelecomManager telecomManager = mContext.getSystemService(TelecomManager.class);
-            if (com.android.internal.telephony.flags
-                    .Flags.enforceTelephonyFeatureMappingForPublicApis()) {
-                if (mContext.getPackageManager().hasSystemFeature(
-                        PackageManager.FEATURE_TELECOM)) {
-                    if (telecomManager != null && telecomManager.isInCall()) {
-                        flags |= UserManager.SWITCHABILITY_STATUS_USER_IN_CALL;
-                    }
-                }
-            } else {
+        if (mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELECOM)) {
+            t.traceBegin("TM.isInCall");
+            final long identity = Binder.clearCallingIdentity();
+            try {
+                final TelecomManager telecomManager = mContext.getSystemService(
+                        TelecomManager.class);
                 if (telecomManager != null && telecomManager.isInCall()) {
                     flags |= UserManager.SWITCHABILITY_STATUS_USER_IN_CALL;
                 }
+            } finally {
+                Binder.restoreCallingIdentity(identity);
             }
-        } finally {
-            Binder.restoreCallingIdentity(identity);
+            t.traceEnd();
         }
-        t.traceEnd();
-
         t.traceBegin("hasUserRestriction-DISALLOW_USER_SWITCH");
         if (mLocalService.hasUserRestriction(DISALLOW_USER_SWITCH, userId)) {
             flags |= UserManager.SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED;
@@ -5784,8 +5778,8 @@
         final boolean isRestricted = UserManager.isUserTypeRestricted(userType);
         final boolean isDemo = UserManager.isUserTypeDemo(userType);
         final boolean isManagedProfile = UserManager.isUserTypeManagedProfile(userType);
-        final boolean isCommunalProfile = UserManager.isUserTypeCommunalProfile(userType);
         final boolean isPrivateProfile = UserManager.isUserTypePrivateProfile(userType);
+        final boolean requiresProfileParent = userTypeDetails.isProfileParentRequired();
 
         final long ident = Binder.clearCallingIdentity();
         UserInfo userInfo;
@@ -5825,7 +5819,7 @@
                             UserManager.USER_OPERATION_ERROR_MAX_USERS);
                 }
                 // TODO(b/142482943): Perhaps let the following code apply to restricted users too.
-                if (isProfile && !isCommunalProfile &&
+                if (requiresProfileParent &&
                         !canAddMoreProfilesToUser(userType, parentId, false)) {
                     throwCheckedUserOperationException(
                             "Cannot add more profiles of type " + userType
diff --git a/services/core/java/com/android/server/pm/UserTypeDetails.java b/services/core/java/com/android/server/pm/UserTypeDetails.java
index 19410e5..c1f63f0 100644
--- a/services/core/java/com/android/server/pm/UserTypeDetails.java
+++ b/services/core/java/com/android/server/pm/UserTypeDetails.java
@@ -112,6 +112,9 @@
      */
     private final @Nullable List<DefaultCrossProfileIntentFilter> mDefaultCrossProfileIntentFilters;
 
+    /** Whether the {@link #isProfile() profile} requires having a parent (as most profiles do). */
+    private final boolean mProfileParentRequired;
+
 
     // Fields for profiles only, controlling the nature of their badges.
     // All badge information should be set if {@link #hasBadge()} is true.
@@ -174,7 +177,7 @@
 
     private UserTypeDetails(@NonNull String name, boolean enabled, int maxAllowed,
             @UserInfoFlag int baseType, @UserInfoFlag int defaultUserInfoPropertyFlags,
-            @Nullable int[] labels, int maxAllowedPerParent,
+            @Nullable int[] labels, int maxAllowedPerParent, boolean profileParentRequired,
             int iconBadge, int badgePlain, int badgeNoBackground,
             int statusBarIcon,
             @Nullable int[] badgeLabels, @Nullable int[] badgeColors,
@@ -195,6 +198,7 @@
         this.mDefaultSystemSettings = defaultSystemSettings;
         this.mDefaultSecureSettings = defaultSecureSettings;
         this.mDefaultCrossProfileIntentFilters = defaultCrossProfileIntentFilters;
+        this.mProfileParentRequired = profileParentRequired;
         this.mIconBadge = iconBadge;
         this.mBadgePlain = badgePlain;
         this.mBadgeNoBackground = badgeNoBackground;
@@ -249,6 +253,14 @@
     }
 
     /**
+     * Returns whether this type of {@link #isProfile() profile} requires having a parent.
+     * Inapplicable to non-profiles (and therefore inapplicable to restricted profiles).
+     */
+    public boolean isProfileParentRequired() {
+        return mProfileParentRequired;
+    }
+
+    /**
      * Returns the resource ID corresponding to the badgeIndexth label name where the badgeIndex is
      * expected to be the {@link UserInfo#profileBadge} of the user. If badgeIndex exceeds the
      * number of labels, returns the label for the highest index.
@@ -406,6 +418,7 @@
             UserRestrictionsUtils.dumpRestrictions(pw, restrictionsPrefix, mDefaultRestrictions);
         }
 
+        pw.print(prefix); pw.print("mProfileParentRequired: "); pw.println(mProfileParentRequired);
         pw.print(prefix); pw.print("mIconBadge: "); pw.println(mIconBadge);
         pw.print(prefix); pw.print("mBadgePlain: "); pw.println(mBadgePlain);
         pw.print(prefix); pw.print("mBadgeNoBackground: "); pw.println(mBadgeNoBackground);
@@ -438,6 +451,7 @@
         private @Nullable int[] mBadgeLabels = null;
         private @Nullable int[] mBadgeColors = null;
         private @Nullable int[] mDarkThemeBadgeColors = null;
+        private boolean mProfileParentRequired = false;
         private @DrawableRes int mIconBadge = Resources.ID_NULL;
         private @DrawableRes int mBadgePlain = Resources.ID_NULL;
         private @DrawableRes int mBadgeNoBackground = Resources.ID_NULL;
@@ -487,14 +501,17 @@
             return this;
         }
 
-        /**
-         * The badge colors when the badge is on a dark background.
-         */
+        /** The badge colors when the badge is on a dark background. */
         public Builder setDarkThemeBadgeColors(@ColorRes int ... darkThemeBadgeColors) {
             mDarkThemeBadgeColors = darkThemeBadgeColors;
             return this;
         }
 
+        public Builder setProfileParentRequired(boolean profileParentRequired) {
+            mProfileParentRequired = profileParentRequired;
+            return this;
+        }
+
         public Builder setIconBadge(@DrawableRes int badgeIcon) {
             mIconBadge = badgeIcon;
             return this;
@@ -541,9 +558,7 @@
             return this;
         }
 
-        /**
-         * Sets the accessibility label associated with the user
-         */
+        /** Sets the accessibility label associated with the user */
         public Builder setAccessibilityString(@StringRes int accessibilityString) {
             mAccessibilityString = accessibilityString;
             return this;
@@ -590,6 +605,8 @@
                                 || mDefaultCrossProfileIntentFilters.isEmpty(),
                         "UserTypeDetails %s has a non empty "
                                 + "defaultCrossProfileIntentFilters", mName);
+                Preconditions.checkArgument(!mProfileParentRequired,
+                        "UserTypeDetails %s requires a parent but isn't a profile", mName);
             }
             return new UserTypeDetails(
                     mName,
@@ -599,6 +616,7 @@
                     mDefaultUserInfoPropertyFlags,
                     mLabels,
                     mMaxAllowedPerParent,
+                    mProfileParentRequired,
                     mIconBadge,
                     mBadgePlain,
                     mBadgeNoBackground,
diff --git a/services/core/java/com/android/server/pm/UserTypeFactory.java b/services/core/java/com/android/server/pm/UserTypeFactory.java
index 2715025..58c5b1c 100644
--- a/services/core/java/com/android/server/pm/UserTypeFactory.java
+++ b/services/core/java/com/android/server/pm/UserTypeFactory.java
@@ -128,6 +128,7 @@
                 .setName(USER_TYPE_PROFILE_CLONE)
                 .setBaseType(FLAG_PROFILE)
                 .setMaxAllowedPerParent(1)
+                .setProfileParentRequired(true)
                 .setLabels(R.string.profile_label_clone)
                 .setIconBadge(com.android.internal.R.drawable.ic_clone_icon_badge)
                 .setBadgePlain(com.android.internal.R.drawable.ic_clone_badge)
@@ -177,6 +178,7 @@
                 .setBaseType(FLAG_PROFILE)
                 .setDefaultUserInfoPropertyFlags(FLAG_MANAGED_PROFILE)
                 .setMaxAllowedPerParent(1)
+                .setProfileParentRequired(true)
                 .setLabels(
                         R.string.profile_label_work,
                         R.string.profile_label_work_2,
@@ -226,6 +228,7 @@
                 .setName(USER_TYPE_PROFILE_TEST)
                 .setBaseType(FLAG_PROFILE)
                 .setMaxAllowedPerParent(2)
+                .setProfileParentRequired(true)
                 .setLabels(
                         R.string.profile_label_test,
                         R.string.profile_label_test,
@@ -259,6 +262,7 @@
                 .setName(USER_TYPE_PROFILE_COMMUNAL)
                 .setBaseType(FLAG_PROFILE)
                 .setMaxAllowed(1)
+                .setProfileParentRequired(false)
                 .setEnabled(UserManager.isCommunalProfileEnabled() ? 1 : 0)
                 .setLabels(R.string.profile_label_communal)
                 .setIconBadge(com.android.internal.R.drawable.ic_test_icon_badge_experiment)
@@ -295,6 +299,7 @@
         return new UserTypeDetails.Builder()
                 .setName(USER_TYPE_PROFILE_PRIVATE)
                 .setBaseType(FLAG_PROFILE)
+                .setProfileParentRequired(true)
                 .setMaxAllowedPerParent(1)
                 .setEnabled(UserManager.isPrivateProfileEnabled() ? 1 : 0)
                 .setLabels(R.string.profile_label_private)
@@ -387,6 +392,7 @@
                 .setBaseType(FLAG_FULL)
                 .setDefaultUserInfoPropertyFlags(FLAG_RESTRICTED)
                 .setMaxAllowed(UNLIMITED_NUMBER_OF_USERS)
+                .setProfileParentRequired(false) // they have a "parent", but not a profile parent
                 // NB: UserManagerService.createRestrictedProfile() applies hardcoded restrictions.
                 .setDefaultRestrictions(null);
     }
@@ -541,6 +547,8 @@
                     builder = new UserTypeDetails.Builder();
                     builder.setName(typeName);
                     builder.setBaseType(FLAG_PROFILE);
+                    // Custom parentless profiles are not yet supported.
+                    builder.setProfileParentRequired(true);
                     builders.put(typeName, builder);
                 } else {
                     throw new IllegalArgumentException("Creation of non-profile user type "
diff --git a/services/core/java/com/android/server/pm/dex/OWNERS b/services/core/java/com/android/server/pm/dex/OWNERS
index 5ca8ddd..70af4e7 100644
--- a/services/core/java/com/android/server/pm/dex/OWNERS
+++ b/services/core/java/com/android/server/pm/dex/OWNERS
@@ -1,4 +1,3 @@
-alanstokes@google.com
 jiakaiz@google.com
 ngeoffray@google.com
 mast@google.com
diff --git a/services/core/java/com/android/server/policy/KeyCombinationManager.java b/services/core/java/com/android/server/policy/KeyCombinationManager.java
index 1592ef3..1b98dd1 100644
--- a/services/core/java/com/android/server/policy/KeyCombinationManager.java
+++ b/services/core/java/com/android/server/policy/KeyCombinationManager.java
@@ -148,19 +148,19 @@
      * to a window.
      * Return true if any active rule could be triggered by the key event, otherwise false.
      */
-    public boolean interceptKey(KeyEvent event, boolean interactive) {
+    public boolean interceptKey(KeyEvent event, boolean isDefaultDisplayInteractive) {
         synchronized (mLock) {
-            return interceptKeyLocked(event, interactive);
+            return interceptKeyLocked(event, isDefaultDisplayInteractive);
         }
     }
 
-    private boolean interceptKeyLocked(KeyEvent event, boolean interactive) {
+    private boolean interceptKeyLocked(KeyEvent event, boolean isDefaultDisplayInteractive) {
         final boolean down = event.getAction() == KeyEvent.ACTION_DOWN;
         final int keyCode = event.getKeyCode();
         final int count = mActiveRules.size();
         final long eventTime = event.getEventTime();
 
-        if (interactive && down) {
+        if (isDefaultDisplayInteractive && down) {
             if (mDownTimes.size() > 0) {
                 if (count > 0
                         && eventTime > mDownTimes.valueAt(0) + COMBINE_KEY_DELAY_MILLIS) {
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index 980fb155..f27194a 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -1163,15 +1163,6 @@
         }
     }
 
-    private boolean shouldShowHub() {
-        final boolean hubEnabled = Settings.Secure.getIntForUser(
-                mContext.getContentResolver(), Settings.Secure.GLANCEABLE_HUB_ENABLED,
-                1, mCurrentUserId) == 1;
-
-        return mUserManagerInternal != null && mUserManagerInternal.isUserUnlocked(mCurrentUserId)
-                && hubEnabled && mDreamManagerInternal.dreamConditionActive();
-    }
-
     @VisibleForTesting
     void powerPress(long eventTime, int count, int displayId) {
         // SideFPS still needs to know about suppressed power buttons, in case it needs to block
@@ -1260,8 +1251,7 @@
                             mContext.getContentResolver(), Settings.Secure.GLANCEABLE_HUB_ENABLED,
                             1, mCurrentUserId) == 1;
 
-                    if ((mDreamManagerInternal != null && mDreamManagerInternal.isDreaming())
-                            || isKeyguardShowing()) {
+                    if (mDreamManagerInternal.isDreaming() || isKeyguardShowing()) {
                         // If the device is already dreaming or on keyguard, go to sleep.
                         sleepDefaultDisplayFromPowerButton(eventTime, 0);
                         break;
@@ -1271,10 +1261,9 @@
                     // show hub.
                     boolean keyguardAvailable = !mLockPatternUtils.isLockScreenDisabled(
                             mCurrentUserId);
-                    if (shouldShowHub() && keyguardAvailable) {
-                        // If the hub can be launched, send a message to keyguard. We do not know if
-                        // the hub is already running or not, keyguard handles turning screen off if
-                        // it is.
+                    if (mUserManagerInternal.isUserUnlocked(mCurrentUserId) && hubEnabled
+                            && keyguardAvailable && mDreamManagerInternal.dreamConditionActive()) {
+                        // If the hub can be launched, send a message to keyguard.
                         Bundle options = new Bundle();
                         options.putBoolean(EXTRA_TRIGGER_HUB, true);
                         lockNow(options);
@@ -1335,14 +1324,14 @@
      * @param isScreenOn Whether the screen is currently on.
      * @param noDreamAction The action to perform if dreaming is not possible.
      */
-    private boolean attemptToDreamFromShortPowerButtonPress(
+    private void attemptToDreamFromShortPowerButtonPress(
             boolean isScreenOn, Runnable noDreamAction) {
         if (mShortPressOnPowerBehavior != SHORT_PRESS_POWER_DREAM_OR_SLEEP
                 && mShortPressOnPowerBehavior != SHORT_PRESS_POWER_HUB_OR_DREAM_OR_SLEEP) {
             // If the power button behavior isn't one that should be able to trigger the dream, give
             // up.
             noDreamAction.run();
-            return false;
+            return;
         }
 
         final DreamManagerInternal dreamManagerInternal = getDreamManagerInternal();
@@ -1350,7 +1339,7 @@
             Slog.d(TAG, "Can't start dreaming when attempting to dream from short power"
                     + " press (isScreenOn=" + isScreenOn + ")");
             noDreamAction.run();
-            return false;
+            return;
         }
 
         synchronized (mLock) {
@@ -1361,8 +1350,6 @@
         }
 
         dreamManagerInternal.requestDream();
-
-        return true;
     }
 
     /**
@@ -2340,10 +2327,6 @@
         WindowWakeUpPolicy getWindowWakeUpPolicy() {
             return new WindowWakeUpPolicy(mContext);
         }
-
-        DreamManagerInternal getDreamManagerInternal() {
-            return LocalServices.getService(DreamManagerInternal.class);
-        }
     }
 
     /** {@inheritDoc} */
@@ -2362,7 +2345,7 @@
         mActivityTaskManagerInternal = LocalServices.getService(ActivityTaskManagerInternal.class);
         mInputManager = mContext.getSystemService(InputManager.class);
         mInputManagerInternal = LocalServices.getService(InputManagerInternal.class);
-        mDreamManagerInternal = injector.getDreamManagerInternal();
+        mDreamManagerInternal = LocalServices.getService(DreamManagerInternal.class);
         mPowerManagerInternal = LocalServices.getService(PowerManagerInternal.class);
         mAppOpsManager = mContext.getSystemService(AppOpsManager.class);
         mSensorPrivacyManager = mContext.getSystemService(SensorPrivacyManager.class);
@@ -4300,22 +4283,19 @@
                     case KeyGestureEvent.KEY_GESTURE_TYPE_CLOSE_ALL_DIALOGS:
                     case KeyGestureEvent.KEY_GESTURE_TYPE_LAUNCH_APPLICATION:
                     case KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_DO_NOT_DISTURB:
-                        return true;
                     case KeyGestureEvent.KEY_GESTURE_TYPE_SCREENSHOT_CHORD:
                     case KeyGestureEvent.KEY_GESTURE_TYPE_RINGER_TOGGLE_CHORD:
                     case KeyGestureEvent.KEY_GESTURE_TYPE_GLOBAL_ACTIONS:
                     case KeyGestureEvent.KEY_GESTURE_TYPE_TV_TRIGGER_BUG_REPORT:
-                        return mDefaultDisplayPolicy.isAwake();
-                    case KeyGestureEvent.KEY_GESTURE_TYPE_ACCESSIBILITY_SHORTCUT_CHORD:
-                        return mDefaultDisplayPolicy.isAwake() && mAccessibilityShortcutController
-                                .isAccessibilityShortcutAvailable(isKeyguardLocked());
-                    case KeyGestureEvent.KEY_GESTURE_TYPE_TV_ACCESSIBILITY_SHORTCUT_CHORD:
-                        return mDefaultDisplayPolicy.isAwake() && mAccessibilityShortcutController
-                                .isAccessibilityShortcutAvailable(false);
                     case KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_TALKBACK:
-                        return enableTalkbackAndMagnifierKeyGestures();
                     case KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_VOICE_ACCESS:
-                        return enableVoiceAccessKeyGestures();
+                        return true;
+                    case KeyGestureEvent.KEY_GESTURE_TYPE_ACCESSIBILITY_SHORTCUT_CHORD:
+                        return mAccessibilityShortcutController.isAccessibilityShortcutAvailable(
+                                isKeyguardLocked());
+                    case KeyGestureEvent.KEY_GESTURE_TYPE_TV_ACCESSIBILITY_SHORTCUT_CHORD:
+                        return mAccessibilityShortcutController.isAccessibilityShortcutAvailable(
+                                false);
                     default:
                         return false;
                 }
@@ -6409,17 +6389,6 @@
                 event.getDisplayId(), event.getKeyCode(), "wakeUpFromWakeKey")) {
             return;
         }
-
-        if (!shouldShowHub()
-                && mShortPressOnPowerBehavior == SHORT_PRESS_POWER_HUB_OR_DREAM_OR_SLEEP
-                && event.getKeyCode() == KEYCODE_POWER
-                && attemptToDreamFromShortPowerButtonPress(false, () -> {})) {
-            // In the case that we should wake to dream and successfully initiate dreaming, do not
-            // continue waking up. Doing so will exit the dream state and cause UI to react
-            // accordingly.
-            return;
-        }
-
         wakeUpFromWakeKey(
                 event.getEventTime(),
                 event.getKeyCode(),
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
index e3eced2..dd454cd 100644
--- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -7445,6 +7445,13 @@
         public void setDevicePostured(boolean isPostured) {
             setDevicePosturedInternal(isPostured);
         }
+
+        @Override
+        public void updateSettings() {
+            synchronized (mLock) {
+                updateSettingsLocked();
+            }
+        }
     }
 
     /**
diff --git a/services/core/java/com/android/server/power/stats/BatteryHistoryDirectory.java b/services/core/java/com/android/server/power/stats/BatteryHistoryDirectory.java
index adf308a..5563f98 100644
--- a/services/core/java/com/android/server/power/stats/BatteryHistoryDirectory.java
+++ b/services/core/java/com/android/server/power/stats/BatteryHistoryDirectory.java
@@ -143,6 +143,7 @@
     /**
      * Returns the maximum storage size allocated to battery history.
      */
+    @Override
     public int getMaxHistorySize() {
         return mMaxHistorySize;
     }
@@ -250,6 +251,10 @@
         try (FileInputStream stream = file.openRead()) {
             byte[] header = new byte[FILE_FORMAT_BYTES];
             if (stream.read(header, 0, FILE_FORMAT_BYTES) == -1) {
+                if (file.getBaseFile().length() == 0) {
+                    return new byte[0];
+                }
+
                 Slog.e(TAG, "Invalid battery history file format " + file.getBaseFile());
                 deleteFragment(fragment);
                 return null;
diff --git a/services/core/java/com/android/server/power/stats/processor/AggregatedPowerStats.java b/services/core/java/com/android/server/power/stats/processor/AggregatedPowerStats.java
index 53894a1..f2bbdfc 100644
--- a/services/core/java/com/android/server/power/stats/processor/AggregatedPowerStats.java
+++ b/services/core/java/com/android/server/power/stats/processor/AggregatedPowerStats.java
@@ -120,16 +120,18 @@
      *                      {@link com.android.internal.os.MonotonicClock}
      * @param currentTime   current time in milliseconds, see {@link System#currentTimeMillis()}
      */
-    void addClockUpdate(long monotonicTime, @CurrentTimeMillisLong long currentTime) {
+    boolean addClockUpdate(long monotonicTime, @CurrentTimeMillisLong long currentTime) {
         ClockUpdate clockUpdate = new ClockUpdate();
         clockUpdate.monotonicTime = monotonicTime;
         clockUpdate.currentTime = currentTime;
         if (mClockUpdates.size() < MAX_CLOCK_UPDATES) {
             mClockUpdates.add(clockUpdate);
+            return true;
         } else {
             Slog.i(TAG, "Too many clock updates. Replacing the previous update with "
                     + DateFormat.format("yyyy-MM-dd-HH-mm-ss", currentTime));
             mClockUpdates.set(mClockUpdates.size() - 1, clockUpdate);
+            return false;
         }
     }
 
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 ad628e4..4344c32 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
@@ -39,6 +39,21 @@
         mTmpDeviceStats = new long[mDescriptor.statsArrayLength];
     }
 
+    private boolean unpackMobileRadioStatsDescriptor(PowerStats.Descriptor descriptor) {
+        if (descriptor == null) {
+            return false;
+        }
+
+        if (descriptor.equals(mMobileRadioStatsDescriptor)) {
+            return true;
+        }
+
+        mMobileRadioStatsDescriptor = descriptor;
+        mMobileRadioStatsLayout = new MobileRadioPowerStatsLayout(mMobileRadioStatsDescriptor);
+        mTmpMobileRadioDeviceStats = new long[mMobileRadioStatsDescriptor.statsArrayLength];
+        return true;
+    }
+
     @Override
     void finish(PowerComponentAggregatedPowerStats stats, long timestampMs) {
         stats.setPowerStatsDescriptor(mDescriptor);
@@ -50,16 +65,8 @@
             return;
         }
 
-        if (mMobileRadioStatsDescriptor == null) {
-            mMobileRadioStatsDescriptor = mobileRadioStats.getPowerStatsDescriptor();
-            if (mMobileRadioStatsDescriptor == null) {
-                return;
-            }
-
-            mMobileRadioStatsLayout =
-                    new MobileRadioPowerStatsLayout(
-                            mMobileRadioStatsDescriptor);
-            mTmpMobileRadioDeviceStats = new long[mMobileRadioStatsDescriptor.statsArrayLength];
+        if (!unpackMobileRadioStatsDescriptor(mobileRadioStats.getPowerStatsDescriptor())) {
+            return;
         }
 
         MultiStateStats.States[] deviceStateConfig =
diff --git a/services/core/java/com/android/server/power/stats/processor/PowerStatsAggregator.java b/services/core/java/com/android/server/power/stats/processor/PowerStatsAggregator.java
index 8461a54..b9862aa 100644
--- a/services/core/java/com/android/server/power/stats/processor/PowerStatsAggregator.java
+++ b/services/core/java/com/android/server/power/stats/processor/PowerStatsAggregator.java
@@ -98,14 +98,18 @@
 
                     if (!startedSession) {
                         mStats.start(item.time);
-                        mStats.addClockUpdate(item.time, item.currentTime);
+                        if (!mStats.addClockUpdate(item.time, item.currentTime)) {
+                            break;
+                        }
                         if (baseTime == UNINITIALIZED) {
                             baseTime = item.time;
                         }
                         startedSession = true;
                     } else if (item.cmd == BatteryStats.HistoryItem.CMD_CURRENT_TIME
                                || item.cmd == BatteryStats.HistoryItem.CMD_RESET) {
-                        mStats.addClockUpdate(item.time, item.currentTime);
+                        if (!mStats.addClockUpdate(item.time, item.currentTime)) {
+                            break;
+                        }
                     }
 
                     lastTime = item.time;
@@ -164,7 +168,9 @@
                                 consumer.accept(mStats);
                             }
                             mStats.reset();
-                            mStats.addClockUpdate(item.time, item.currentTime);
+                            if (!mStats.addClockUpdate(item.time, item.currentTime)) {
+                                break;
+                            }
                             baseTime = lastTime = item.time;
                         }
                         mStats.addPowerStats(item.powerStats, item.time);
diff --git a/services/core/java/com/android/server/security/advancedprotection/features/DisallowCellular2GAdvancedProtectionHook.java b/services/core/java/com/android/server/security/advancedprotection/features/DisallowCellular2GAdvancedProtectionHook.java
index acdea88..be26334 100644
--- a/services/core/java/com/android/server/security/advancedprotection/features/DisallowCellular2GAdvancedProtectionHook.java
+++ b/services/core/java/com/android/server/security/advancedprotection/features/DisallowCellular2GAdvancedProtectionHook.java
@@ -60,8 +60,7 @@
     private static boolean isEmbeddedSubscriptionVisible(SubscriptionInfo subInfo) {
         if (subInfo.isEmbedded()
                 && (subInfo.getProfileClass() == SubscriptionManager.PROFILE_CLASS_PROVISIONING
-                        || (com.android.internal.telephony.flags.Flags.oemEnabledSatelliteFlag()
-                                && subInfo.isOnlyNonTerrestrialNetwork()))) {
+                        || subInfo.isOnlyNonTerrestrialNetwork())) {
             return false;
         }
 
diff --git a/services/core/java/com/android/server/sensorprivacy/SensorPrivacyService.java b/services/core/java/com/android/server/sensorprivacy/SensorPrivacyService.java
index 16658e3..a64e38e 100644
--- a/services/core/java/com/android/server/sensorprivacy/SensorPrivacyService.java
+++ b/services/core/java/com/android/server/sensorprivacy/SensorPrivacyService.java
@@ -131,7 +131,6 @@
 
 import com.android.internal.R;
 import com.android.internal.annotations.GuardedBy;
-import com.android.internal.annotations.KeepForWeakReference;
 import com.android.internal.camera.flags.Flags;
 import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
 import com.android.internal.os.BackgroundThread;
@@ -2008,11 +2007,7 @@
     }
 
     private class CallStateHelper {
-        // TelephonyCallback instances are only weakly referenced when registered, so we need
-        // to ensure these fields are kept during optimization to preserve lifecycle semantics.
-        @KeepForWeakReference
         private final OutgoingEmergencyStateCallback mEmergencyStateCallback;
-        @KeepForWeakReference
         private final CallStateCallback mCallStateCallback;
 
         private boolean mIsInEmergencyCall;
diff --git a/services/core/java/com/android/server/statusbar/StatusBarManagerInternal.java b/services/core/java/com/android/server/statusbar/StatusBarManagerInternal.java
index fab19b6..1afbb34 100644
--- a/services/core/java/com/android/server/statusbar/StatusBarManagerInternal.java
+++ b/services/core/java/com/android/server/statusbar/StatusBarManagerInternal.java
@@ -160,8 +160,10 @@
      * @param displayId The changed display Id.
      * @param rootDisplayAreaId The changed display area Id.
      * @param isImmersiveMode {@code true} if the display area get into immersive mode.
+     * @param windowType The window type of the controlling window.
      */
-    void immersiveModeChanged(int displayId, int rootDisplayAreaId, boolean isImmersiveMode);
+    void immersiveModeChanged(int displayId, int rootDisplayAreaId, boolean isImmersiveMode,
+            int windowType);
 
     /**
      * Show a rotation suggestion that a user may approve to rotate the screen.
diff --git a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
index da9d016..798c794 100644
--- a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
+++ b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
@@ -732,7 +732,7 @@
 
         @Override
         public void immersiveModeChanged(int displayId, int rootDisplayAreaId,
-                boolean isImmersiveMode) {
+                boolean isImmersiveMode, int windowType) {
             if (mBar == null) {
                 return;
             }
@@ -746,7 +746,7 @@
             if (!CLIENT_TRANSIENT) {
                 // Only call from here when the client transient is not enabled.
                 try {
-                    mBar.immersiveModeChanged(rootDisplayAreaId, isImmersiveMode);
+                    mBar.immersiveModeChanged(rootDisplayAreaId, isImmersiveMode, windowType);
                 } catch (RemoteException ex) {
                 }
             }
diff --git a/services/core/java/com/android/server/storage/WatchedVolumeInfo.java b/services/core/java/com/android/server/storage/WatchedVolumeInfo.java
index 94e52cd..d4b20fb 100644
--- a/services/core/java/com/android/server/storage/WatchedVolumeInfo.java
+++ b/services/core/java/com/android/server/storage/WatchedVolumeInfo.java
@@ -68,6 +68,10 @@
         return ImmutableVolumeInfo.fromVolumeInfo(mVolumeInfo);
     }
 
+    public ImmutableVolumeInfo getClonedImmutableVolumeInfo() {
+        return ImmutableVolumeInfo.fromVolumeInfo(mVolumeInfo.clone());
+    }
+
     public StorageVolume buildStorageVolume(Context context, int userId, boolean reportUnmounted) {
         return mVolumeInfo.buildStorageVolume(context, userId, reportUnmounted);
     }
diff --git a/services/core/java/com/android/server/uri/OWNERS b/services/core/java/com/android/server/uri/OWNERS
index cdc07ed..6599db7 100644
--- a/services/core/java/com/android/server/uri/OWNERS
+++ b/services/core/java/com/android/server/uri/OWNERS
@@ -1,3 +1,2 @@
 jsharkey@android.com
-jsharkey@google.com
 varunshah@google.com
diff --git a/services/core/java/com/android/server/vibrator/VendorVibrationSession.java b/services/core/java/com/android/server/vibrator/VendorVibrationSession.java
index bda3d44..621a128 100644
--- a/services/core/java/com/android/server/vibrator/VendorVibrationSession.java
+++ b/services/core/java/com/android/server/vibrator/VendorVibrationSession.java
@@ -51,6 +51,7 @@
 final class VendorVibrationSession extends IVibrationSession.Stub
         implements VibrationSession, CancellationSignal.OnCancelListener, IBinder.DeathRecipient {
     private static final String TAG = "VendorVibrationSession";
+    private static final boolean DEBUG = false;
 
     /** Calls into VibratorManager functionality needed for playing an {@link ExternalVibration}. */
     interface VibratorManagerHooks {
@@ -73,8 +74,8 @@
     private final ICancellationSignal mCancellationSignal = CancellationSignal.createTransport();
     private final int[] mVibratorIds;
     private final long mCreateUptime;
-    private final long mCreateTime; // for debugging
-    private final IVibrationSessionCallback mCallback;
+    private final long mCreateTime;
+    private final VendorCallbackWrapper mCallback;
     private final CallerInfo mCallerInfo;
     private final VibratorManagerHooks mManagerHooks;
     private final DeviceAdapter mDeviceAdapter;
@@ -88,11 +89,11 @@
     @GuardedBy("mLock")
     private boolean mEndedByVendor;
     @GuardedBy("mLock")
-    private long mStartTime; // for debugging
+    private long mStartTime;
     @GuardedBy("mLock")
     private long mEndUptime;
     @GuardedBy("mLock")
-    private long mEndTime; // for debugging
+    private long mEndTime;
     @GuardedBy("mLock")
     private VibrationStepConductor mConductor;
 
@@ -103,7 +104,7 @@
         mCreateTime = System.currentTimeMillis();
         mVibratorIds = deviceAdapter.getAvailableVibratorIds();
         mHandler = handler;
-        mCallback = callback;
+        mCallback = new VendorCallbackWrapper(callback, handler);
         mCallerInfo = callerInfo;
         mManagerHooks = managerHooks;
         mDeviceAdapter = deviceAdapter;
@@ -119,7 +120,9 @@
 
     @Override
     public void finishSession() {
-        Slog.d(TAG, "Session finish requested, ending vibration session...");
+        if (DEBUG) {
+            Slog.d(TAG, "Session finish requested, ending vibration session...");
+        }
         // Do not abort session in HAL, wait for ongoing vibration requests to complete.
         // This might take a while to end the session, but it can be aborted by cancelSession.
         requestEndSession(Status.FINISHED, /* shouldAbort= */ false, /* isVendorRequest= */ true);
@@ -127,7 +130,9 @@
 
     @Override
     public void cancelSession() {
-        Slog.d(TAG, "Session cancel requested, aborting vibration session...");
+        if (DEBUG) {
+            Slog.d(TAG, "Session cancel requested, aborting vibration session...");
+        }
         // Always abort session in HAL while cancelling it.
         // This might be triggered after finishSession was already called.
         requestEndSession(Status.CANCELLED_BY_USER, /* shouldAbort= */ true,
@@ -156,7 +161,7 @@
 
     @Override
     public IBinder getCallerToken() {
-        return mCallback.asBinder();
+        return mCallback.getBinderToken();
     }
 
     @Override
@@ -176,36 +181,30 @@
 
     @Override
     public void onCancel() {
-        Slog.d(TAG, "Session cancellation signal received, aborting vibration session...");
+        if (DEBUG) {
+            Slog.d(TAG, "Session cancellation signal received, aborting vibration session...");
+        }
         requestEndSession(Status.CANCELLED_BY_USER, /* shouldAbort= */ true,
                 /* isVendorRequest= */ true);
     }
 
     @Override
     public void binderDied() {
-        Slog.d(TAG, "Session binder died, aborting vibration session...");
+        if (DEBUG) {
+            Slog.d(TAG, "Session binder died, aborting vibration session...");
+        }
         requestEndSession(Status.CANCELLED_BINDER_DIED, /* shouldAbort= */ true,
                 /* isVendorRequest= */ false);
     }
 
     @Override
     public boolean linkToDeath() {
-        try {
-            mCallback.asBinder().linkToDeath(this, 0);
-        } catch (RemoteException e) {
-            Slog.e(TAG, "Error linking session to token death", e);
-            return false;
-        }
-        return true;
+        return mCallback.linkToDeath(this);
     }
 
     @Override
     public void unlinkToDeath() {
-        try {
-            mCallback.asBinder().unlinkToDeath(this, 0);
-        } catch (NoSuchElementException e) {
-            Slog.wtf(TAG, "Failed to unlink session to token death", e);
-        }
+        mCallback.unlinkToDeath(this);
     }
 
     @Override
@@ -219,26 +218,37 @@
 
     @Override
     public void notifyVibratorCallback(int vibratorId, long vibrationId, long stepId) {
-        Slog.d(TAG, "Vibration callback received for vibration " + vibrationId + " step " + stepId
-                + " on vibrator " + vibratorId + ", ignoring...");
+        if (DEBUG) {
+            Slog.d(TAG, "Vibration callback received for vibration " + vibrationId
+                    + " step " + stepId + " on vibrator " + vibratorId + ", ignoring...");
+        }
     }
 
     @Override
     public void notifySyncedVibratorsCallback(long vibrationId) {
-        Slog.d(TAG, "Synced vibration callback received for vibration " + vibrationId
-                + ", ignoring...");
+        if (DEBUG) {
+            Slog.d(TAG, "Synced vibration callback received for vibration " + vibrationId
+                    + ", ignoring...");
+        }
     }
 
     @Override
     public void notifySessionCallback() {
-        Slog.d(TAG, "Session callback received, ending vibration session...");
+        if (DEBUG) {
+            Slog.d(TAG, "Session callback received, ending vibration session...");
+        }
         synchronized (mLock) {
             // If end was not requested then the HAL has cancelled the session.
-            maybeSetEndRequestLocked(Status.CANCELLED_BY_UNKNOWN_REASON,
+            notifyEndRequestLocked(Status.CANCELLED_BY_UNKNOWN_REASON,
                     /* isVendorRequest= */ false);
             maybeSetStatusToRequestedLocked();
             clearVibrationConductor();
-            mHandler.post(() -> mManagerHooks.onSessionReleased(mSessionId));
+            final Status endStatus = mStatus;
+            mHandler.post(() -> {
+                mManagerHooks.onSessionReleased(mSessionId);
+                // Only trigger client callback after session is released in the manager.
+                mCallback.notifyFinished(endStatus);
+            });
         }
     }
 
@@ -271,7 +281,7 @@
 
     public boolean isEnded() {
         synchronized (mLock) {
-            return mStatus != Status.RUNNING;
+            return mEndTime > 0;
         }
     }
 
@@ -297,19 +307,17 @@
                 // Session already ended, skip start callbacks.
                 isAlreadyEnded = true;
             } else {
+                if (DEBUG) {
+                    Slog.d(TAG, "Session started at the HAL");
+                }
                 mStartTime = System.currentTimeMillis();
-                // Run client callback in separate thread.
-                mHandler.post(() -> {
-                    try {
-                        mCallback.onStarted(this);
-                    } catch (RemoteException e) {
-                        Slog.e(TAG, "Error notifying vendor session started", e);
-                    }
-                });
+                mCallback.notifyStarted(this);
             }
         }
         if (isAlreadyEnded) {
-            Slog.d(TAG, "Session already ended after starting the HAL, aborting...");
+            if (DEBUG) {
+                Slog.d(TAG, "Session already ended after starting the HAL, aborting...");
+            }
             mHandler.post(() -> mManagerHooks.endSession(mSessionId, /* shouldAbort= */ true));
         }
     }
@@ -337,8 +345,10 @@
     public boolean maybeSetVibrationConductor(VibrationStepConductor conductor) {
         synchronized (mLock) {
             if (mConductor != null) {
-                Slog.d(TAG, "Session still dispatching previous vibration, new vibration "
-                        + conductor.getVibration().id + " ignored");
+                if (DEBUG) {
+                    Slog.d(TAG, "Session still dispatching previous vibration, new vibration "
+                            + conductor.getVibration().id + " ignored");
+                }
                 return false;
             }
             mConductor = conductor;
@@ -347,53 +357,45 @@
     }
 
     private void requestEndSession(Status status, boolean shouldAbort, boolean isVendorRequest) {
-        Slog.d(TAG, "Session end request received with status " + status);
-        boolean shouldTriggerSessionHook = false;
+        if (DEBUG) {
+            Slog.d(TAG, "Session end request received with status " + status);
+        }
         synchronized (mLock) {
-            maybeSetEndRequestLocked(status, isVendorRequest);
+            notifyEndRequestLocked(status, isVendorRequest);
             if (!isEnded() && isStarted()) {
                 // Trigger session hook even if it was already triggered, in case a second request
                 // is aborting the ongoing/ending session. This might cause it to end right away.
                 // Wait for HAL callback before setting the end status.
-                shouldTriggerSessionHook = true;
+                if (DEBUG) {
+                    Slog.d(TAG, "Requesting HAL session end with abort=" + shouldAbort);
+                }
+                mHandler.post(() ->  mManagerHooks.endSession(mSessionId, shouldAbort));
             } else {
-                // Session not active in the HAL, set end status right away.
+                // Session not active in the HAL, try to set end status right away.
                 maybeSetStatusToRequestedLocked();
+                // Use status used to end this session, which might be different from requested.
+                mCallback.notifyFinished(mStatus);
             }
         }
-        if (shouldTriggerSessionHook) {
-            Slog.d(TAG, "Requesting HAL session end with abort=" + shouldAbort);
-            mHandler.post(() ->  mManagerHooks.endSession(mSessionId, shouldAbort));
-        }
     }
 
     @GuardedBy("mLock")
-    private void maybeSetEndRequestLocked(Status status, boolean isVendorRequest) {
+    private void notifyEndRequestLocked(Status status, boolean isVendorRequest) {
         if (mEndStatusRequest != null) {
-            // End already requested, keep first requested status and time.
+            // End already requested, keep first requested status.
             return;
         }
-        Slog.d(TAG, "Session end request accepted for status " + status);
+        if (DEBUG) {
+            Slog.d(TAG, "Session end request accepted for status " + status);
+        }
         mEndStatusRequest = status;
         mEndedByVendor = isVendorRequest;
-        mEndTime = System.currentTimeMillis();
-        mEndUptime = SystemClock.uptimeMillis();
+        mCallback.notifyFinishing();
         if (mConductor != null) {
             // Vibration is being dispatched when session end was requested, cancel it.
             mConductor.notifyCancelled(new Vibration.EndInfo(status),
                     /* immediate= */ status != Status.FINISHED);
         }
-        if (isStarted()) {
-            // Only trigger "finishing" callback if session started.
-            // Run client callback in separate thread.
-            mHandler.post(() -> {
-                try {
-                    mCallback.onFinishing();
-                } catch (RemoteException e) {
-                    Slog.e(TAG, "Error notifying vendor session is finishing", e);
-                }
-            });
-        }
     }
 
     @GuardedBy("mLock")
@@ -406,40 +408,123 @@
             // No end status was requested, nothing to set.
             return;
         }
-        Slog.d(TAG, "Session end request applied for status " + mEndStatusRequest);
+        if (DEBUG) {
+            Slog.d(TAG, "Session end request applied for status " + mEndStatusRequest);
+        }
         mStatus = mEndStatusRequest;
-        // Run client callback in separate thread.
-        final Status endStatus = mStatus;
-        mHandler.post(() -> {
-            try {
-                mCallback.onFinished(toSessionStatus(endStatus));
-            } catch (RemoteException e) {
-                Slog.e(TAG, "Error notifying vendor session finished", e);
-            }
-        });
+        mEndTime = System.currentTimeMillis();
+        mEndUptime = SystemClock.uptimeMillis();
     }
 
-    @android.os.vibrator.VendorVibrationSession.Status
-    private static int toSessionStatus(Status status) {
-        // Exhaustive switch to cover all possible internal status.
-        return switch (status) {
-            case FINISHED
-                    -> android.os.vibrator.VendorVibrationSession.STATUS_SUCCESS;
-            case IGNORED_UNSUPPORTED
-                    -> STATUS_UNSUPPORTED;
-            case CANCELLED_BINDER_DIED, CANCELLED_BY_APP_OPS, CANCELLED_BY_USER,
-                 CANCELLED_SUPERSEDED, CANCELLED_BY_FOREGROUND_USER, CANCELLED_BY_SCREEN_OFF,
-                 CANCELLED_BY_SETTINGS_UPDATE, CANCELLED_BY_UNKNOWN_REASON
-                    -> android.os.vibrator.VendorVibrationSession.STATUS_CANCELED;
-            case IGNORED_APP_OPS, IGNORED_BACKGROUND, IGNORED_FOR_EXTERNAL, IGNORED_FOR_ONGOING,
-                 IGNORED_FOR_POWER, IGNORED_FOR_SETTINGS, IGNORED_FOR_HIGHER_IMPORTANCE,
-                 IGNORED_FOR_RINGER_MODE, IGNORED_FROM_VIRTUAL_DEVICE, IGNORED_SUPERSEDED,
-                 IGNORED_MISSING_PERMISSION, IGNORED_ON_WIRELESS_CHARGER
-                    -> android.os.vibrator.VendorVibrationSession.STATUS_IGNORED;
-            case UNKNOWN, IGNORED_ERROR_APP_OPS, IGNORED_ERROR_CANCELLING, IGNORED_ERROR_SCHEDULING,
-                 IGNORED_ERROR_TOKEN, FORWARDED_TO_INPUT_DEVICES, FINISHED_UNEXPECTED, RUNNING
-                    -> android.os.vibrator.VendorVibrationSession.STATUS_UNKNOWN_ERROR;
-        };
+    /**
+     * Wrapper class to handle client callbacks asynchronously.
+     *
+     * <p>This class is also responsible for link/unlink to the client process binder death, and for
+     * making sure the callbacks are only triggered once. The conversion between session status and
+     * the API status code is also defined here.
+     */
+    private static final class VendorCallbackWrapper {
+        private final IVibrationSessionCallback mCallback;
+        private final Handler mHandler;
+
+        private boolean mIsStarted;
+        private boolean mIsFinishing;
+        private boolean mIsFinished;
+
+        VendorCallbackWrapper(@NonNull IVibrationSessionCallback callback,
+                @NonNull Handler handler) {
+            mCallback = callback;
+            mHandler = handler;
+        }
+
+        synchronized IBinder getBinderToken() {
+            return mCallback.asBinder();
+        }
+
+        synchronized boolean linkToDeath(DeathRecipient recipient) {
+            try {
+                mCallback.asBinder().linkToDeath(recipient, 0);
+            } catch (RemoteException e) {
+                Slog.e(TAG, "Error linking session to token death", e);
+                return false;
+            }
+            return true;
+        }
+
+        synchronized void unlinkToDeath(DeathRecipient recipient) {
+            try {
+                mCallback.asBinder().unlinkToDeath(recipient, 0);
+            } catch (NoSuchElementException e) {
+                Slog.wtf(TAG, "Failed to unlink session to token death", e);
+            }
+        }
+
+        synchronized void notifyStarted(IVibrationSession session) {
+            if (mIsStarted) {
+                return;
+            }
+            mIsStarted = true;
+            mHandler.post(() -> {
+                try {
+                    mCallback.onStarted(session);
+                } catch (RemoteException e) {
+                    Slog.e(TAG, "Error notifying vendor session started", e);
+                }
+            });
+        }
+
+        synchronized void notifyFinishing() {
+            if (!mIsStarted || mIsFinishing || mIsFinished) {
+                // Ignore if never started or if already finishing or finished.
+                return;
+            }
+            mIsFinishing = true;
+            mHandler.post(() -> {
+                try {
+                    mCallback.onFinishing();
+                } catch (RemoteException e) {
+                    Slog.e(TAG, "Error notifying vendor session is finishing", e);
+                }
+            });
+        }
+
+        synchronized void notifyFinished(Status status) {
+            if (mIsFinished) {
+                return;
+            }
+            mIsFinished = true;
+            mHandler.post(() -> {
+                try {
+                    mCallback.onFinished(toSessionStatus(status));
+                } catch (RemoteException e) {
+                    Slog.e(TAG, "Error notifying vendor session finished", e);
+                }
+            });
+        }
+
+        @android.os.vibrator.VendorVibrationSession.Status
+        private static int toSessionStatus(Status status) {
+            // Exhaustive switch to cover all possible internal status.
+            return switch (status) {
+                case FINISHED
+                        -> android.os.vibrator.VendorVibrationSession.STATUS_SUCCESS;
+                case IGNORED_UNSUPPORTED
+                        -> STATUS_UNSUPPORTED;
+                case CANCELLED_BINDER_DIED, CANCELLED_BY_APP_OPS, CANCELLED_BY_USER,
+                     CANCELLED_SUPERSEDED, CANCELLED_BY_FOREGROUND_USER, CANCELLED_BY_SCREEN_OFF,
+                     CANCELLED_BY_SETTINGS_UPDATE, CANCELLED_BY_UNKNOWN_REASON
+                        -> android.os.vibrator.VendorVibrationSession.STATUS_CANCELED;
+                case IGNORED_APP_OPS, IGNORED_BACKGROUND, IGNORED_FOR_EXTERNAL, IGNORED_FOR_ONGOING,
+                     IGNORED_FOR_POWER, IGNORED_FOR_SETTINGS, IGNORED_FOR_HIGHER_IMPORTANCE,
+                     IGNORED_FOR_RINGER_MODE, IGNORED_FROM_VIRTUAL_DEVICE, IGNORED_SUPERSEDED,
+                     IGNORED_MISSING_PERMISSION, IGNORED_ON_WIRELESS_CHARGER
+                        -> android.os.vibrator.VendorVibrationSession.STATUS_IGNORED;
+                case UNKNOWN, IGNORED_ERROR_APP_OPS, IGNORED_ERROR_CANCELLING,
+                     IGNORED_ERROR_SCHEDULING, IGNORED_ERROR_TOKEN, FORWARDED_TO_INPUT_DEVICES,
+                     FINISHED_UNEXPECTED, RUNNING
+                        -> android.os.vibrator.VendorVibrationSession.STATUS_UNKNOWN_ERROR;
+            };
+        }
     }
 
     /**
@@ -499,7 +584,7 @@
         @Override
         public void logMetrics(VibratorFrameworkStatsLogger statsLogger) {
             if (mStartTime > 0) {
-                // Only log sessions that have started.
+                // Only log sessions that have started in the HAL.
                 statsLogger.logVibrationVendorSessionStarted(mCallerInfo.uid);
                 statsLogger.logVibrationVendorSessionVibrations(mCallerInfo.uid,
                         mVibrations.size());
diff --git a/services/core/java/com/android/server/vibrator/VibratorManagerService.java b/services/core/java/com/android/server/vibrator/VibratorManagerService.java
index 3f5fc33..ce91e63 100644
--- a/services/core/java/com/android/server/vibrator/VibratorManagerService.java
+++ b/services/core/java/com/android/server/vibrator/VibratorManagerService.java
@@ -1015,9 +1015,12 @@
                 updateAlwaysOnLocked(mAlwaysOnEffects.valueAt(i));
             }
 
-            // TODO(b/372241975): investigate why external vibrations were not handled here before
-            if (mCurrentSession == null
-                    || (mCurrentSession instanceof ExternalVibrationSession)) {
+            if (mCurrentSession == null) {
+                return;
+            }
+
+            if (!Flags.fixExternalVibrationSystemUpdateAware()
+                    && (mCurrentSession instanceof ExternalVibrationSession)) {
                 return;
             }
 
@@ -1025,7 +1028,7 @@
             if (inputDevicesChanged || (ignoreStatus != null)) {
                 if (DEBUG) {
                     Slog.d(TAG, "Canceling vibration because settings changed: "
-                            + (inputDevicesChanged ? "input devices changed" : ignoreStatus));
+                            + (ignoreStatus == null ? "input devices changed" : ignoreStatus));
                 }
                 mCurrentSession.requestEnd(Status.CANCELLED_BY_SETTINGS_UPDATE);
             }
@@ -2334,14 +2337,22 @@
     @GuardedBy("mLock")
     private void maybeClearCurrentAndNextSessionsLocked(
             Predicate<VibrationSession> shouldEndSessionPredicate, Status endStatus) {
-        // TODO(b/372241975): investigate why external vibrations were not handled here before
-        if (!(mNextSession instanceof ExternalVibrationSession)
-                && shouldEndSessionPredicate.test(mNextSession)) {
-            clearNextSessionLocked(endStatus);
-        }
-        if (!(mCurrentSession instanceof ExternalVibrationSession)
-                && shouldEndSessionPredicate.test(mCurrentSession)) {
-            mCurrentSession.requestEnd(endStatus);
+        if (Flags.fixExternalVibrationSystemUpdateAware()) {
+            if (shouldEndSessionPredicate.test(mNextSession)) {
+                clearNextSessionLocked(endStatus);
+            }
+            if (shouldEndSessionPredicate.test(mCurrentSession)) {
+                mCurrentSession.requestEnd(endStatus);
+            }
+        } else {
+            if (!(mNextSession instanceof ExternalVibrationSession)
+                    && shouldEndSessionPredicate.test(mNextSession)) {
+                clearNextSessionLocked(endStatus);
+            }
+            if (!(mCurrentSession instanceof ExternalVibrationSession)
+                    && shouldEndSessionPredicate.test(mCurrentSession)) {
+                mCurrentSession.requestEnd(endStatus);
+            }
         }
     }
 
@@ -2535,6 +2546,9 @@
                             Slog.d(TAG, "Stopping external vibration: " + vib);
                         }
                         mCurrentSession.requestEnd(Status.FINISHED);
+                    } else if (Build.IS_DEBUGGABLE) {
+                        Slog.wtf(TAG, "VibrationSession invalid on external vibration stop."
+                                + " currentSession=" + mCurrentSession + ", received=" + vib);
                     }
                 }
             } finally {
diff --git a/services/core/java/com/android/server/wm/AbsAppSnapshotController.java b/services/core/java/com/android/server/wm/AbsAppSnapshotController.java
index 90c2216..a731bf7 100644
--- a/services/core/java/com/android/server/wm/AbsAppSnapshotController.java
+++ b/services/core/java/com/android/server/wm/AbsAppSnapshotController.java
@@ -334,7 +334,7 @@
         builder.setId(System.currentTimeMillis());
         builder.setContentInsets(contentInsets);
         builder.setLetterboxInsets(letterboxInsets);
-        final boolean isWindowTranslucent = mainWindow.getAttrs().format != PixelFormat.OPAQUE;
+        final boolean isWindowTranslucent = mainWindow.mAttrs.format != PixelFormat.OPAQUE;
         final boolean isShowWallpaper = mainWindow.hasWallpaper();
         int pixelFormat = builder.getPixelFormat();
         if (pixelFormat == PixelFormat.UNKNOWN) {
@@ -432,7 +432,7 @@
         final ActivityManager.TaskDescription taskDescription = getTaskDescription(source);
         final int color = ColorUtils.setAlphaComponent(
                 taskDescription.getBackgroundColor(), 255);
-        final WindowManager.LayoutParams attrs = mainWindow.getAttrs();
+        final WindowManager.LayoutParams attrs = mainWindow.mAttrs;
         final Rect taskBounds = source.getBounds();
         final InsetsState insetsState = mainWindow.getInsetsStateWithVisibilityOverride();
         final Rect systemBarInsets = getSystemBarInsets(mainWindow.getFrame(), insetsState);
diff --git a/services/core/java/com/android/server/wm/AccessibilityController.java b/services/core/java/com/android/server/wm/AccessibilityController.java
index 12f5534..58534b9 100644
--- a/services/core/java/com/android/server/wm/AccessibilityController.java
+++ b/services/core/java/com/android/server/wm/AccessibilityController.java
@@ -712,13 +712,17 @@
             if (!isMagnifierActivated) {
                 return;
             }
-            // All opening/closing situations.
+            // All opening/closing/recents transitions
+            boolean notify = (flags & TRANSIT_FLAG_IS_RECENTS) != 0;
             switch (type) {
                 case WindowManager.TRANSIT_OPEN:
                 case WindowManager.TRANSIT_TO_FRONT:
                 case WindowManager.TRANSIT_CLOSE:
                 case WindowManager.TRANSIT_TO_BACK:
-                    mUserContextChangedNotifier.onWMTransition(type, flags);
+                    notify = true;
+            }
+            if (notify) {
+                mUserContextChangedNotifier.onWMTransition(type, flags);
             }
         }
 
@@ -1088,8 +1092,7 @@
             // causing the notifying, or the recents/home window is removed, then we won't need the
             // delayed notification anymore.
             void onWMTransition(@TransitionType int type, @TransitionFlags int flags) {
-                if (type == WindowManager.TRANSIT_TO_FRONT
-                        && (flags & TRANSIT_FLAG_IS_RECENTS) != 0) {
+                if ((flags & TRANSIT_FLAG_IS_RECENTS) != 0) {
                     // Delay the recents to front transition notification then send after if needed.
                     mHasDelayedNotificationForRecentsToFrontTransition = true;
                 } else {
diff --git a/services/core/java/com/android/server/wm/ActivityClientController.java b/services/core/java/com/android/server/wm/ActivityClientController.java
index 05794cd..7ce52b1 100644
--- a/services/core/java/com/android/server/wm/ActivityClientController.java
+++ b/services/core/java/com/android/server/wm/ActivityClientController.java
@@ -1515,8 +1515,10 @@
                         r.mOverrideTaskTransition);
                 r.mTransitionController.setOverrideAnimation(
                         TransitionInfo.AnimationOptions.makeCustomAnimOptions(packageName,
-                                enterAnim, exitAnim, backgroundColor, r.mOverrideTaskTransition), r,
-                        null /* startCallback */, null /* finishCallback */);
+                                enterAnim, 0 /* changeResId */, exitAnim,
+                                r.mOverrideTaskTransition),
+                        r, null /* startCallback */, null /* finishCallback */);
+                r.mTransitionController.setOverrideBackgroundColor(backgroundColor);
             }
         }
         Binder.restoreCallingIdentity(origId);
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java
index 7b6d408f..d452d76 100644
--- a/services/core/java/com/android/server/wm/ActivityRecord.java
+++ b/services/core/java/com/android/server/wm/ActivityRecord.java
@@ -344,7 +344,6 @@
 
 import com.android.internal.R;
 import com.android.internal.annotations.GuardedBy;
-import com.android.internal.annotations.KeepForWeakReference;
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.app.ResolverActivity;
 import com.android.internal.content.ReferrerIntent;
@@ -433,9 +432,6 @@
     // next activity.
     private static final int PAUSE_TIMEOUT = 500;
 
-    // Ticks during which we check progress while waiting for an app to launch.
-    private static final int LAUNCH_TICK = 500;
-
     // How long we wait for the activity to tell us it has stopped before
     // giving up.  This is a good amount of time because we really need this
     // from the application in order to get its saved state. Once the stop
@@ -491,7 +487,6 @@
     long lastVisibleTime;         // last time this activity became visible
     long pauseTime;               // last time we started pausing the activity
     long mStoppedTime;            // last time we completely stopped the activity
-    long launchTickTime;          // base time for launch tick messages
     long topResumedStateLossTime; // last time we reported top resumed state loss to an activity
     // Last configuration reported to the activity in the client process.
     private final MergedConfiguration mLastReportedConfiguration;
@@ -858,8 +853,6 @@
 
     private RemoteCallbackList<IScreenCaptureObserver> mCaptureCallbacks;
 
-    // Ensure the field is kept during optimization to preserve downstream weak refs.
-    @KeepForWeakReference
     private final ColorDisplayService.ColorTransformController mColorTransformController =
             (matrix, translation) -> mWmService.mH.post(() -> {
                 synchronized (mWmService.mGlobalLock) {
@@ -940,24 +933,11 @@
                 if (!hasProcess()) {
                     return;
                 }
-                mAtmService.logAppTooSlow(app, pauseTime, "pausing " + ActivityRecord.this);
                 activityPaused(true);
             }
         }
     };
 
-    private final Runnable mLaunchTickRunnable = new Runnable() {
-        @Override
-        public void run() {
-            synchronized (mAtmService.mGlobalLock) {
-                if (continueLaunchTicking()) {
-                    mAtmService.logAppTooSlow(
-                            app, launchTickTime, "launching " + ActivityRecord.this);
-                }
-            }
-        }
-    };
-
     private final Runnable mDestroyTimeoutRunnable = new Runnable() {
         @Override
         public void run() {
@@ -2109,7 +2089,8 @@
         }
         try {
             return mAtmService.mContext.getPackageManager()
-                    .getProperty(PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED, packageName)
+                    .getPropertyAsUser(PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED, packageName,
+                            null /* className */, mUserId)
                     .getBoolean();
         } catch (PackageManager.NameNotFoundException e) {
             // No such property name.
@@ -2345,13 +2326,16 @@
             if (isActivityTypeHome()) {
                 // The snapshot of home is only used once because it won't be updated while screen
                 // is on (see {@link TaskSnapshotController#screenTurningOff}).
-                mWmService.mTaskSnapshotController.removeSnapshotCache(task.mTaskId);
                 final Transition transition = mTransitionController.getCollectingTransition();
                 if (transition != null && (transition.getFlags()
                         & WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_NO_ANIMATION) == 0) {
+                    mWmService.mTaskSnapshotController.removeSnapshotCache(task.mTaskId);
                     // Only use snapshot of home as starting window when unlocking directly.
                     return false;
                 }
+                // Add a reference before removing snapshot from cache.
+                snapshot.addReference(TaskSnapshot.REFERENCE_WRITE_TO_PARCEL);
+                mWmService.mTaskSnapshotController.removeSnapshotCache(task.mTaskId);
             }
             return createSnapshot(snapshot, typeParameter);
         }
@@ -2967,8 +2951,9 @@
         }
         try {
             return mAtmService.mContext.getPackageManager()
-                    .getProperty(PROPERTY_ALLOW_UNTRUSTED_ACTIVITY_EMBEDDING_STATE_SHARING,
-                            mActivityComponent)
+                    .getPropertyAsUser(PROPERTY_ALLOW_UNTRUSTED_ACTIVITY_EMBEDDING_STATE_SHARING,
+                            mActivityComponent.getPackageName(),
+                            mActivityComponent.getClassName(), mUserId)
                     .getBoolean();
         } catch (PackageManager.NameNotFoundException e) {
             // No such property name.
@@ -3076,7 +3061,7 @@
         if (win == null) {
             return;
         }
-        isOpaque = isOpaque & !PixelFormat.formatHasAlpha(win.getAttrs().format);
+        isOpaque = isOpaque & !PixelFormat.formatHasAlpha(win.mAttrs.format);
         win.mWinAnimator.setOpaqueLocked(isOpaque);
     }
 
@@ -3168,7 +3153,8 @@
             return true;
         }
         return !AppCompatResizeOverrides.allowRestrictedResizability(
-                wms.mContext.getPackageManager(), appInfo.packageName);
+                wms.mContext.getPackageManager(), appInfo.packageName,
+                UserHandle.getUserId(appInfo.uid));
     }
 
     boolean isResizeable() {
@@ -5089,8 +5075,8 @@
         switch (animationType) {
             case ANIM_CUSTOM:
                 options = AnimationOptions.makeCustomAnimOptions(pendingOptions.getPackageName(),
-                        pendingOptions.getCustomEnterResId(), pendingOptions.getCustomExitResId(),
-                        pendingOptions.getCustomBackgroundColor(),
+                        pendingOptions.getCustomEnterResId(), 0 /* changeResId */,
+                        pendingOptions.getCustomExitResId(),
                         pendingOptions.getOverrideTaskTransition());
                 startCallback = pendingOptions.getAnimationStartedListener();
                 finishCallback = pendingOptions.getAnimationFinishedListener();
@@ -5151,6 +5137,10 @@
             mTransitionController.setOverrideAnimation(options, this, startCallback,
                     finishCallback);
         }
+        final int backgroundColor = pendingOptions.getCustomBackgroundColor();
+        if (backgroundColor != 0) {
+            mTransitionController.setOverrideBackgroundColor(backgroundColor);
+        }
     }
 
     void clearAllDrawn() {
@@ -6015,12 +6005,6 @@
             setVisibility(false);
 
             switch (mState) {
-                case STOPPING:
-                case STOPPED:
-                    // Reset the flag indicating that an app can enter picture-in-picture once the
-                    // activity is hidden
-                    supportsEnterPipOnTaskSwitch = false;
-                    break;
                 case RESUMED:
                 case INITIALIZING:
                 case PAUSING:
@@ -6334,7 +6318,6 @@
         removePauseTimeout();
         removeStopTimeout();
         removeDestroyTimeout();
-        finishLaunchTickingLocked();
     }
 
     void stopIfPossible() {
@@ -6475,44 +6458,6 @@
         }
     }
 
-    void startLaunchTickingLocked() {
-        if (Build.IS_USER) {
-            return;
-        }
-        if (launchTickTime == 0) {
-            launchTickTime = SystemClock.uptimeMillis();
-            continueLaunchTicking();
-        }
-    }
-
-    private boolean continueLaunchTicking() {
-        if (launchTickTime == 0) {
-            return false;
-        }
-
-        final Task rootTask = getRootTask();
-        if (rootTask == null) {
-            return false;
-        }
-
-        rootTask.removeLaunchTickMessages();
-        mAtmService.mH.postDelayed(mLaunchTickRunnable, LAUNCH_TICK);
-        return true;
-    }
-
-    void removeLaunchTickRunnable() {
-        mAtmService.mH.removeCallbacks(mLaunchTickRunnable);
-    }
-
-    void finishLaunchTickingLocked() {
-        launchTickTime = 0;
-        final Task rootTask = getRootTask();
-        if (rootTask == null) {
-            return;
-        }
-        rootTask.removeLaunchTickMessages();
-    }
-
     void onFirstWindowDrawn(WindowState win) {
         firstWindowDrawn = true;
         // stop tracking
@@ -6600,7 +6545,6 @@
             mTaskSupervisor.reportActivityLaunched(false /* timeout */, this,
                     windowsDrawnDelayMs, launchState);
         }
-        finishLaunchTickingLocked();
         if (task != null) {
             setTaskHasBeenVisible();
         }
diff --git a/services/core/java/com/android/server/wm/ActivityStartInterceptor.java b/services/core/java/com/android/server/wm/ActivityStartInterceptor.java
index a318c4b..5cc186c 100644
--- a/services/core/java/com/android/server/wm/ActivityStartInterceptor.java
+++ b/services/core/java/com/android/server/wm/ActivityStartInterceptor.java
@@ -73,7 +73,6 @@
 import com.android.server.LocalServices;
 import com.android.server.am.ActivityManagerService;
 import com.android.server.wm.ActivityInterceptorCallback.ActivityInterceptResult;
-import com.android.window.flags.Flags;
 
 /**
  * A class that contains activity intercepting logic for {@link ActivityStarter#execute()}
@@ -504,43 +503,37 @@
         }
 
         boolean intercepted = false;
-        if (Flags.normalizeHomeIntent()) {
-            if (!ACTION_MAIN.equals(mIntent.getAction()) || (!mIntent.hasCategory(CATEGORY_HOME)
-                    && !mIntent.hasCategory(CATEGORY_SECONDARY_HOME))) {
-                // not a home intent
+        if (!ACTION_MAIN.equals(mIntent.getAction()) || (!mIntent.hasCategory(CATEGORY_HOME)
+                && !mIntent.hasCategory(CATEGORY_SECONDARY_HOME))) {
+            // not a home intent
+            return false;
+        }
+
+        if (mComponentSpecified) {
+            Slog.w(TAG, "Starting home with component specified, uid=" + mCallingUid);
+            if (mService.isCallerRecents(mCallingUid)
+                    || ActivityTaskManagerService.checkPermission(MANAGE_ACTIVITY_TASKS,
+                    mCallingPid, mCallingUid) == PERMISSION_GRANTED) {
+                // Allow home component specified from trusted callers.
                 return false;
             }
 
-            if (mComponentSpecified) {
-                Slog.w(TAG, "Starting home with component specified, uid=" + mCallingUid);
-                if (mService.isCallerRecents(mCallingUid)
-                        || ActivityTaskManagerService.checkPermission(MANAGE_ACTIVITY_TASKS,
-                                mCallingPid, mCallingUid) == PERMISSION_GRANTED) {
-                    // Allow home component specified from trusted callers.
-                    return false;
-                }
-
-                final ComponentName homeComponent = mIntent.getComponent();
-                final Intent homeIntent = mService.getHomeIntent();
-                final ActivityInfo aInfo = mService.mRootWindowContainer.resolveHomeActivity(
-                        mUserId, homeIntent);
-                if (!aInfo.getComponentName().equals(homeComponent)) {
-                    // Do nothing if the intent is not for the default home component.
-                    return false;
-                }
-            }
-
-            if (!ActivityRecord.isHomeIntent(mIntent) || mComponentSpecified) {
-                // This is not a standard home intent, make it so if possible.
-                normalizeHomeIntent();
-                intercepted = true;
-            }
-        } else {
-            if (!ActivityRecord.isHomeIntent(mIntent)) {
+            final ComponentName homeComponent = mIntent.getComponent();
+            final Intent homeIntent = mService.getHomeIntent();
+            final ActivityInfo aInfo = mService.mRootWindowContainer.resolveHomeActivity(
+                    mUserId, homeIntent);
+            if (!aInfo.getComponentName().equals(homeComponent)) {
+                // Do nothing if the intent is not for the default home component.
                 return false;
             }
         }
 
+        if (!ActivityRecord.isHomeIntent(mIntent) || mComponentSpecified) {
+            // This is not a standard home intent, make it so if possible.
+            normalizeHomeIntent();
+            intercepted = true;
+        }
+
         intercepted |= replaceToSecondaryHomeIntentIfNeeded();
         if (intercepted) {
             mCallingPid = mRealCallingPid;
diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java
index 247264f..bdde5fe 100644
--- a/services/core/java/com/android/server/wm/ActivityStarter.java
+++ b/services/core/java/com/android/server/wm/ActivityStarter.java
@@ -58,6 +58,7 @@
 import static android.security.Flags.preventIntentRedirectAbortOrThrowException;
 import static android.security.Flags.preventIntentRedirectShowToast;
 import static android.view.Display.DEFAULT_DISPLAY;
+import static android.view.WindowManager.TRANSIT_FLAG_AVOID_MOVE_TO_FRONT;
 import static android.view.WindowManager.TRANSIT_NONE;
 import static android.view.WindowManager.TRANSIT_OPEN;
 import static android.view.WindowManager.TRANSIT_TO_FRONT;
@@ -1841,6 +1842,9 @@
             // no-user-leaving implies not entering PiP.
             transition.setCanPipOnFinish(false /* canPipOnFinish */);
         }
+        if (avoidMoveToFront() && transition != null) {
+            transition.addFlag(TRANSIT_FLAG_AVOID_MOVE_TO_FRONT);
+        }
         if (isIndependentLaunch && transition != null) {
             transitionController.requestStartTransition(transition,
                     mTargetTask == null ? started.getTask() : mTargetTask,
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index 6f83822..9c96566 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -96,7 +96,6 @@
 import static com.android.server.am.EventLogTags.writeBootProgressEnableScreen;
 import static com.android.server.am.EventLogTags.writeConfigurationChanged;
 import static com.android.server.am.StackTracesDumpHelper.ANR_TRACE_DIR;
-import static com.android.server.am.StackTracesDumpHelper.dumpStackTraces;
 import static com.android.server.wm.ActivityInterceptorCallback.MAINLINE_FIRST_ORDERED_ID;
 import static com.android.server.wm.ActivityInterceptorCallback.MAINLINE_LAST_ORDERED_ID;
 import static com.android.server.wm.ActivityInterceptorCallback.SYSTEM_FIRST_ORDERED_ID;
@@ -199,7 +198,6 @@
 import android.os.Build;
 import android.os.Bundle;
 import android.os.FactoryTest;
-import android.os.FileUtils;
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.IUserManager;
@@ -213,7 +211,6 @@
 import android.os.RemoteCallback;
 import android.os.RemoteException;
 import android.os.ServiceManager;
-import android.os.StrictMode;
 import android.os.SystemClock;
 import android.os.SystemProperties;
 import android.os.Trace;
@@ -227,7 +224,6 @@
 import android.service.voice.VoiceInteractionManagerInternal;
 import android.sysprop.DisplayProperties;
 import android.telecom.TelecomManager;
-import android.text.format.TimeMigrationUtils;
 import android.util.ArrayMap;
 import android.util.ArraySet;
 import android.util.IntArray;
@@ -292,7 +288,6 @@
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileDescriptor;
-import java.io.FileOutputStream;
 import java.io.FileReader;
 import java.io.IOException;
 import java.io.PrintWriter;
@@ -310,7 +305,6 @@
 import java.util.Date;
 import java.util.HashSet;
 import java.util.List;
-import java.util.Locale;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
@@ -5790,65 +5784,6 @@
         mLastANRState = sw.toString();
     }
 
-    void logAppTooSlow(WindowProcessController app, long startTime, String msg) {
-        if (true || Build.IS_USER) {
-            return;
-        }
-
-        StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
-        StrictMode.allowThreadDiskWrites();
-        try {
-            File tracesDir = new File("/data/anr");
-            File tracesFile = null;
-            try {
-                tracesFile = File.createTempFile("app_slow", null, tracesDir);
-
-                StringBuilder sb = new StringBuilder();
-                String timeString =
-                        TimeMigrationUtils.formatMillisWithFixedFormat(System.currentTimeMillis());
-                sb.append(timeString);
-                sb.append(": ");
-                TimeUtils.formatDuration(SystemClock.uptimeMillis() - startTime, sb);
-                sb.append(" since ");
-                sb.append(msg);
-                FileOutputStream fos = new FileOutputStream(tracesFile);
-                fos.write(sb.toString().getBytes());
-                if (app == null) {
-                    fos.write("\n*** No application process!".getBytes());
-                }
-                fos.close();
-                FileUtils.setPermissions(tracesFile.getPath(), 0666, -1, -1); // -rw-rw-rw-
-            } catch (IOException e) {
-                Slog.w(TAG, "Unable to prepare slow app traces file: " + tracesFile, e);
-                return;
-            }
-
-            if (app != null && app.getPid() > 0) {
-                ArrayList<Integer> firstPids = new ArrayList<Integer>();
-                firstPids.add(app.getPid());
-                dumpStackTraces(tracesFile.getAbsolutePath(), firstPids, null, null, null, null);
-            }
-
-            File lastTracesFile = null;
-            File curTracesFile = null;
-            for (int i = 9; i >= 0; i--) {
-                String name = String.format(Locale.US, "slow%02d.txt", i);
-                curTracesFile = new File(tracesDir, name);
-                if (curTracesFile.exists()) {
-                    if (lastTracesFile != null) {
-                        curTracesFile.renameTo(lastTracesFile);
-                    } else {
-                        curTracesFile.delete();
-                    }
-                }
-                lastTracesFile = curTracesFile;
-            }
-            tracesFile.renameTo(curTracesFile);
-        } finally {
-            StrictMode.setThreadPolicy(oldPolicy);
-        }
-    }
-
     boolean isAssociatedCompanionApp(int userId, int uid) {
         final Set<Integer> allUids = mCompanionAppUidsMap.get(userId);
         if (allUids == null) {
diff --git a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java
index 463a92f..c45f7e8 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java
@@ -840,8 +840,6 @@
         proc.pauseConfigurationDispatch();
 
         try {
-            // schedule launch ticks to collect information about slow apps.
-            r.startLaunchTickingLocked();
             r.lastLaunchTime = SystemClock.uptimeMillis();
             r.setProcess(proc);
 
@@ -1485,7 +1483,6 @@
             if (DEBUG_IDLE) Slog.d(TAG_IDLE, "activityIdleInternal: Callers="
                     + Debug.getCallers(4));
             mHandler.removeMessages(IDLE_TIMEOUT_MSG, r);
-            r.finishLaunchTickingLocked();
             if (fromTimeout) {
                 reportActivityLaunched(fromTimeout, r, INVALID_DELAY, -1 /* launchState */);
             }
@@ -2766,10 +2763,6 @@
                 case TOP_RESUMED_STATE_LOSS_TIMEOUT_MSG: {
                     final ActivityRecord r = (ActivityRecord) msg.obj;
                     Slog.w(TAG, "Activity top resumed state loss timeout for " + r);
-                    if (r.hasProcess()) {
-                        mService.logAppTooSlow(r.app, r.topResumedStateLossTime,
-                                "top state loss for " + r);
-                    }
                     handleTopResumedStateReleased(true /* timeout */);
                 } break;
                 default:
diff --git a/services/core/java/com/android/server/wm/AppCompatCameraOverrides.java b/services/core/java/com/android/server/wm/AppCompatCameraOverrides.java
index 5eed5470..cb82f48 100644
--- a/services/core/java/com/android/server/wm/AppCompatCameraOverrides.java
+++ b/services/core/java/com/android/server/wm/AppCompatCameraOverrides.java
@@ -18,6 +18,7 @@
 
 import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_DISABLE_FORCE_ROTATION;
 import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_DISABLE_REFRESH;
+import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_DISABLE_SIMULATE_REQUESTED_ORIENTATION;
 import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_ENABLE_FREEFORM_WINDOWING_TREATMENT;
 import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_ENABLE_REFRESH_VIA_PAUSE;
 import static android.content.pm.ActivityInfo.OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA;
@@ -183,9 +184,10 @@
 
     private boolean shouldEnableCameraCompatFreeformTreatmentForApp() {
         if (mCameraCompatAllowOrientationTreatmentOptProp != null) {
+            // OptProp is not-null iff the opt-out flag is on.
             return mCameraCompatAllowOrientationTreatmentOptProp
                     .shouldEnableWithOptOutOverrideAndProperty(isChangeEnabled(mActivityRecord,
-                            OVERRIDE_CAMERA_COMPAT_ENABLE_FREEFORM_WINDOWING_TREATMENT));
+                            OVERRIDE_CAMERA_COMPAT_DISABLE_SIMULATE_REQUESTED_ORIENTATION));
         } else {
             return isChangeEnabled(mActivityRecord,
                     OVERRIDE_CAMERA_COMPAT_ENABLE_FREEFORM_WINDOWING_TREATMENT);
diff --git a/services/core/java/com/android/server/wm/AppCompatController.java b/services/core/java/com/android/server/wm/AppCompatController.java
index fc50479..48f08e9 100644
--- a/services/core/java/com/android/server/wm/AppCompatController.java
+++ b/services/core/java/com/android/server/wm/AppCompatController.java
@@ -51,7 +51,7 @@
                         @NonNull ActivityRecord activityRecord) {
         final PackageManager packageManager = wmService.mContext.getPackageManager();
         final OptPropFactory optPropBuilder = new OptPropFactory(packageManager,
-                activityRecord.packageName);
+                activityRecord.packageName, activityRecord.mUserId);
         mDeviceStateQuery = new AppCompatDeviceStateQuery(activityRecord);
         mTransparentPolicy = new TransparentPolicy(activityRecord,
                 wmService.mAppCompatConfiguration);
diff --git a/services/core/java/com/android/server/wm/AppCompatLetterboxPolicy.java b/services/core/java/com/android/server/wm/AppCompatLetterboxPolicy.java
index 57811e2..6873270 100644
--- a/services/core/java/com/android/server/wm/AppCompatLetterboxPolicy.java
+++ b/services/core/java/com/android/server/wm/AppCompatLetterboxPolicy.java
@@ -223,7 +223,7 @@
                         // Check for FLAG_SHOW_WALLPAPER explicitly instead of using
                         // WindowContainer#showWallpaper because the later will return true when
                         // this activity is using blurred wallpaper for letterbox background.
-                        && (mainWindow.getAttrs().flags & FLAG_SHOW_WALLPAPER) == 0;
+                        && (mainWindow.mAttrs.flags & FLAG_SHOW_WALLPAPER) == 0;
 
         mLastShouldShowLetterboxUi = shouldShowLetterboxUi;
 
@@ -334,7 +334,7 @@
         if (w == null) {
             return true;
         }
-        final int type = w.getAttrs().type;
+        final int type = w.mAttrs.type;
         // Allow letterbox to be displayed early for base application or application starting
         // windows even if it is not on the top z order to prevent flickering when the
         // letterboxed window is brought to the top
diff --git a/services/core/java/com/android/server/wm/AppCompatResizeOverrides.java b/services/core/java/com/android/server/wm/AppCompatResizeOverrides.java
index fa53153..1546917 100644
--- a/services/core/java/com/android/server/wm/AppCompatResizeOverrides.java
+++ b/services/core/java/com/android/server/wm/AppCompatResizeOverrides.java
@@ -24,6 +24,7 @@
 import static com.android.server.wm.AppCompatUtils.isChangeEnabled;
 
 import android.annotation.NonNull;
+import android.annotation.UserIdInt;
 import android.content.pm.PackageManager;
 
 import com.android.server.wm.utils.OptPropFactory;
@@ -52,7 +53,8 @@
                 PROPERTY_COMPAT_ALLOW_RESIZEABLE_ACTIVITY_OVERRIDES);
         mAllowRestrictedResizability = AppCompatUtils.asLazy(() -> {
             // Application level.
-            if (allowRestrictedResizability(packageManager, mActivityRecord.packageName)) {
+            if (allowRestrictedResizability(packageManager, mActivityRecord.packageName,
+                    mActivityRecord.mUserId)) {
                 return true;
             }
             // Activity level.
@@ -68,10 +70,11 @@
         });
     }
 
-    static boolean allowRestrictedResizability(PackageManager pm, String packageName) {
+    static boolean allowRestrictedResizability(@NonNull PackageManager pm,
+            @NonNull String packageName, @UserIdInt int userId) {
         try {
-            return pm.getProperty(PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY, packageName)
-                    .getBoolean();
+            return pm.getPropertyAsUser(PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY, packageName,
+                            null /* className */, userId).getBoolean();
         } catch (PackageManager.NameNotFoundException e) {
             return false;
         }
diff --git a/services/core/java/com/android/server/wm/BackNavigationController.java b/services/core/java/com/android/server/wm/BackNavigationController.java
index d652ea1..e9d9ace 100644
--- a/services/core/java/com/android/server/wm/BackNavigationController.java
+++ b/services/core/java/com/android/server/wm/BackNavigationController.java
@@ -222,7 +222,7 @@
                     }
                 }
             }
-            final boolean canInterruptInView = (window.getAttrs().privateFlags
+            final boolean canInterruptInView = (window.mAttrs.privateFlags
                     & PRIVATE_FLAG_APP_PROGRESS_GENERATION_ALLOWED) != 0;
             infoBuilder.setAppProgressAllowed(canInterruptInView && !transferGestureToEmbedded
                     && callbackInfo.isAnimationCallback());
@@ -1552,7 +1552,7 @@
             }
 
             void createStartingSurface(@Nullable TaskSnapshot snapshot) {
-                if (Flags.deferPredictiveAnimationIfNoSnapshot() && snapshot == null) {
+                if (snapshot == null) {
                     return;
                 }
                 if (mAdaptors[0].mSwitchType == DIALOG_CLOSE) {
diff --git a/services/core/java/com/android/server/wm/BackgroundActivityStartController.java b/services/core/java/com/android/server/wm/BackgroundActivityStartController.java
index 119709e..f51e60c 100644
--- a/services/core/java/com/android/server/wm/BackgroundActivityStartController.java
+++ b/services/core/java/com/android/server/wm/BackgroundActivityStartController.java
@@ -279,16 +279,24 @@
         mSupervisor = supervisor;
     }
 
+    private ActivityTaskManagerService getService() {
+        return mService;
+    }
+
+    private ActivityTaskSupervisor getSupervisor() {
+        return mSupervisor;
+    }
+
     private boolean isHomeApp(int uid, @Nullable String packageName) {
-        if (mService.mHomeProcess != null) {
+        if (getService().mHomeProcess != null) {
             // Fast check
-            return uid == mService.mHomeProcess.mUid;
+            return uid == getService().mHomeProcess.mUid;
         }
         if (packageName == null) {
             return false;
         }
         ComponentName activity =
-                mService.getPackageManagerInternalLocked()
+                getService().getPackageManagerInternalLocked()
                         .getDefaultHomeActivity(UserHandle.getUserId(uid));
         return activity != null && packageName.equals(activity.getPackageName());
     }
@@ -342,7 +350,8 @@
             mAllowBalExemptionForSystemProcess = allowBalExemptionForSystemProcess;
             mOriginatingPendingIntent = originatingPendingIntent;
             mIntent = intent;
-            mRealCallingPackage = mService.getPackageNameIfUnique(realCallingUid, realCallingPid);
+            mRealCallingPackage = getService().getPackageNameIfUnique(realCallingUid,
+                    realCallingPid);
             mIsCallForResult = resultRecord != null;
             mCheckedOptions = checkedOptions;
             @BackgroundActivityStartMode int callerBackgroundActivityStartMode =
@@ -401,13 +410,13 @@
                                 checkedOptions, realCallingUid, mRealCallingPackage);
             }
 
-            mAppSwitchState = mService.getBalAppSwitchesState();
-            mCallingUidProcState = mService.mActiveUids.getUidState(callingUid);
+            mAppSwitchState = getService().getBalAppSwitchesState();
+            mCallingUidProcState = getService().mActiveUids.getUidState(callingUid);
             mIsCallingUidPersistentSystemProcess =
                     mCallingUidProcState <= ActivityManager.PROCESS_STATE_PERSISTENT_UI;
             mCallingUidHasVisibleActivity =
-                    mService.mVisibleActivityProcessTracker.hasVisibleActivity(callingUid);
-            mCallingUidHasNonAppVisibleWindow = mService.mActiveUids.hasNonAppVisibleWindow(
+                    getService().mVisibleActivityProcessTracker.hasVisibleActivity(callingUid);
+            mCallingUidHasNonAppVisibleWindow = getService().mActiveUids.hasNonAppVisibleWindow(
                     callingUid);
             if (realCallingUid == NO_PROCESS_UID) {
                 // no process provided
@@ -422,16 +431,17 @@
                 mRealCallingUidHasNonAppVisibleWindow = mCallingUidHasNonAppVisibleWindow;
                 // In the PendingIntent case callerApp is not passed in, so resolve it ourselves.
                 mRealCallerApp = callerApp == null
-                        ? mService.getProcessController(realCallingPid, realCallingUid)
+                        ? getService().getProcessController(realCallingPid, realCallingUid)
                         : callerApp;
                 mIsRealCallingUidPersistentSystemProcess = mIsCallingUidPersistentSystemProcess;
             } else {
-                mRealCallingUidProcState = mService.mActiveUids.getUidState(realCallingUid);
+                mRealCallingUidProcState = getService().mActiveUids.getUidState(realCallingUid);
                 mRealCallingUidHasVisibleActivity =
-                        mService.mVisibleActivityProcessTracker.hasVisibleActivity(realCallingUid);
+                        getService().mVisibleActivityProcessTracker.hasVisibleActivity(
+                                realCallingUid);
                 mRealCallingUidHasNonAppVisibleWindow =
-                        mService.mActiveUids.hasNonAppVisibleWindow(realCallingUid);
-                mRealCallerApp = mService.getProcessController(realCallingPid, realCallingUid);
+                        getService().mActiveUids.hasNonAppVisibleWindow(realCallingUid);
+                mRealCallerApp = getService().getProcessController(realCallingPid, realCallingUid);
                 mIsRealCallingUidPersistentSystemProcess =
                         mRealCallingUidProcState <= ActivityManager.PROCESS_STATE_PERSISTENT_UI;
             }
@@ -481,7 +491,7 @@
             if (uid == 0) {
                 return "root[debugOnly]";
             }
-            String name = mService.getPackageManagerInternalLocked().getNameForUid(uid);
+            String name = getService().getPackageManagerInternalLocked().getNameForUid(uid);
             if (name == null) {
                 name = "uid=" + uid;
             }
@@ -783,7 +793,7 @@
                     Process.getAppUidForSdkSandboxUid(state.mRealCallingUid);
             // realCallingSdkSandboxUidToAppUid should probably just be used instead (or in addition
             // to realCallingUid when calculating resultForRealCaller below.
-            if (mService.hasActiveVisibleWindow(realCallingSdkSandboxUidToAppUid)) {
+            if (getService().hasActiveVisibleWindow(realCallingSdkSandboxUidToAppUid)) {
                 state.setResultForRealCaller(new BalVerdict(BAL_ALLOW_SDK_SANDBOX,
                         /*background*/ false,
                         "uid in SDK sandbox has visible (non-toast) window"));
@@ -1000,37 +1010,45 @@
      * or {@link #BAL_BLOCK} if the launch should be blocked
      */
     BalVerdict checkBackgroundActivityStartAllowedByCaller(BalState state) {
+        boolean evaluateVisibleOnly = balAdditionalStartModes()
+                && state.mCheckedOptions.getPendingIntentCreatorBackgroundActivityStartMode()
+                == MODE_BACKGROUND_ACTIVITY_START_ALLOW_IF_VISIBLE;
+        if (evaluateVisibleOnly) {
+            return evaluateChain(state, mCheckCallerVisible, mCheckCallerNonAppVisible,
+                    mCheckCallerProcessAllowsForeground);
+        }
         if (state.isPendingIntent()) {
             // PendingIntents should mostly be allowed by the sender (real caller) or a permission
             // the creator of the PendingIntent has. Visibility should be the exceptional case, so
             // test it last (this does not change the result, just the bal code).
-            BalVerdict result = BalVerdict.BLOCK;
-            if (!(balAdditionalStartModes()
-                    && state.mCheckedOptions.getPendingIntentCreatorBackgroundActivityStartMode()
-                    == MODE_BACKGROUND_ACTIVITY_START_ALLOW_IF_VISIBLE)) {
-                result = checkBackgroundActivityStartAllowedByCallerInBackground(state);
-            }
-            if (result == BalVerdict.BLOCK) {
-                result = checkBackgroundActivityStartAllowedByCallerInForeground(state);
-
-            }
-            return result;
-        } else {
-            BalVerdict result = checkBackgroundActivityStartAllowedByCallerInForeground(state);
-            if (result == BalVerdict.BLOCK && !(balAdditionalStartModes()
-                    && state.mCheckedOptions.getPendingIntentCreatorBackgroundActivityStartMode()
-                    == MODE_BACKGROUND_ACTIVITY_START_ALLOW_IF_VISIBLE)) {
-                result = checkBackgroundActivityStartAllowedByCallerInBackground(state);
-            }
-            return result;
+            return evaluateChain(state, mCheckCallerIsAllowlistedUid,
+                    mCheckCallerIsAllowlistedComponent, mCheckCallerHasBackgroundPermission,
+                    mCheckCallerHasSawPermission, mCheckCallerHasBgStartAppOp,
+                    mCheckCallerProcessAllowsBackground, mCheckCallerVisible,
+                    mCheckCallerNonAppVisible, mCheckCallerProcessAllowsForeground);
         }
+        return evaluateChain(state, mCheckCallerVisible, mCheckCallerNonAppVisible,
+                mCheckCallerProcessAllowsForeground, mCheckCallerIsAllowlistedUid,
+                mCheckCallerIsAllowlistedComponent, mCheckCallerHasBackgroundPermission,
+                mCheckCallerHasSawPermission, mCheckCallerHasBgStartAppOp,
+                mCheckCallerProcessAllowsBackground);
     }
 
-    /**
-     * @return A code denoting which BAL rule allows an activity to be started,
-     * or {@link #BAL_BLOCK} if the launch should be blocked
-     */
-    BalVerdict checkBackgroundActivityStartAllowedByCallerInForeground(BalState state) {
+    interface BalExemptionCheck {
+        BalVerdict evaluate(BalState state);
+    }
+
+    private BalVerdict evaluateChain(BalState state, BalExemptionCheck... checks) {
+        for (BalExemptionCheck check : checks) {
+            BalVerdict verdict = check.evaluate(state);
+            if (verdict != BalVerdict.BLOCK) {
+                return verdict;
+            }
+        }
+        return BalVerdict.BLOCK;
+    }
+
+    private final BalExemptionCheck mCheckCallerVisible = state -> {
         // This is used to block background activity launch even if the app is still
         // visible to user after user clicking home button.
 
@@ -1044,21 +1062,19 @@
             return new BalVerdict(BAL_ALLOW_VISIBLE_WINDOW,
                     /*background*/ false, "callingUid has visible window");
         }
+        return BalVerdict.BLOCK;
+    };
+
+    private final BalExemptionCheck mCheckCallerNonAppVisible = state -> {
         if (state.mCallingUidHasNonAppVisibleWindow) {
             return new BalVerdict(BAL_ALLOW_NON_APP_VISIBLE_WINDOW,
                     /*background*/ false, "callingUid has non-app visible window "
-                    + mService.mActiveUids.getNonAppVisibleWindowDetails(state.mCallingUid));
+                    + getService().mActiveUids.getNonAppVisibleWindowDetails(state.mCallingUid));
         }
-        // Don't abort if the callerApp or other processes of that uid are considered to be in the
-        // foreground.
-        return checkProcessAllowsBal(state.mCallerApp, state, BAL_CHECK_FOREGROUND);
-    }
+        return BalVerdict.BLOCK;
+    };
 
-    /**
-     * @return A code denoting which BAL rule allows an activity to be started,
-     * or {@link #BAL_BLOCK} if the launch should be blocked
-     */
-    BalVerdict checkBackgroundActivityStartAllowedByCallerInBackground(BalState state) {
+    private final BalExemptionCheck mCheckCallerIsAllowlistedUid = state -> {
         // don't abort for the most important UIDs
         final int callingAppId = UserHandle.getAppId(state.mCallingUid);
         if (state.mCallingUid == Process.ROOT_UID
@@ -1066,9 +1082,12 @@
                 || callingAppId == Process.NFC_UID) {
             return new BalVerdict(
                     BAL_ALLOW_ALLOWLISTED_UID, /*background*/ false,
-                     "Important callingUid");
+                    "Important callingUid");
         }
+        return BalVerdict.BLOCK;
+    };
 
+    private final BalExemptionCheck mCheckCallerIsAllowlistedComponent = state -> {
         // Always allow home application to start activities.
         if (isHomeApp(state.mCallingUid, state.mCallingPackage)) {
             return new BalVerdict(BAL_ALLOW_ALLOWLISTED_COMPONENT,
@@ -1076,9 +1095,10 @@
                     "Home app");
         }
 
+        final int callingAppId = UserHandle.getAppId(state.mCallingUid);
         // IME should always be allowed to start activity, like IME settings.
         final WindowState imeWindow =
-                mService.mRootWindowContainer.getCurrentInputMethodWindow();
+                getService().mRootWindowContainer.getCurrentInputMethodWindow();
         if (imeWindow != null && callingAppId == imeWindow.mOwnerUid) {
             return new BalVerdict(BAL_ALLOW_ALLOWLISTED_COMPONENT,
                     /*background*/ false,
@@ -1091,71 +1111,88 @@
                     /*background*/ false, "callingUid is persistent system process");
         }
 
+        // don't abort if the caller has the same uid as the recents component
+        if (getSupervisor().mRecentTasks.isCallerRecents(state.mCallingUid)) {
+            return new BalVerdict(BAL_ALLOW_ALLOWLISTED_COMPONENT,
+                    /*background*/ true, "Recents Component");
+        }
+        // don't abort if the callingUid is the device owner
+        if (getService().isDeviceOwner(state.mCallingUid)) {
+            return new BalVerdict(BAL_ALLOW_ALLOWLISTED_COMPONENT,
+                    /*background*/ true, "Device Owner");
+        }
+        // don't abort if the callingUid is a affiliated profile owner
+        if (getService().isAffiliatedProfileOwner(state.mCallingUid)) {
+            return new BalVerdict(BAL_ALLOW_ALLOWLISTED_COMPONENT,
+                    /*background*/ true, "Affiliated Profile Owner");
+        }
+        // don't abort if the callingUid has companion device
+        final int callingUserId = UserHandle.getUserId(state.mCallingUid);
+        if (getService().isAssociatedCompanionApp(callingUserId, state.mCallingUid)) {
+            return new BalVerdict(BAL_ALLOW_ALLOWLISTED_COMPONENT,
+                    /*background*/ true, "Companion App");
+        }
+        return BalVerdict.BLOCK;
+    };
+
+    private final BalExemptionCheck mCheckCallerHasBackgroundPermission = state -> {
         // don't abort if the callingUid has START_ACTIVITIES_FROM_BACKGROUND permission
         if (hasBalPermission(state.mCallingUid, state.mCallingPid)) {
             return new BalVerdict(BAL_ALLOW_PERMISSION,
                     /*background*/ true,
                     "START_ACTIVITIES_FROM_BACKGROUND permission granted");
         }
-        // don't abort if the caller has the same uid as the recents component
-        if (mSupervisor.mRecentTasks.isCallerRecents(state.mCallingUid)) {
-            return new BalVerdict(BAL_ALLOW_ALLOWLISTED_COMPONENT,
-                    /*background*/ true, "Recents Component");
-        }
-        // don't abort if the callingUid is the device owner
-        if (mService.isDeviceOwner(state.mCallingUid)) {
-            return new BalVerdict(BAL_ALLOW_ALLOWLISTED_COMPONENT,
-                    /*background*/ true, "Device Owner");
-        }
-        // don't abort if the callingUid is a affiliated profile owner
-        if (mService.isAffiliatedProfileOwner(state.mCallingUid)) {
-            return new BalVerdict(BAL_ALLOW_ALLOWLISTED_COMPONENT,
-                    /*background*/ true, "Affiliated Profile Owner");
-        }
-        // don't abort if the callingUid has companion device
-        final int callingUserId = UserHandle.getUserId(state.mCallingUid);
-        if (mService.isAssociatedCompanionApp(callingUserId, state.mCallingUid)) {
-            return new BalVerdict(BAL_ALLOW_ALLOWLISTED_COMPONENT,
-                    /*background*/ true, "Companion App");
-        }
+        return BalVerdict.BLOCK;
+    };
+    private final BalExemptionCheck mCheckCallerHasSawPermission = state -> {
         // don't abort if the callingUid has SYSTEM_ALERT_WINDOW permission
-        if (mService.hasSystemAlertWindowPermission(state.mCallingUid, state.mCallingPid,
+        if (getService().hasSystemAlertWindowPermission(state.mCallingUid, state.mCallingPid,
                 state.mCallingPackage)) {
             return new BalVerdict(BAL_ALLOW_SAW_PERMISSION,
                     /*background*/ true, "SYSTEM_ALERT_WINDOW permission is granted");
         }
+        return BalVerdict.BLOCK;
+    };
+    private final BalExemptionCheck mCheckCallerHasBgStartAppOp = state -> {
         // don't abort if the callingUid and callingPackage have the
         // OP_SYSTEM_EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION appop
-        if (isSystemExemptFlagEnabled() && mService.getAppOpsManager().checkOpNoThrow(
+        if (isSystemExemptFlagEnabled() && getService().getAppOpsManager().checkOpNoThrow(
                 AppOpsManager.OP_SYSTEM_EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION,
                 state.mCallingUid, state.mCallingPackage) == AppOpsManager.MODE_ALLOWED) {
             return new BalVerdict(BAL_ALLOW_PERMISSION, /*background*/ true,
                     "OP_SYSTEM_EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION appop is granted");
         }
+        return BalVerdict.BLOCK;
+    };
 
-        // Don't abort if the callerApp or other processes of that uid are allowed in any way.
-        return checkProcessAllowsBal(state.mCallerApp, state, BAL_CHECK_BACKGROUND);
-    }
+
+    // Don't abort if the callerApp or other processes of that uid are considered to be in the
+    // foreground.
+    private final BalExemptionCheck mCheckCallerProcessAllowsForeground =
+            state -> checkProcessAllowsBal(state.mCallerApp, state, BAL_CHECK_FOREGROUND);
+    // Don't abort if the callerApp or other processes of that uid are allowed in any way.
+    private final BalExemptionCheck mCheckCallerProcessAllowsBackground =
+            state -> checkProcessAllowsBal(state.mCallerApp, state, BAL_CHECK_BACKGROUND);
 
     /**
      * @return A code denoting which BAL rule allows an activity to be started,
      * or {@link #BAL_BLOCK} if the launch should be blocked
      */
     BalVerdict checkBackgroundActivityStartAllowedByRealCaller(BalState state) {
-        BalVerdict result = checkBackgroundActivityStartAllowedByRealCallerInForeground(state);
-        if (result == BalVerdict.BLOCK && !(balAdditionalStartModes()
+        boolean evaluateVisibleOnly = balAdditionalStartModes()
                 && state.mCheckedOptions.getPendingIntentBackgroundActivityStartMode()
-                == MODE_BACKGROUND_ACTIVITY_START_ALLOW_IF_VISIBLE)) {
-            result = checkBackgroundActivityStartAllowedByRealCallerInBackground(state);
+                == MODE_BACKGROUND_ACTIVITY_START_ALLOW_IF_VISIBLE;
+        if (evaluateVisibleOnly) {
+            return evaluateChain(state, mCheckRealCallerVisible, mCheckRealCallerNonAppVisible,
+                    mCheckRealCallerProcessAllowsBalForeground);
         }
-        return result;
+        return evaluateChain(state, mCheckRealCallerVisible, mCheckRealCallerNonAppVisible,
+                mCheckRealCallerProcessAllowsBalForeground, mCheckRealCallerBalPermission,
+                mCheckRealCallerSawPermission, mCheckRealCallerAllowlistedUid,
+                mCheckRealCallerAllowlistedComponent, mCheckRealCallerProcessAllowsBalBackground);
     }
 
-    /**
-     * @return A code denoting which BAL rule allows an activity to be started,
-     * or {@link #BAL_BLOCK} if the launch should be blocked
-     */
-    BalVerdict checkBackgroundActivityStartAllowedByRealCallerInForeground(BalState state) {
+    private final BalExemptionCheck mCheckRealCallerVisible = state -> {
         // Normal apps with visible app window will be allowed to start activity if app switching
         // is allowed, or apps like live wallpaper with non app visible window will be allowed.
         // The home app can start apps even if app switches are usually disallowed.
@@ -1166,22 +1203,29 @@
             return new BalVerdict(BAL_ALLOW_VISIBLE_WINDOW,
                     /*background*/ false, "realCallingUid has visible window");
         }
+        return BalVerdict.BLOCK;
+    };
+
+    private final BalExemptionCheck mCheckRealCallerNonAppVisible = state -> {
         if (state.mRealCallingUidHasNonAppVisibleWindow) {
             return new BalVerdict(BAL_ALLOW_NON_APP_VISIBLE_WINDOW,
                     /*background*/ false, "realCallingUid has non-app visible window "
-                    + mService.mActiveUids.getNonAppVisibleWindowDetails(state.mRealCallingUid));
+                    + getService().mActiveUids.getNonAppVisibleWindowDetails(
+                    state.mRealCallingUid));
         }
+        return BalVerdict.BLOCK;
+    };
 
-        // Don't abort if the realCallerApp or other processes of that uid are considered to be in
-        // the foreground.
-        return checkProcessAllowsBal(state.mRealCallerApp, state, BAL_CHECK_FOREGROUND);
-    }
+    // Don't abort if the realCallerApp or other processes of that uid are considered to be in
+    // the foreground.
+    private final BalExemptionCheck mCheckRealCallerProcessAllowsBalForeground =
+            state -> checkProcessAllowsBal(state.mRealCallerApp, state, BAL_CHECK_FOREGROUND);
 
-    /**
-     * @return A code denoting which BAL rule allows an activity to be started,
-     * or {@link #BAL_BLOCK} if the launch should be blocked
-     */
-    BalVerdict checkBackgroundActivityStartAllowedByRealCallerInBackground(BalState state) {
+    // don't abort if the callerApp or other processes of that uid are allowed in any way
+    private final BalExemptionCheck mCheckRealCallerProcessAllowsBalBackground =
+            state -> checkProcessAllowsBal(state.mRealCallerApp, state, BAL_CHECK_BACKGROUND);
+
+    private final BalExemptionCheck mCheckRealCallerBalPermission = state -> {
         boolean allowAlways = state.mCheckedOptions.getPendingIntentBackgroundActivityStartMode()
                 == MODE_BACKGROUND_ACTIVITY_START_ALLOW_ALWAYS;
         if (allowAlways
@@ -1190,15 +1234,25 @@
                     /*background*/ false,
                     "realCallingUid has BAL permission.");
         }
+        return BalVerdict.BLOCK;
+    };
 
+    private final BalExemptionCheck mCheckRealCallerSawPermission = state -> {
+        boolean allowAlways = state.mCheckedOptions.getPendingIntentBackgroundActivityStartMode()
+                == MODE_BACKGROUND_ACTIVITY_START_ALLOW_ALWAYS;
         // don't abort if the realCallingUid has SYSTEM_ALERT_WINDOW permission
         if (allowAlways
-                && mService.hasSystemAlertWindowPermission(state.mRealCallingUid,
+                && getService().hasSystemAlertWindowPermission(state.mRealCallingUid,
                 state.mRealCallingPid, state.mRealCallingPackage)) {
             return new BalVerdict(BAL_ALLOW_SAW_PERMISSION,
                     /*background*/ true, "SYSTEM_ALERT_WINDOW permission is granted");
         }
+        return BalVerdict.BLOCK;
+    };
 
+    private final BalExemptionCheck mCheckRealCallerAllowlistedUid = state -> {
+        boolean allowAlways = state.mCheckedOptions.getPendingIntentBackgroundActivityStartMode()
+                == MODE_BACKGROUND_ACTIVITY_START_ALLOW_ALWAYS;
         // if the realCallingUid is a persistent system process, abort if the IntentSender
         // wasn't allowed to start an activity
         if ((allowAlways || state.mAllowBalExemptionForSystemProcess)
@@ -1208,17 +1262,19 @@
                     "realCallingUid is persistent system process AND intent "
                             + "sender forced to allow.");
         }
+        return BalVerdict.BLOCK;
+    };
+
+    private final BalExemptionCheck mCheckRealCallerAllowlistedComponent = state -> {
         // don't abort if the realCallingUid is an associated companion app
-        if (mService.isAssociatedCompanionApp(
+        if (getService().isAssociatedCompanionApp(
                 UserHandle.getUserId(state.mRealCallingUid), state.mRealCallingUid)) {
             return new BalVerdict(BAL_ALLOW_ALLOWLISTED_COMPONENT,
                     /*background*/ false,
                     "realCallingUid is a companion app.");
         }
-
-        // don't abort if the callerApp or other processes of that uid are allowed in any way
-        return checkProcessAllowsBal(state.mRealCallerApp, state, BAL_CHECK_BACKGROUND);
-    }
+        return BalVerdict.BLOCK;
+    };
 
     @VisibleForTesting boolean hasBalPermission(int uid, int pid) {
         return ActivityTaskManagerService.checkPermission(START_ACTIVITIES_FROM_BACKGROUND,
@@ -1245,7 +1301,7 @@
         } else {
             // only if that one wasn't allowed, check the other ones
             final ArraySet<WindowProcessController> uidProcesses =
-                    mService.mProcessMap.getProcesses(app.mUid);
+                    getService().mProcessMap.getProcesses(app.mUid);
             if (uidProcesses != null) {
                 for (int i = uidProcesses.size() - 1; i >= 0; i--) {
                     final WindowProcessController proc = uidProcesses.valueAt(i);
@@ -1416,7 +1472,7 @@
         if (ActivitySecurityModelFeatureFlags.shouldShowToast(callingUid)) {
             String toastText = ActivitySecurityModelFeatureFlags.DOC_LINK
                     + (enforceBlock ? " blocked " : " would block ")
-                    + getApplicationLabel(mService.mContext.getPackageManager(),
+                    + getApplicationLabel(getService().mContext.getPackageManager(),
                     launchedFromPackageName);
             showToast(toastText);
 
@@ -1438,7 +1494,7 @@
     }
 
     @VisibleForTesting void showToast(String toastText) {
-        UiThread.getHandler().post(() -> Toast.makeText(mService.mContext,
+        UiThread.getHandler().post(() -> Toast.makeText(getService().mContext,
                 toastText, Toast.LENGTH_LONG).show());
     }
 
@@ -1515,7 +1571,7 @@
             return;
         }
 
-        String packageName =  mService.mContext.getPackageManager().getNameForUid(callingUid);
+        String packageName =  getService().mContext.getPackageManager().getNameForUid(callingUid);
         BalState state = new BalState(callingUid, callingPid, packageName, INVALID_UID,
                 INVALID_PID, null, null, false, null, null, ActivityOptions.makeBasic());
         @BalCode int balCode = checkBackgroundActivityStartAllowedByCaller(state).mCode;
@@ -1576,7 +1632,7 @@
         boolean restrictActivitySwitch = ActivitySecurityModelFeatureFlags
                 .shouldRestrictActivitySwitch(callingUid) && bas.mTopActivityOptedIn;
 
-        PackageManager pm = mService.mContext.getPackageManager();
+        PackageManager pm = getService().mContext.getPackageManager();
         String callingPackage = pm.getNameForUid(callingUid);
         final CharSequence callingLabel;
         if (callingPackage == null) {
@@ -1737,7 +1793,7 @@
             return bas.optedIn(ar);
         }
 
-        PackageManager pm = mService.mContext.getPackageManager();
+        PackageManager pm = getService().mContext.getPackageManager();
         ApplicationInfo applicationInfo;
 
         final int sourceUserId = UserHandle.getUserId(sourceUid);
@@ -1794,7 +1850,7 @@
 
         if (sourceRecord == null) {
             joiner.add(prefix + "Source Package: " + targetRecord.launchedFromPackage);
-            String realCallingPackage = mService.mContext.getPackageManager().getNameForUid(
+            String realCallingPackage = getService().mContext.getPackageManager().getNameForUid(
                     realCallingUid);
             joiner.add(prefix + "Real Calling Uid Package: " + realCallingPackage);
         } else {
@@ -1829,7 +1885,7 @@
         joiner.add(prefix + "BalCode: " + balCodeToString(balCode));
         joiner.add(prefix + "Allowed By Grace Period: " + allowedByGracePeriod);
         joiner.add(prefix + "LastResumedActivity: "
-                       + recordToString.apply(mService.mLastResumedActivity));
+                       + recordToString.apply(getService().mLastResumedActivity));
         joiner.add(prefix + "System opted into enforcement: " + asmOptSystemIntoEnforcement());
 
         if (mTopFinishedActivity != null) {
@@ -1902,7 +1958,7 @@
     }
 
     private BalVerdict statsLog(BalVerdict finalVerdict, BalState state) {
-        if (finalVerdict.blocks() && mService.isActivityStartsLoggingEnabled()) {
+        if (finalVerdict.blocks() && getService().isActivityStartsLoggingEnabled()) {
             // log aborted activity start to TRON
             mSupervisor
                     .getActivityMetricsLogger()
@@ -2138,7 +2194,7 @@
             return -1;
         }
         try {
-            PackageManager pm = mService.mContext.getPackageManager();
+            PackageManager pm = getService().mContext.getPackageManager();
             return pm.getTargetSdkVersion(packageName);
         } catch (Exception e) {
             return -1;
@@ -2159,8 +2215,8 @@
             this.mLaunchCount = entry == null || !ar.isUid(entry.mUid) ? 1 : entry.mLaunchCount + 1;
             this.mDebugInfo = getDebugStringForActivityRecord(ar);
 
-            mService.mH.postDelayed(() -> {
-                synchronized (mService.mGlobalLock) {
+            getService().mH.postDelayed(() -> {
+                synchronized (getService().mGlobalLock) {
                     if (mTaskIdToFinishedActivity.get(taskId) == this) {
                         mTaskIdToFinishedActivity.remove(taskId);
                     }
diff --git a/services/core/java/com/android/server/wm/ClientLifecycleManager.java b/services/core/java/com/android/server/wm/ClientLifecycleManager.java
index d291d99..98e453b 100644
--- a/services/core/java/com/android/server/wm/ClientLifecycleManager.java
+++ b/services/core/java/com/android/server/wm/ClientLifecycleManager.java
@@ -25,6 +25,7 @@
 import android.compat.annotation.ChangeId;
 import android.compat.annotation.EnabledSince;
 import android.os.Build;
+import android.os.DeadObjectException;
 import android.os.IBinder;
 import android.os.RemoteException;
 import android.os.Trace;
@@ -66,64 +67,80 @@
     /**
      * Schedules a transaction, which may consist of multiple callbacks and a lifecycle request.
      * @param transaction A sequence of client transaction items.
-     * @throws RemoteException
-     *
+     * @return {@code false} if the transaction failed because of {@link RemoteException}.
      * @see ClientTransaction
      */
     @VisibleForTesting
-    void scheduleTransaction(@NonNull ClientTransaction transaction) throws RemoteException {
-        final IApplicationThread client = transaction.getClient();
-        try {
-            transaction.schedule();
-        } catch (RemoteException e) {
-            Slog.w(TAG, "Failed to deliver transaction for " + client
-                            + "\ntransaction=" + transaction);
-            throw e;
+    boolean scheduleTransaction(@NonNull ClientTransaction transaction) {
+        final RemoteException e = transaction.schedule();
+        if (e != null) {
+            final WindowProcessController wpc = mWms.mAtmService.getProcessController(
+                    transaction.getClient());
+            Slog.w(TAG, "Failed to deliver transaction for " + wpc + "\ntransaction=" + this, e);
+            return false;
         }
+        return true;
     }
 
     /**
      * Similar to {@link #scheduleTransactionItem}, but it sends the transaction immediately and
      * it can be called without WM lock.
      *
+     * @return {@code false} if the transaction failed because of {@link RemoteException}.
      * @see WindowProcessController#setReportedProcState(int)
      */
-    void scheduleTransactionItemNow(@NonNull IApplicationThread client,
+    boolean scheduleTransactionItemNow(@NonNull IApplicationThread client,
             @NonNull ClientTransactionItem transactionItem) throws RemoteException {
         final ClientTransaction clientTransaction = new ClientTransaction(client);
         clientTransaction.addTransactionItem(transactionItem);
-        scheduleTransaction(clientTransaction);
+        final boolean res = scheduleTransaction(clientTransaction);
+        if (!com.android.window.flags.Flags.cleanupDispatchPendingTransactionsRemoteException()
+                && !res) {
+            throw new DeadObjectException();
+        }
+        return res;
     }
 
     /**
-     * Schedules a transaction with the given item, delivery to client application.
+     * Schedules a transaction with the given item, delivery to client application, which may be
+     * queued to dispatched later.
      *
-     * @throws RemoteException
+     * @return {@code false} if the transaction was dispatched immediately, but failed because of
+     *         {@link RemoteException}. If the transaction is queued, any failure will be ignored.
      * @see ClientTransactionItem
      */
-    void scheduleTransactionItem(@NonNull IApplicationThread client,
+    boolean scheduleTransactionItem(@NonNull IApplicationThread client,
             @NonNull ClientTransactionItem item) throws RemoteException {
         // Wait until RootWindowContainer#performSurfacePlacementNoTrace to dispatch all pending
         // transactions at once.
         final ClientTransaction clientTransaction = getOrCreatePendingTransaction(client);
         clientTransaction.addTransactionItem(item);
 
-        onClientTransactionItemScheduled(clientTransaction, false /* shouldDispatchImmediately */);
+        final boolean res = onClientTransactionItemScheduled(clientTransaction,
+                false /* shouldDispatchImmediately */);
+        if (!com.android.window.flags.Flags.cleanupDispatchPendingTransactionsRemoteException()
+                && !res) {
+            throw new DeadObjectException();
+        }
+        return res;
     }
 
     /**
-     * Schedules a transaction with the given items, delivery to client application.
+     * Schedules a transaction with the given items, delivery to client application, which may be
+     * queued to dispatched later.
      *
-     * @throws RemoteException
+     * @return {@code false} if the transaction was dispatched immediately, but failed because of
+     *         {@link RemoteException}. If the transaction is queued, any failure will be ignored.
      * @see ClientTransactionItem
      */
-    void scheduleTransactionItems(@NonNull IApplicationThread client,
+    boolean scheduleTransactionItems(@NonNull IApplicationThread client,
             @NonNull ClientTransactionItem... items) throws RemoteException {
-        scheduleTransactionItems(client, false /* shouldDispatchImmediately */, items);
+        return scheduleTransactionItems(client, false /* shouldDispatchImmediately */, items);
     }
 
     /**
-     * Schedules a transaction with the given items, delivery to client application.
+     * Schedules a transaction with the given items, delivery to client application, which may be
+     * queued to dispatched later.
      *
      * @param shouldDispatchImmediately whether or not to dispatch the transaction immediately. This
      *                                  should only be {@code true} when it is important to know the
@@ -131,11 +148,11 @@
      *                                  launches an app, the server needs to know if the transaction
      *                                  is dispatched successfully, and may restart the process if
      *                                  not.
-     *
-     * @throws RemoteException
+     * @return {@code false} if the transaction was dispatched immediately, but failed because of
+     *         {@link RemoteException}. If the transaction is queued, any failure will be ignored.
      * @see ClientTransactionItem
      */
-    void scheduleTransactionItems(@NonNull IApplicationThread client,
+    boolean scheduleTransactionItems(@NonNull IApplicationThread client,
             boolean shouldDispatchImmediately,
             @NonNull ClientTransactionItem... items) throws RemoteException {
         // Wait until RootWindowContainer#performSurfacePlacementNoTrace to dispatch all pending
@@ -147,7 +164,13 @@
             clientTransaction.addTransactionItem(items[i]);
         }
 
-        onClientTransactionItemScheduled(clientTransaction, shouldDispatchImmediately);
+        final boolean res = onClientTransactionItemScheduled(clientTransaction,
+                shouldDispatchImmediately);
+        if (!com.android.window.flags.Flags.cleanupDispatchPendingTransactionsRemoteException()
+                && !res) {
+            throw new DeadObjectException();
+        }
+        return res;
     }
 
     /** Executes all the pending transactions. */
@@ -159,12 +182,7 @@
         final int size = mPendingTransactions.size();
         for (int i = 0; i < size; i++) {
             final ClientTransaction transaction = mPendingTransactions.valueAt(i);
-            try {
-                scheduleTransaction(transaction);
-            } catch (RemoteException e) {
-                Slog.e(TAG, "Failed to deliver pending transaction", e);
-                // TODO(b/323801078): apply cleanup for individual transaction item if needed.
-            }
+            scheduleTransaction(transaction);
         }
         mPendingTransactions.clear();
         Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER);
@@ -174,12 +192,7 @@
     void dispatchPendingTransaction(@NonNull IApplicationThread client) {
         final ClientTransaction pendingTransaction = mPendingTransactions.remove(client.asBinder());
         if (pendingTransaction != null) {
-            try {
-                scheduleTransaction(pendingTransaction);
-            } catch (RemoteException e) {
-                Slog.e(TAG, "Failed to deliver pending transaction", e);
-                // TODO(b/323801078): apply cleanup for individual transaction item if needed.
-            }
+            scheduleTransaction(pendingTransaction);
         }
     }
 
@@ -211,15 +224,22 @@
         return transaction;
     }
 
-    /** Must only be called with WM lock. */
-    private void onClientTransactionItemScheduled(
+    /**
+     * Must only be called with WM lock.
+     * If the transaction should not be queued, it will be dispatched immediately.
+     *
+     * @return {@code false} if the transaction was dispatched immediately, but failed because of
+     *         {@link RemoteException}.
+     */
+    private boolean onClientTransactionItemScheduled(
             @NonNull ClientTransaction clientTransaction,
-            boolean shouldDispatchImmediately) throws RemoteException {
+            boolean shouldDispatchImmediately) {
         if (shouldDispatchImmediately || shouldDispatchPendingTransactionsImmediately()) {
             // Dispatch the pending transaction immediately.
             mPendingTransactions.remove(clientTransaction.getClient().asBinder());
-            scheduleTransaction(clientTransaction);
+            return scheduleTransaction(clientTransaction);
         }
+        return true;
     }
 
     /** Must only be called with WM lock. */
diff --git a/services/core/java/com/android/server/wm/ContentRecorder.java b/services/core/java/com/android/server/wm/ContentRecorder.java
index d6ae651..c26acec 100644
--- a/services/core/java/com/android/server/wm/ContentRecorder.java
+++ b/services/core/java/com/android/server/wm/ContentRecorder.java
@@ -490,7 +490,7 @@
                     return null;
                 }
                 final Task taskToRecord = wc.asTask();
-                if (taskToRecord == null) {
+                if (taskToRecord == null || !taskToRecord.isAttached()) {
                     handleStartRecordingFailed();
                     ProtoLog.v(WM_DEBUG_CONTENT_RECORDING,
                             "Content Recording: Unable to retrieve task to start recording for "
diff --git a/services/core/java/com/android/server/wm/DesktopModeHelper.java b/services/core/java/com/android/server/wm/DesktopModeHelper.java
index c2255d8..dc42b32 100644
--- a/services/core/java/com/android/server/wm/DesktopModeHelper.java
+++ b/services/core/java/com/android/server/wm/DesktopModeHelper.java
@@ -79,7 +79,7 @@
     }
 
     @VisibleForTesting
-    static boolean isDeviceEligibleForDesktopMode(@NonNull Context context) {
+    public static boolean isDeviceEligibleForDesktopMode(@NonNull Context context) {
         if (!shouldEnforceDeviceRestrictions()) {
             return true;
         }
diff --git a/services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java b/services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java
index b6f74a0..a4eeb68 100644
--- a/services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java
+++ b/services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java
@@ -16,6 +16,10 @@
 
 package com.android.server.wm;
 
+import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
+import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
+import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
+
 import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_ATM;
 import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_WITH_CLASS_NAME;
 import static com.android.server.wm.DesktopModeHelper.canEnterDesktopMode;
@@ -23,10 +27,13 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.ActivityOptions;
+import android.app.WindowConfiguration;
 import android.content.Context;
 import android.content.pm.ActivityInfo;
 import android.util.Slog;
+import android.window.DesktopModeFlags;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.server.wm.LaunchParamsController.LaunchParamsModifier;
 /**
  * The class that defines default launch params for tasks in desktop mode
@@ -74,6 +81,13 @@
             appendLog("task null, skipping");
             return RESULT_SKIP;
         }
+
+        if (DesktopModeFlags.DISABLE_DESKTOP_LAUNCH_PARAMS_OUTSIDE_DESKTOP_BUG_FIX.isTrue()
+                && !isEnteringDesktopMode(task, options, currentParams)) {
+            appendLog("not entering desktop mode, skipping");
+            return RESULT_SKIP;
+        }
+
         if (com.android.window.flags.Flags.fixLayoutExistingTask()
                 && task.getCreatedByOrganizerTask() != null) {
             appendLog("has created-by-organizer-task, skipping");
@@ -122,6 +136,62 @@
         return RESULT_CONTINUE;
     }
 
+    /**
+     * Returns true if a task is entering desktop mode, due to its windowing mode being freeform or
+     * if there exists other freeform tasks on the display.
+     */
+    @VisibleForTesting
+    boolean isEnteringDesktopMode(
+            @NonNull Task task,
+            @Nullable ActivityOptions options,
+            @NonNull LaunchParamsController.LaunchParams currentParams) {
+        //  As freeform tasks cannot exist outside of desktop mode, it is safe to assume if
+        //  freeform tasks are visible we are in desktop mode and as a result any launching
+        //  activity will also enter desktop mode. On this same relationship, we can also assume
+        //  if there are not visible freeform tasks but a freeform activity is now launching, it
+        //  will force the device into desktop mode.
+        return (task.getDisplayContent().getTopMostVisibleFreeformActivity() != null
+                    && checkSourceWindowModesCompatible(task, options, currentParams))
+                || isRequestingFreeformWindowMode(task, options, currentParams);
+    }
+
+    private boolean isRequestingFreeformWindowMode(
+            @NonNull Task task,
+            @Nullable ActivityOptions options,
+            @NonNull LaunchParamsController.LaunchParams currentParams) {
+        return task.inFreeformWindowingMode()
+                || (options != null && options.getLaunchWindowingMode() == WINDOWING_MODE_FREEFORM)
+                || (currentParams.hasWindowingMode()
+                && currentParams.mWindowingMode == WINDOWING_MODE_FREEFORM);
+    }
+
+    /**
+     * Returns true is all possible source window modes are compatible with desktop mode.
+     */
+    private boolean checkSourceWindowModesCompatible(
+            @NonNull Task task,
+            @Nullable ActivityOptions options,
+            @NonNull LaunchParamsController.LaunchParams currentParams) {
+        return isCompatibleDesktopWindowingMode(task.getWindowingMode())
+                && (options == null
+                    || isCompatibleDesktopWindowingMode(options.getLaunchWindowingMode()))
+                && isCompatibleDesktopWindowingMode(currentParams.mWindowingMode);
+    }
+
+    /**
+     * Returns true is the requesting window mode is one that can lead to the activity entering
+     * desktop.
+     */
+    private boolean isCompatibleDesktopWindowingMode(
+            @WindowConfiguration.WindowingMode int windowingMode) {
+        return switch (windowingMode) {
+            case WINDOWING_MODE_UNDEFINED,
+                 WINDOWING_MODE_FULLSCREEN,
+                 WINDOWING_MODE_FREEFORM -> true;
+            default -> false;
+        };
+    }
+
     private void initLogBuilder(Task task, ActivityRecord activity) {
         if (DEBUG) {
             mLogBuilder = new StringBuilder(
diff --git a/services/core/java/com/android/server/wm/DimmerAnimationHelper.java b/services/core/java/com/android/server/wm/DimmerAnimationHelper.java
index 1d447dd..5041ded 100644
--- a/services/core/java/com/android/server/wm/DimmerAnimationHelper.java
+++ b/services/core/java/com/android/server/wm/DimmerAnimationHelper.java
@@ -208,6 +208,8 @@
                         setCurrentAlphaBlur(dim, finishTransaction);
                         if (targetAlpha == 0f && !dim.isDimming()) {
                             dim.remove(finishTransaction);
+                            // Ensure the finishTransaction is applied if pending
+                            dim.mHostContainer.scheduleAnimation();
                         }
                         mLocalAnimationAdapter = null;
                         mAlphaAnimationSpec = null;
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index 214a3a1..64c19ff 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -46,6 +46,7 @@
 import static android.view.Display.FLAG_SHOULD_SHOW_SYSTEM_DECORATIONS;
 import static android.view.Display.INVALID_DISPLAY;
 import static android.view.Display.STATE_UNKNOWN;
+import static android.view.Display.TYPE_EXTERNAL;
 import static android.view.Display.isSuspendedState;
 import static android.view.InsetsSource.ID_IME;
 import static android.view.Surface.ROTATION_0;
@@ -155,6 +156,8 @@
 import static com.android.server.wm.utils.DisplayInfoOverrides.copyDisplayInfoFields;
 import static com.android.server.wm.utils.RegionUtils.forEachRectReverse;
 import static com.android.server.wm.utils.RegionUtils.rectListToRegion;
+import static com.android.window.flags.Flags.enablePersistingDensityScaleForConnectedDisplays;
+import static com.android.window.flags.Flags.enablePresentationForConnectedDisplays;
 
 import android.annotation.IntDef;
 import android.annotation.NonNull;
@@ -426,6 +429,12 @@
      * @see WindowManagerService#setForcedDisplayDensityForUser(int, int, int)
      */
     int mBaseDisplayDensity = 0;
+
+    /**
+     * Ratio between overridden display density for current user and the initial display density,
+     * used only for external displays.
+     */
+    float mExternalDisplayForcedDensityRatio = 0.0f;
     boolean mIsDensityForced = false;
 
     /**
@@ -3065,6 +3074,17 @@
                 mDisplayPolicy.physicalDisplayChanged();
             }
 
+            // Real display metrics changed, so we should also update initial values.
+            mInitialDisplayWidth = newWidth;
+            mInitialDisplayHeight = newHeight;
+            mInitialDisplayDensity = newDensity;
+            mInitialPhysicalXDpi = newXDpi;
+            mInitialPhysicalYDpi = newYDpi;
+            mInitialDisplayCutout = newCutout;
+            mInitialRoundedCorners = newRoundedCorners;
+            mInitialDisplayShape = newDisplayShape;
+            mCurrentUniqueDisplayId = newUniqueId;
+
             // If there is an override set for base values - use it, otherwise use new values.
             updateBaseDisplayMetrics(mIsSizeForced ? mBaseDisplayWidth : newWidth,
                     mIsSizeForced ? mBaseDisplayHeight : newHeight,
@@ -3081,16 +3101,6 @@
                 mWmService.mDisplayWindowSettings.applyRotationSettingsToDisplayLocked(this);
             }
 
-            // Real display metrics changed, so we should also update initial values.
-            mInitialDisplayWidth = newWidth;
-            mInitialDisplayHeight = newHeight;
-            mInitialDisplayDensity = newDensity;
-            mInitialPhysicalXDpi = newXDpi;
-            mInitialPhysicalYDpi = newYDpi;
-            mInitialDisplayCutout = newCutout;
-            mInitialRoundedCorners = newRoundedCorners;
-            mInitialDisplayShape = newDisplayShape;
-            mCurrentUniqueDisplayId = newUniqueId;
             reconfigureDisplayLocked();
 
             if (physicalDisplayChanged) {
@@ -3143,6 +3153,12 @@
                         + mBaseDisplayHeight + " on display:" + getDisplayId());
             }
         }
+        // Update the base density if there is a forced density ratio.
+        if (enablePersistingDensityScaleForConnectedDisplays()
+                && mIsDensityForced && mExternalDisplayForcedDensityRatio != 0.0f) {
+            mBaseDisplayDensity = (int)
+                    (mInitialDisplayDensity * mExternalDisplayForcedDensityRatio + 0.5);
+        }
         if (mDisplayReady && !mDisplayPolicy.shouldKeepCurrentDecorInsets()) {
             mDisplayPolicy.mDecorInsets.invalidate();
         }
@@ -3172,6 +3188,14 @@
         if (density == getInitialDisplayDensity()) {
             density = 0;
         }
+        // Save the new density ratio to settings for external displays.
+        if (enablePersistingDensityScaleForConnectedDisplays()
+                && mDisplayInfo.type == TYPE_EXTERNAL) {
+            mExternalDisplayForcedDensityRatio = (float)
+                    mBaseDisplayDensity / getInitialDisplayDensity();
+            mWmService.mDisplayWindowSettings.setForcedDensityRatio(getDisplayInfo(),
+                    mExternalDisplayForcedDensityRatio);
+        }
         mWmService.mDisplayWindowSettings.setForcedDensity(getDisplayInfo(), density, userId);
     }
 
@@ -3271,7 +3295,12 @@
             return false;
         }
 
-        // TODO(b/391965805): Remove this after introducing FLAG_ALLOW_SYSTEM_DECORATIONS_CHANGE.
+        // TODO(b/391965805): Remove this after introducing FLAG_ALLOW_CONTENT_MODE_SWITCH.
+        if ((mDisplay.getFlags() & Display.FLAG_REAR) != 0) {
+            return false;
+        }
+
+        // TODO(b/391965805): Remove this after introducing FLAG_ALLOW_CONTENT_MODE_SWITCH.
         // Virtual displays cannot add or remove system decorations during their lifecycle.
         if (mDisplay.getType() == Display.TYPE_VIRTUAL) {
             return false;
@@ -3645,6 +3674,11 @@
 
         pw.println();
         super.dump(pw, prefix, dumpAll);
+        pw.print(prefix);
+        if (mHasSetIgnoreOrientationRequest) {
+            pw.print("mHasSetIgnoreOrientationRequest=true ");
+        }
+        pw.print("ignoreOrientationRequest="); pw.println(getIgnoreOrientationRequest());
         pw.print(prefix); pw.print("mLayoutSeq="); pw.println(mLayoutSeq);
 
         pw.print("  mCurrentFocus="); pw.println(mCurrentFocus);
@@ -3807,13 +3841,18 @@
 
     /**
      * Looking for the focused window on this display if the top focused display hasn't been
-     * found yet (topFocusedDisplayId is INVALID_DISPLAY) or per-display focused was allowed.
+     * found yet (topFocusedDisplayId is INVALID_DISPLAY), per-display focused was allowed, or
+     * the display is presenting. The last one is needed to update system bar visibility in response
+     * to presentation visibility because per-display focus is needed to change system bar
+     * visibility, but the display shouldn't get global focus when a presentation gets shown.
      *
      * @param topFocusedDisplayId Id of the top focused display.
      * @return The focused window or null if there isn't any or no need to seek.
      */
     WindowState findFocusedWindowIfNeeded(int topFocusedDisplayId) {
-        return (hasOwnFocus() || topFocusedDisplayId == INVALID_DISPLAY)
+        return (hasOwnFocus() || topFocusedDisplayId == INVALID_DISPLAY
+                || (enablePresentationForConnectedDisplays()
+                && mWmService.mPresentationController.isPresentationVisible(mDisplayId)))
                     ? findFocusedWindow() : null;
     }
 
@@ -5811,7 +5850,7 @@
         // For each window, we only take the rects that fall within its touchable region.
         forAllWindows(w -> {
             if (!w.canReceiveTouchInput() || !w.isVisible()
-                    || (w.getAttrs().flags & FLAG_NOT_TOUCHABLE) != 0
+                    || (w.mAttrs.flags & FLAG_NOT_TOUCHABLE) != 0
                     || unhandled.isEmpty()) {
                 return;
             }
@@ -5901,7 +5940,7 @@
         if (win.mWmService.mConstants.mSystemGestureExclusionLogDebounceTimeoutMillis <= 0) {
             return false;
         }
-        final WindowManager.LayoutParams attrs = win.getAttrs();
+        final WindowManager.LayoutParams attrs = win.mAttrs;
         final int type = attrs.type;
         return type != TYPE_WALLPAPER
                 && type != TYPE_APPLICATION_STARTING
@@ -6904,6 +6943,8 @@
         /** The actual requested visible inset types for this display */
         private @InsetsType int mRequestedVisibleTypes = WindowInsets.Type.defaultVisible();
 
+        private @InsetsType int mAnimatingTypes = 0;
+
         /** The component name of the top focused window on this display */
         private ComponentName mTopFocusedComponentName = null;
 
@@ -7041,6 +7082,18 @@
             }
             return 0;
         }
+
+        @Override
+        public @InsetsType int getAnimatingTypes() {
+            return mAnimatingTypes;
+        }
+
+        @Override
+        public void setAnimatingTypes(@InsetsType int animatingTypes) {
+            if (mAnimatingTypes != animatingTypes) {
+                mAnimatingTypes = animatingTypes;
+            }
+        }
     }
 
     MagnificationSpec getMagnificationSpec() {
diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java
index 7aa2101..ec5b503f 100644
--- a/services/core/java/com/android/server/wm/DisplayPolicy.java
+++ b/services/core/java/com/android/server/wm/DisplayPolicy.java
@@ -1875,18 +1875,40 @@
     }
 
     void notifyDisplayAddSystemDecorations() {
-        mHandler.post(() -> {
+        if (enableDisplayContentModeManagement()) {
             final int displayId = getDisplayId();
-            StatusBarManagerInternal statusBar = getStatusBarManagerInternal();
-            if (statusBar != null) {
-                statusBar.onDisplayAddSystemDecorations(displayId);
-            }
-            final WallpaperManagerInternal wpMgr = LocalServices
-                    .getService(WallpaperManagerInternal.class);
-            if (wpMgr != null) {
-                wpMgr.onDisplayAddSystemDecorations(displayId);
-            }
-        });
+            final boolean isSystemDecorationsSupported =
+                    mDisplayContent.isSystemDecorationsSupported();
+            final boolean isHomeSupported = mDisplayContent.isHomeSupported();
+            mHandler.post(() -> {
+                if (isSystemDecorationsSupported) {
+                    StatusBarManagerInternal statusBar = getStatusBarManagerInternal();
+                    if (statusBar != null) {
+                        statusBar.onDisplayAddSystemDecorations(displayId);
+                    }
+                }
+                if (isHomeSupported) {
+                    final WallpaperManagerInternal wpMgr =
+                            LocalServices.getService(WallpaperManagerInternal.class);
+                    if (wpMgr != null) {
+                        wpMgr.onDisplayAddSystemDecorations(displayId);
+                    }
+                }
+            });
+        } else {
+            mHandler.post(() -> {
+                final int displayId = getDisplayId();
+                StatusBarManagerInternal statusBar = getStatusBarManagerInternal();
+                if (statusBar != null) {
+                    statusBar.onDisplayAddSystemDecorations(displayId);
+                }
+                final WallpaperManagerInternal wpMgr = LocalServices
+                        .getService(WallpaperManagerInternal.class);
+                if (wpMgr != null) {
+                    wpMgr.onDisplayAddSystemDecorations(displayId);
+                }
+            });
+        }
     }
 
     void notifyDisplayRemoveSystemDecorations() {
@@ -2365,7 +2387,7 @@
 
         // Immersive mode confirmation should never affect the system bar visibility, otherwise
         // it will unhide the navigation bar and hide itself.
-        if ((winCandidate.getAttrs().privateFlags
+        if ((winCandidate.mAttrs.privateFlags
                 & PRIVATE_FLAG_IMMERSIVE_CONFIRMATION_WINDOW) != 0) {
             if (mNotificationShade != null && mNotificationShade.canReceiveKeys()) {
                 // Let notification shade control the system bar visibility.
@@ -2542,7 +2564,7 @@
             final int rootDisplayAreaId = root == null ? FEATURE_UNDEFINED : root.mFeatureId;
             // TODO(b/277290737): Move this to the client side, instead of using a proxy.
             callStatusBarSafely(statusBar -> statusBar.immersiveModeChanged(getDisplayId(),
-                        rootDisplayAreaId, isImmersiveMode));
+                        rootDisplayAreaId, isImmersiveMode, win.getWindowType()));
         }
 
         // Show transient bars for panic if needed.
@@ -2633,9 +2655,9 @@
         }
 
         final boolean drawsSystemBars =
-                (win.getAttrs().flags & FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) != 0;
+                (win.mAttrs.flags & FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) != 0;
         final boolean forceDrawsSystemBars =
-                (win.getAttrs().privateFlags & PRIVATE_FLAG_FORCE_DRAW_BAR_BACKGROUNDS) != 0;
+                (win.mAttrs.privateFlags & PRIVATE_FLAG_FORCE_DRAW_BAR_BACKGROUNDS) != 0;
 
         return forceDrawsSystemBars || drawsSystemBars;
     }
diff --git a/services/core/java/com/android/server/wm/DisplayRotation.java b/services/core/java/com/android/server/wm/DisplayRotation.java
index 786161c..9cf792d 100644
--- a/services/core/java/com/android/server/wm/DisplayRotation.java
+++ b/services/core/java/com/android/server/wm/DisplayRotation.java
@@ -25,6 +25,7 @@
 import static android.view.WindowManager.LayoutParams.ROTATION_ANIMATION_SEAMLESS;
 
 import static com.android.internal.protolog.WmProtoLogGroups.WM_DEBUG_ORIENTATION;
+import static com.android.internal.protolog.WmProtoLogGroups.WM_DEBUG_ORIENTATION_CHANGE;
 import static com.android.server.policy.WindowManagerPolicy.WindowManagerFuncs.LID_OPEN;
 import static com.android.server.wm.DisplayRotationProto.FIXED_TO_USER_ROTATION_MODE;
 import static com.android.server.wm.DisplayRotationProto.FROZEN_TO_USER_ROTATION;
@@ -587,11 +588,6 @@
                 ActivityInfo.screenOrientationToString(lastOrientation), lastOrientation,
                 Surface.rotationToString(oldRotation), oldRotation);
 
-        ProtoLog.v(WM_DEBUG_ORIENTATION,
-                "Display id=%d selected orientation %s (%d), got rotation %s (%d)", displayId,
-                ActivityInfo.screenOrientationToString(lastOrientation), lastOrientation,
-                Surface.rotationToString(rotation), rotation);
-
         if (oldRotation == rotation) {
             // No change.
             return false;
@@ -601,9 +597,11 @@
             mDisplayRotationCoordinator.onDefaultDisplayRotationChanged(rotation);
         }
 
-        ProtoLog.v(WM_DEBUG_ORIENTATION,
-                "Display id=%d rotation changed to %d from %d, lastOrientation=%d",
-                        displayId, rotation, oldRotation, lastOrientation);
+        ProtoLog.i(WM_DEBUG_ORIENTATION_CHANGE, "Display id=%d rotation changed to %d from %d,"
+                        + " lastOrientation=%d userRotationMode=%d userRotation=%d"
+                        + " lastSensorRotation=%d",
+                displayId, rotation, oldRotation, lastOrientation, mUserRotationMode, mUserRotation,
+                mLastSensorRotation);
 
         mRotation = rotation;
 
@@ -730,7 +728,7 @@
         // We only enable seamless rotation if the top window has requested it and is in the
         // fullscreen opaque state. Seamless rotation requires freezing various Surface states and
         // won't work well with animations, so we disable it in the animation case for now.
-        if (w.getAttrs().rotationAnimation != ROTATION_ANIMATION_SEAMLESS || w.inMultiWindowMode()
+        if (w.mAttrs.rotationAnimation != ROTATION_ANIMATION_SEAMLESS || w.inMultiWindowMode()
                 || w.isAnimatingLw()) {
             return false;
         }
diff --git a/services/core/java/com/android/server/wm/DisplayWindowSettings.java b/services/core/java/com/android/server/wm/DisplayWindowSettings.java
index 1173875..c6892e9 100644
--- a/services/core/java/com/android/server/wm/DisplayWindowSettings.java
+++ b/services/core/java/com/android/server/wm/DisplayWindowSettings.java
@@ -23,11 +23,10 @@
 import static android.view.WindowManager.REMOVE_CONTENT_MODE_MOVE_TO_PRIMARY;
 import static android.view.WindowManager.REMOVE_CONTENT_MODE_UNDEFINED;
 
+import static com.android.server.display.feature.flags.Flags.enableDisplayContentModeManagement;
 import static com.android.server.wm.DisplayContent.FORCE_SCALING_MODE_AUTO;
 import static com.android.server.wm.DisplayContent.FORCE_SCALING_MODE_DISABLED;
 
-import static com.android.server.display.feature.flags.Flags.enableDisplayContentModeManagement;
-
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.WindowConfiguration;
@@ -100,6 +99,13 @@
         mSettingsProvider.updateOverrideSettings(info, overrideSettings);
     }
 
+    void setForcedDensityRatio(@NonNull DisplayInfo info, float ratio) {
+        final SettingsProvider.SettingsEntry overrideSettings =
+                mSettingsProvider.getOverrideSettings(info);
+        overrideSettings.mForcedDensityRatio = ratio;
+        mSettingsProvider.updateOverrideSettings(info, overrideSettings);
+    }
+
     void setForcedScalingMode(@NonNull DisplayContent displayContent, @ForceScalingMode int mode) {
         if (displayContent.isDefaultDisplay) {
             Settings.Global.putInt(mService.mContext.getContentResolver(),
@@ -367,6 +373,7 @@
                 mFixedToUserRotation);
 
         final boolean hasDensityOverride = settings.mForcedDensity != 0;
+        final boolean hasDensityOverrideRatio = settings.mForcedDensityRatio != 0.0f;
         final boolean hasSizeOverride = settings.mForcedWidth != 0 && settings.mForcedHeight != 0;
         dc.mIsDensityForced = hasDensityOverride;
         dc.mIsSizeForced = hasSizeOverride;
@@ -378,6 +385,10 @@
         final int height = hasSizeOverride ? settings.mForcedHeight : dc.mInitialDisplayHeight;
         final int density = hasDensityOverride ? settings.mForcedDensity
                 : dc.getInitialDisplayDensity();
+        if (hasDensityOverrideRatio) {
+            dc.mExternalDisplayForcedDensityRatio = settings.mForcedDensityRatio;
+        }
+
         dc.updateBaseDisplayMetrics(width, height, density, dc.mBaseDisplayPhysicalXDpi,
                 dc.mBaseDisplayPhysicalYDpi);
 
@@ -496,6 +507,13 @@
             int mForcedWidth;
             int mForcedHeight;
             int mForcedDensity;
+            /**
+             * The ratio of the forced density to the initial density of the display. This is only
+             * saved for external displays, and used to make sure ratio between forced density and
+             * initial density persist when a resolution change happens. Ratio is updated when
+             * mForcedDensity is changed.
+             */
+            float mForcedDensityRatio;
             @Nullable
             @ForceScalingMode
             Integer mForcedScalingMode;
@@ -561,6 +579,10 @@
                     mForcedDensity = other.mForcedDensity;
                     changed = true;
                 }
+                if (other.mForcedDensityRatio != mForcedDensityRatio) {
+                    mForcedDensityRatio = other.mForcedDensityRatio;
+                    changed = true;
+                }
                 if (!Objects.equals(other.mForcedScalingMode, mForcedScalingMode)) {
                     mForcedScalingMode = other.mForcedScalingMode;
                     changed = true;
@@ -649,6 +671,11 @@
                     mForcedDensity = delta.mForcedDensity;
                     changed = true;
                 }
+                if (delta.mForcedDensityRatio != 0
+                        && delta.mForcedDensityRatio != mForcedDensityRatio) {
+                    mForcedDensityRatio = delta.mForcedDensityRatio;
+                    changed = true;
+                }
                 if (delta.mForcedScalingMode != null
                         && !Objects.equals(delta.mForcedScalingMode, mForcedScalingMode)) {
                     mForcedScalingMode = delta.mForcedScalingMode;
@@ -713,6 +740,7 @@
                         && mUserRotationMode == null
                         && mUserRotation == null
                         && mForcedWidth == 0 && mForcedHeight == 0 && mForcedDensity == 0
+                        && mForcedDensityRatio == 0.0f
                         && mForcedScalingMode == null
                         && mRemoveContentMode == REMOVE_CONTENT_MODE_UNDEFINED
                         && mShouldShowWithInsecureKeyguard == null
@@ -736,6 +764,7 @@
                         && mForcedHeight == that.mForcedHeight
                         && mForcedDensity == that.mForcedDensity
                         && mRemoveContentMode == that.mRemoveContentMode
+                        && mForcedDensityRatio == that.mForcedDensityRatio
                         && Objects.equals(mUserRotationMode, that.mUserRotationMode)
                         && Objects.equals(mUserRotation, that.mUserRotation)
                         && Objects.equals(mForcedScalingMode, that.mForcedScalingMode)
@@ -755,10 +784,11 @@
             @Override
             public int hashCode() {
                 return Objects.hash(mWindowingMode, mUserRotationMode, mUserRotation, mForcedWidth,
-                        mForcedHeight, mForcedDensity, mForcedScalingMode, mRemoveContentMode,
-                        mShouldShowWithInsecureKeyguard, mShouldShowSystemDecors, mIsHomeSupported,
-                        mImePolicy, mFixedToUserRotation, mIgnoreOrientationRequest,
-                        mIgnoreDisplayCutout, mDontMoveToTop, mIgnoreActivitySizeRestrictions);
+                        mForcedHeight, mForcedDensity, mForcedDensityRatio, mForcedScalingMode,
+                        mRemoveContentMode, mShouldShowWithInsecureKeyguard,
+                        mShouldShowSystemDecors, mIsHomeSupported, mImePolicy, mFixedToUserRotation,
+                        mIgnoreOrientationRequest, mIgnoreDisplayCutout, mDontMoveToTop,
+                        mIgnoreActivitySizeRestrictions);
             }
 
             @Override
@@ -770,6 +800,7 @@
                         + ", mForcedWidth=" + mForcedWidth
                         + ", mForcedHeight=" + mForcedHeight
                         + ", mForcedDensity=" + mForcedDensity
+                        + ", mForcedDensityRatio=" + mForcedDensityRatio
                         + ", mForcedScalingMode=" + mForcedScalingMode
                         + ", mRemoveContentMode=" + mRemoveContentMode
                         + ", mShouldShowWithInsecureKeyguard=" + mShouldShowWithInsecureKeyguard
diff --git a/services/core/java/com/android/server/wm/DisplayWindowSettingsProvider.java b/services/core/java/com/android/server/wm/DisplayWindowSettingsProvider.java
index 7135c3b..e7a1fdd 100644
--- a/services/core/java/com/android/server/wm/DisplayWindowSettingsProvider.java
+++ b/services/core/java/com/android/server/wm/DisplayWindowSettingsProvider.java
@@ -511,6 +511,8 @@
                     0 /* defaultValue */);
             settingsEntry.mForcedDensity = getIntAttribute(parser, "forcedDensity",
                     0 /* defaultValue */);
+            settingsEntry.mForcedDensityRatio = parser.getAttributeFloat(null, "forcedDensityRatio",
+                    0.0f /* defaultValue */);
             settingsEntry.mForcedScalingMode = getIntegerAttribute(parser, "forcedScalingMode",
                     null /* defaultValue */);
             settingsEntry.mRemoveContentMode = getIntAttribute(parser, "removeContentMode",
@@ -599,6 +601,10 @@
                 if (settingsEntry.mForcedDensity != 0) {
                     out.attributeInt(null, "forcedDensity", settingsEntry.mForcedDensity);
                 }
+                if (settingsEntry.mForcedDensityRatio != 0.0f) {
+                    out.attributeFloat(null, "forcedDensityRatio",
+                            settingsEntry.mForcedDensityRatio);
+                }
                 if (settingsEntry.mForcedScalingMode != null) {
                     out.attributeInt(null, "forcedScalingMode",
                             settingsEntry.mForcedScalingMode);
diff --git a/services/core/java/com/android/server/wm/InsetsControlTarget.java b/services/core/java/com/android/server/wm/InsetsControlTarget.java
index cee4967..6462a37 100644
--- a/services/core/java/com/android/server/wm/InsetsControlTarget.java
+++ b/services/core/java/com/android/server/wm/InsetsControlTarget.java
@@ -97,6 +97,20 @@
             @NonNull ImeTracker.Token statsToken) {
     }
 
+    /**
+     * @return {@link WindowInsets.Type.InsetsType}s which are currently animating (showing or
+     * hiding).
+     */
+    default @InsetsType int getAnimatingTypes() {
+        return 0;
+    }
+
+    /**
+     * @param animatingTypes the {@link InsetsType}s, that are currently animating
+     */
+    default void setAnimatingTypes(@InsetsType int animatingTypes) {
+    }
+
     /** Returns {@code target.getWindow()}, or null if {@code target} is {@code null}. */
     static WindowState asWindowOrNull(InsetsControlTarget target) {
         return target != null ? target.getWindow() : null;
diff --git a/services/core/java/com/android/server/wm/InsetsPolicy.java b/services/core/java/com/android/server/wm/InsetsPolicy.java
index b4d55a1..2872214 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,12 +267,12 @@
      * 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) {
         final InsetsState originalState = state;
-        final WindowManager.LayoutParams attrs = target.getAttrs();
+        final WindowManager.LayoutParams attrs = target.mAttrs;
 
         // The caller should not receive the visible insets provided by itself.
         if (attrs.type == TYPE_INPUT_METHOD) {
@@ -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.mAttrs.type >= WindowManager.LayoutParams.FIRST_APPLICATION_WINDOW
+                && win.mAttrs.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) {
@@ -777,8 +790,6 @@
         private final Handler mHandler;
         private final String mName;
 
-        private boolean mInsetsAnimationRunning;
-
         Host(Handler handler, String name) {
             mHandler = handler;
             mName = name;
@@ -790,11 +801,13 @@
         }
 
         @Override
-        public void notifyInsetsChanged() { }
+        public void notifyInsetsChanged() {
+        }
 
         @Override
         public void dispatchWindowInsetsAnimationPrepare(
-                @NonNull WindowInsetsAnimation animation) { }
+                @NonNull WindowInsetsAnimation animation) {
+        }
 
         @Override
         public Bounds dispatchWindowInsetsAnimationStart(
@@ -812,7 +825,8 @@
 
         @Override
         public void dispatchWindowInsetsAnimationEnd(
-                @NonNull WindowInsetsAnimation animation) { }
+                @NonNull WindowInsetsAnimation animation) {
+        }
 
         @Override
         public void applySurfaceParams(SyncRtSurfaceTransactionApplier.SurfaceParams... p) {
@@ -834,7 +848,8 @@
         }
 
         @Override
-        public void setSystemBarsAppearance(int appearance, int mask) { }
+        public void setSystemBarsAppearance(int appearance, int mask) {
+        }
 
         @Override
         public int getSystemBarsAppearance() {
@@ -842,7 +857,8 @@
         }
 
         @Override
-        public void setSystemBarsBehavior(int behavior) { }
+        public void setSystemBarsBehavior(int behavior) {
+        }
 
         @Override
         public int getSystemBarsBehavior() {
@@ -855,10 +871,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() {
@@ -881,10 +899,5 @@
         public IBinder getWindowToken() {
             return null;
         }
-
-        @Override
-        public void notifyAnimationRunningStateChanged(boolean running) {
-            mInsetsAnimationRunning = running;
-        }
     }
 }
diff --git a/services/core/java/com/android/server/wm/InsetsStateController.java b/services/core/java/com/android/server/wm/InsetsStateController.java
index 164abab..5e0395f 100644
--- a/services/core/java/com/android/server/wm/InsetsStateController.java
+++ b/services/core/java/com/android/server/wm/InsetsStateController.java
@@ -225,13 +225,16 @@
         for (int i = mProviders.size() - 1; i >= 0; i--) {
             final InsetsSourceProvider provider = mProviders.valueAt(i);
             final @InsetsType int type = provider.getSource().getType();
+            final boolean isImeProvider = type == WindowInsets.Type.ime();
             if ((type & changedTypes) != 0) {
-                final boolean isImeProvider = type == WindowInsets.Type.ime();
                 changed |= provider.updateClientVisibility(
-                                caller, isImeProvider ? statsToken : null)
+                        caller, isImeProvider ? statsToken : null)
                         // Fake control target cannot change the client visibility, but it should
                         // change the insets with its newly requested visibility.
                         || (caller == provider.getFakeControlTarget());
+            } else if (isImeProvider && android.view.inputmethod.Flags.refactorInsetsController()) {
+                ImeTracker.forLogging().onCancelled(statsToken,
+                        ImeTracker.PHASE_WM_SET_REMOTE_TARGET_IME_VISIBILITY);
             }
         }
         if (changed) {
diff --git a/services/core/java/com/android/server/wm/OWNERS b/services/core/java/com/android/server/wm/OWNERS
index dede767..243a532 100644
--- a/services/core/java/com/android/server/wm/OWNERS
+++ b/services/core/java/com/android/server/wm/OWNERS
@@ -3,7 +3,6 @@
 ogunwale@google.com
 jjaggi@google.com
 racarr@google.com
-chaviw@google.com
 vishnun@google.com
 akulian@google.com
 roosa@google.com
diff --git a/services/core/java/com/android/server/wm/PresentationController.java b/services/core/java/com/android/server/wm/PresentationController.java
index b3cff9c..acc658b 100644
--- a/services/core/java/com/android/server/wm/PresentationController.java
+++ b/services/core/java/com/android/server/wm/PresentationController.java
@@ -16,10 +16,17 @@
 
 package com.android.server.wm;
 
+import static android.view.WindowManager.LayoutParams.TYPE_PRESENTATION;
+import static android.view.WindowManager.LayoutParams.TYPE_PRIVATE_PRESENTATION;
+
+import static com.android.internal.protolog.WmProtoLogGroups.WM_ERROR;
 import static com.android.window.flags.Flags.enablePresentationForConnectedDisplays;
 
 import android.annotation.NonNull;
-import android.util.IntArray;
+import android.annotation.Nullable;
+import android.hardware.display.DisplayManager;
+import android.util.SparseArray;
+import android.view.WindowManager.LayoutParams.WindowType;
 
 import com.android.internal.protolog.ProtoLog;
 import com.android.internal.protolog.WmProtoLogGroups;
@@ -27,15 +34,125 @@
 /**
  * Manages presentation windows.
  */
-class PresentationController {
+class PresentationController implements DisplayManager.DisplayListener {
 
-    // TODO(b/395475549): Add support for display add/remove, and activity move across displays.
-    private final IntArray mPresentingDisplayIds = new IntArray();
+    private static class Presentation {
+        @NonNull final WindowState mWin;
+        @NonNull final WindowContainerListener mPresentationListener;
+        // This is the task which started this presentation. This shouldn't be null in most cases
+        // because the intended usage of the Presentation API is that an activity that started a
+        // presentation should control the UI and lifecycle of the presentation window.
+        // However, the API doesn't necessarily requires a host activity to exist (e.g. a background
+        // service can launch a presentation), so this can be null.
+        @Nullable final Task mHostTask;
+        @Nullable final WindowContainerListener mHostTaskListener;
 
-    PresentationController() {}
+        Presentation(@NonNull WindowState win,
+                @NonNull WindowContainerListener presentationListener,
+                @Nullable Task hostTask,
+                @Nullable WindowContainerListener hostTaskListener) {
+            mWin = win;
+            mPresentationListener = presentationListener;
+            mHostTask = hostTask;
+            mHostTaskListener = hostTaskListener;
+        }
 
-    private boolean isPresenting(int displayId) {
-        return mPresentingDisplayIds.contains(displayId);
+        @Override
+        public String toString() {
+            return "{win: " + mWin.getName() + ", display: " + mWin.getDisplayId()
+                    + ", hostTask: " + (mHostTask != null ? mHostTask.getName() : null) + "}";
+        }
+    }
+
+    private final SparseArray<Presentation> mPresentations = new SparseArray();
+
+    @Nullable
+    private Presentation getPresentation(@Nullable WindowState win) {
+        if (win == null) return null;
+        for (int i = 0; i < mPresentations.size(); i++) {
+            final Presentation presentation = mPresentations.valueAt(i);
+            if (win == presentation.mWin) return presentation;
+        }
+        return null;
+    }
+
+    private boolean hasPresentationWindow(int displayId) {
+        return mPresentations.contains(displayId);
+    }
+
+    boolean isPresentationVisible(int displayId) {
+        final Presentation presentation = mPresentations.get(displayId);
+        return presentation != null && presentation.mWin.mToken.isVisibleRequested();
+    }
+
+    boolean canPresent(@NonNull WindowState win, @NonNull DisplayContent displayContent) {
+        return canPresent(win, displayContent, win.mAttrs.type, win.getUid());
+    }
+
+    /**
+     * Checks if a presentation window can be shown on the given display.
+     * If the given |win| is empty, a new presentation window is being created.
+     * If the given |win| is not empty, the window already exists as presentation, and we're
+     * revalidate if the |win| is still qualified to be shown.
+     */
+    boolean canPresent(@Nullable WindowState win, @NonNull DisplayContent displayContent,
+            @WindowType int type, int uid) {
+        if (type == TYPE_PRIVATE_PRESENTATION) {
+            // Private presentations can only be created on private displays.
+            return displayContent.isPrivate();
+        }
+
+        if (type != TYPE_PRESENTATION) {
+            return false;
+        }
+
+        if (!enablePresentationForConnectedDisplays()) {
+            return displayContent.getDisplay().isPublicPresentation();
+        }
+
+        boolean allDisplaysArePresenting = true;
+        for (int i = 0; i < displayContent.mWmService.mRoot.mChildren.size(); i++) {
+            final DisplayContent dc = displayContent.mWmService.mRoot.mChildren.get(i);
+            if (displayContent.mDisplayId != dc.mDisplayId
+                    && !mPresentations.contains(dc.mDisplayId)) {
+                allDisplaysArePresenting = false;
+                break;
+            }
+        }
+        if (allDisplaysArePresenting) {
+            // All displays can't present simultaneously.
+            return false;
+        }
+
+        final int displayId = displayContent.mDisplayId;
+        if (hasPresentationWindow(displayId)
+                && win != null && win != mPresentations.get(displayId).mWin) {
+            // A display can't have multiple presentations.
+            return false;
+        }
+
+        Task hostTask = null;
+        final Presentation presentation = getPresentation(win);
+        if (presentation != null) {
+            hostTask = presentation.mHostTask;
+        } else if (win == null) {
+            final Task globallyFocusedTask =
+                    displayContent.mWmService.mRoot.getTopDisplayFocusedRootTask();
+            if (globallyFocusedTask != null && uid == globallyFocusedTask.effectiveUid) {
+                hostTask = globallyFocusedTask;
+            }
+        }
+        if (hostTask != null && displayId == hostTask.getDisplayId()) {
+            // A presentation can't cover its own host task.
+            return false;
+        }
+        if (hostTask == null && !displayContent.getDisplay().isPublicPresentation()) {
+            // A globally focused host task on a different display is needed to show a
+            // presentation on a non-presenting display.
+            return false;
+        }
+
+        return true;
     }
 
     boolean shouldOccludeActivities(int displayId) {
@@ -45,32 +162,87 @@
         // be shown on them.
         // TODO(b/390481621): Disallow a presentation from covering its controlling activity so that
         // the presentation won't stop its controlling activity.
-        return enablePresentationForConnectedDisplays() && isPresenting(displayId);
+        return enablePresentationForConnectedDisplays() && isPresentationVisible(displayId);
     }
 
-    void onPresentationAdded(@NonNull WindowState win) {
+    void onPresentationAdded(@NonNull WindowState win, int uid) {
         final int displayId = win.getDisplayId();
-        if (isPresenting(displayId)) {
-            return;
-        }
         ProtoLog.v(WmProtoLogGroups.WM_DEBUG_PRESENTATION, "Presentation added to display %d: %s",
-                win.getDisplayId(), win);
-        mPresentingDisplayIds.add(win.getDisplayId());
+                displayId, win);
         win.mWmService.mDisplayManagerInternal.onPresentation(displayId, /*isShown=*/ true);
+
+        final WindowContainerListener presentationWindowListener = new WindowContainerListener() {
+            @Override
+            public void onRemoved() {
+                if (!hasPresentationWindow(displayId)) {
+                    ProtoLog.e(WM_ERROR, "Failed to remove presentation on"
+                            + "non-presenting display %d: %s", displayId, win);
+                    return;
+                }
+                final Presentation presentation = mPresentations.get(displayId);
+                win.mToken.unregisterWindowContainerListener(presentation.mPresentationListener);
+                if (presentation.mHostTask != null) {
+                    presentation.mHostTask.unregisterWindowContainerListener(
+                            presentation.mHostTaskListener);
+                }
+                mPresentations.remove(displayId);
+                win.mWmService.mDisplayManagerInternal.onPresentation(displayId, false /*isShown*/);
+            }
+        };
+        win.mToken.registerWindowContainerListener(presentationWindowListener);
+
+        Task hostTask = null;
+        if (enablePresentationForConnectedDisplays()) {
+            final Task globallyFocusedTask =
+                    win.mWmService.mRoot.getTopDisplayFocusedRootTask();
+            if (globallyFocusedTask != null && uid == globallyFocusedTask.effectiveUid) {
+                hostTask = globallyFocusedTask;
+            }
+        }
+        WindowContainerListener hostTaskListener = null;
+        if (hostTask != null) {
+            hostTaskListener = new WindowContainerListener() {
+                public void onDisplayChanged(DisplayContent dc) {
+                    final Presentation presentation = mPresentations.get(dc.getDisplayId());
+                    if (presentation != null && !canPresent(presentation.mWin, dc)) {
+                        removePresentation(dc.mDisplayId, "host task moved to display "
+                                + dc.getDisplayId());
+                    }
+                }
+
+                public void onRemoved() {
+                    removePresentation(win.getDisplayId(), "host task removed");
+                }
+            };
+            hostTask.registerWindowContainerListener(hostTaskListener);
+        }
+
+        mPresentations.put(displayId, new Presentation(win, presentationWindowListener, hostTask,
+                hostTaskListener));
     }
 
-    void onPresentationRemoved(@NonNull WindowState win) {
-        final int displayId = win.getDisplayId();
-        if (!isPresenting(displayId)) {
-            return;
+    void removePresentation(int displayId, @NonNull String reason) {
+        final Presentation presentation = mPresentations.get(displayId);
+        if (enablePresentationForConnectedDisplays() && presentation != null) {
+            ProtoLog.v(WmProtoLogGroups.WM_DEBUG_PRESENTATION, "Removing Presentation %s for "
+                    + "reason %s", mPresentations.get(displayId), reason);
+            final WindowState win = presentation.mWin;
+            win.mWmService.mAtmService.mH.post(() -> {
+                synchronized (win.mWmService.mGlobalLock) {
+                    win.removeIfPossible();
+                }
+            });
         }
-        ProtoLog.v(WmProtoLogGroups.WM_DEBUG_PRESENTATION,
-                "Presentation removed from display %d: %s", win.getDisplayId(), win);
-        // TODO(b/393945496): Make sure that there's one presentation at most per display.
-        final int displayIdIndex = mPresentingDisplayIds.indexOf(displayId);
-        if (displayIdIndex != -1) {
-            mPresentingDisplayIds.remove(displayIdIndex);
-        }
-        win.mWmService.mDisplayManagerInternal.onPresentation(displayId, /*isShown=*/ false);
     }
+
+    @Override
+    public void onDisplayAdded(int displayId) {}
+
+    @Override
+    public void onDisplayRemoved(int displayId) {
+        removePresentation(displayId, "display removed " + displayId);
+    }
+
+    @Override
+    public void onDisplayChanged(int displayId) {}
 }
diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java
index f309372..e864ecf 100644
--- a/services/core/java/com/android/server/wm/RootWindowContainer.java
+++ b/services/core/java/com/android/server/wm/RootWindowContainer.java
@@ -2794,13 +2794,7 @@
         }
 
         startHomeOnDisplay(mCurrentUser, reason, displayContent.getDisplayId());
-        if (enableDisplayContentModeManagement()) {
-            if (displayContent.isSystemDecorationsSupported()) {
-                displayContent.getDisplayPolicy().notifyDisplayAddSystemDecorations();
-            }
-        } else {
-            displayContent.getDisplayPolicy().notifyDisplayAddSystemDecorations();
-        }
+        displayContent.getDisplayPolicy().notifyDisplayAddSystemDecorations();
     }
 
     @Override
diff --git a/services/core/java/com/android/server/wm/Session.java b/services/core/java/com/android/server/wm/Session.java
index 8d198b2..3ed16db 100644
--- a/services/core/java/com/android/server/wm/Session.java
+++ b/services/core/java/com/android/server/wm/Session.java
@@ -737,6 +737,17 @@
         }
     }
 
+    @Override
+    public void updateAnimatingTypes(IWindow window, @InsetsType int animatingTypes) {
+        synchronized (mService.mGlobalLock) {
+            final WindowState win = mService.windowForClientLocked(this, window,
+                    false /* throwOnError */);
+            if (win != null) {
+                win.setAnimatingTypes(animatingTypes);
+            }
+        }
+    }
+
     void onWindowAdded(WindowState w) {
         if (mPackageName == null) {
             mPackageName = mProcess.mInfo.packageName;
@@ -1015,15 +1026,4 @@
             }
         }
     }
-
-    @Override
-    public void notifyInsetsAnimationRunningStateChanged(IWindow window, boolean running) {
-        synchronized (mService.mGlobalLock) {
-            final WindowState win = mService.windowForClientLocked(this, window,
-                    false /* throwOnError */);
-            if (win != null) {
-                win.notifyInsetsAnimationRunningStateChanged(running);
-            }
-        }
-    }
 }
diff --git a/services/core/java/com/android/server/wm/SnapshotController.java b/services/core/java/com/android/server/wm/SnapshotController.java
index 2664dcd..3a7222a 100644
--- a/services/core/java/com/android/server/wm/SnapshotController.java
+++ b/services/core/java/com/android/server/wm/SnapshotController.java
@@ -31,8 +31,6 @@
 import android.view.WindowManager;
 import android.window.TaskSnapshot;
 
-import com.android.window.flags.Flags;
-
 import java.io.PrintWriter;
 import java.util.ArrayList;
 
@@ -147,12 +145,6 @@
                 if (mOpenActivities.isEmpty()) {
                     return false;
                 }
-                // TODO (b/362183912) always capture activity snapshot will cause performance
-                //  regression, remove flag after ramp up
-                if (!Flags.deferPredictiveAnimationIfNoSnapshot()
-                        && Flags.alwaysCaptureActivitySnapshot()) {
-                    return true;
-                }
                 for (int i = mOpenActivities.size() - 1; i >= 0; --i) {
                     if (!mOpenActivities.get(i).mOptInOnBackInvoked) {
                         return false;
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index 6cd1336..22f0278 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -1846,9 +1846,9 @@
 
     private void updateAllowForceResizeOverride() {
         try {
-            mAllowForceResizeOverride = mAtmService.mContext.getPackageManager().getProperty(
+            mAllowForceResizeOverride = mAtmService.mContext.getPackageManager().getPropertyAsUser(
                     PROPERTY_COMPAT_ALLOW_RESIZEABLE_ACTIVITY_OVERRIDES,
-                    getBasePackageName()).getBoolean();
+                    getBasePackageName(), null /* className */, mUserId).getBoolean();
         } catch (PackageManager.NameNotFoundException e) {
             // Package not found or property not defined, reset to default value.
             mAllowForceResizeOverride = true;
@@ -2170,25 +2170,29 @@
 
     void adjustForMinimalTaskDimensions(@NonNull Rect bounds, @NonNull Rect previousBounds,
             @NonNull Configuration parentConfig) {
-        int minWidth = mMinWidth;
-        int minHeight = mMinHeight;
         // If the task has no requested minimal size, we'd like to enforce a minimal size
         // so that the user can not render the task fragment too small to manipulate. We don't need
         // to do this for the root pinned task as the bounds are controlled by the system.
-        if (!inPinnedWindowingMode()) {
-            // Use Display specific min sizes when there is one associated with this Task.
-            final int defaultMinSizeDp = mDisplayContent == null
-                    ? DEFAULT_MIN_TASK_SIZE_DP : mDisplayContent.mMinSizeOfResizeableTaskDp;
-            final float density = (float) parentConfig.densityDpi / DisplayMetrics.DENSITY_DEFAULT;
-            final int defaultMinSize = (int) (defaultMinSizeDp * density);
-
-            if (minWidth == INVALID_MIN_SIZE) {
-                minWidth = defaultMinSize;
-            }
-            if (minHeight == INVALID_MIN_SIZE) {
-                minHeight = defaultMinSize;
-            }
+        if (inPinnedWindowingMode()) {
+            Slog.i(TAG, "Skip adjustForMinimalTaskDimensions for pip task");
+            return;
         }
+
+        int minWidth = mMinWidth;
+        int minHeight = mMinHeight;
+        // Use Display specific min sizes when there is one associated with this Task.
+        final int defaultMinSizeDp = mDisplayContent == null
+                ? DEFAULT_MIN_TASK_SIZE_DP : mDisplayContent.mMinSizeOfResizeableTaskDp;
+        final float density = (float) parentConfig.densityDpi / DisplayMetrics.DENSITY_DEFAULT;
+        final int defaultMinSize = (int) (defaultMinSizeDp * density);
+
+        if (minWidth == INVALID_MIN_SIZE) {
+            minWidth = defaultMinSize;
+        }
+        if (minHeight == INVALID_MIN_SIZE) {
+            minHeight = defaultMinSize;
+        }
+
         if (bounds.isEmpty()) {
             // If inheriting parent bounds, check if parent bounds adhere to minimum size. If they
             // do, we can just skip.
@@ -3580,7 +3584,7 @@
                 & StartingWindowInfo.TYPE_PARAMETER_ACTIVITY_CREATED) != 0) {
             final WindowState topMainWin = getTopFullscreenMainWindow();
             if (topMainWin != null) {
-                info.mainWindowLayoutParams = topMainWin.getAttrs();
+                info.mainWindowLayoutParams = topMainWin.mAttrs;
                 info.requestedVisibleTypes = topMainWin.getRequestedVisibleTypes();
             }
         }
@@ -5685,10 +5689,6 @@
         return foundParentInTask;
     }
 
-    void removeLaunchTickMessages() {
-        forAllActivities(ActivityRecord::removeLaunchTickRunnable);
-    }
-
     private void updateTransitLocked(@WindowManager.TransitionType int transit,
             ActivityOptions options) {
         if (options != null) {
diff --git a/services/core/java/com/android/server/wm/TaskFragment.java b/services/core/java/com/android/server/wm/TaskFragment.java
index 80095b3..f95698a 100644
--- a/services/core/java/com/android/server/wm/TaskFragment.java
+++ b/services/core/java/com/android/server/wm/TaskFragment.java
@@ -1718,9 +1718,6 @@
                 next.setVisibility(true);
             }
 
-            // schedule launch ticks to collect information about slow apps.
-            next.startLaunchTickingLocked();
-
             ActivityRecord lastResumedActivity =
                     lastFocusedRootTask == null ? null
                             : lastFocusedRootTask.getTopResumedActivity();
@@ -2065,6 +2062,7 @@
 
         if (prev != null) {
             prev.setWillCloseOrEnterPip(false);
+            prev.supportsEnterPipOnTaskSwitch = false;
             final boolean wasStopping = prev.isState(STOPPING);
             prev.setState(PAUSED, "completePausedLocked");
             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 fd7d96a..3db1d50 100644
--- a/services/core/java/com/android/server/wm/Transition.java
+++ b/services/core/java/com/android/server/wm/Transition.java
@@ -77,6 +77,7 @@
 import static com.android.server.wm.WindowState.BLAST_TIMEOUT_DURATION;
 import static com.android.window.flags.Flags.enableDisplayFocusInShellTransitions;
 
+import android.annotation.ColorInt;
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
@@ -257,6 +258,12 @@
     /** Custom activity-level animation options and callbacks. */
     private AnimationOptions mOverrideOptions;
 
+    /**
+     * Custom background color
+     */
+    @ColorInt
+    private int mOverrideBackgroundColor;
+
     private IRemoteCallback mClientAnimationStartCallback = null;
     private IRemoteCallback mClientAnimationFinishCallback = null;
 
@@ -1011,6 +1018,13 @@
     }
 
     /**
+     * Set background color for collecting transition.
+     */
+    void setOverrideBackgroundColor(@ColorInt int backgroundColor) {
+        mOverrideBackgroundColor = backgroundColor;
+    }
+
+    /**
      * Call this when all known changes related to this transition have been applied. Until
      * all participants have finished drawing, the transition can still collect participants.
      *
@@ -2038,8 +2052,7 @@
             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());
+                changes.get(i).setBackgroundColor(mOverrideBackgroundColor);
             } else if (shouldApplyAnimOptionsToEmbeddedTf(container.asTaskFragment())) {
                 // We only override AnimationOptions because backgroundColor should be from
                 // TaskFragmentAnimationParams.
@@ -2495,7 +2508,12 @@
         sb.append(" id=" + mSyncId);
         sb.append(" type=" + transitTypeToString(mType));
         sb.append(" flags=0x" + Integer.toHexString(mFlags));
-        sb.append(" overrideAnimOptions=" + mOverrideOptions);
+        if (mOverrideOptions != null) {
+            sb.append(" overrideAnimOptions=" + mOverrideOptions);
+        }
+        if (mOverrideBackgroundColor != 0) {
+            sb.append(" overrideBackgroundColor=" + mOverrideBackgroundColor);
+        }
         if (!mChanges.isEmpty()) {
             sb.append(" c=[");
             for (int i = 0; i < mChanges.size(); i++) {
@@ -3006,9 +3024,7 @@
             final Rect parentBounds = parent.getBounds();
             change.setEndRelOffset(bounds.left - parentBounds.left,
                     bounds.top - parentBounds.top);
-            if (Flags.activityEmbeddingOverlayPresentationFlag()) {
-                change.setEndParentSize(parentBounds.width(), parentBounds.height());
-            }
+            change.setEndParentSize(parentBounds.width(), parentBounds.height());
             int endRotation = target.getWindowConfiguration().getRotation();
             if (activityRecord != null) {
                 // TODO(b/227427984): Shell needs to aware letterbox.
@@ -3059,18 +3075,14 @@
             AnimationOptions animOptions = null;
             if (activityRecord != null && animOptionsForActivityTransition != null) {
                 animOptions = animOptionsForActivityTransition;
-            } else if (Flags.activityEmbeddingOverlayPresentationFlag()
-                    && isEmbeddedTaskFragment) {
+            } else if (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 */);
+                            params.getCloseAnimationResId(), false /* overrideTaskTransition */);
                     animOptions.setUserId(taskFragment.getTask().mUserId);
                 }
             }
@@ -3332,14 +3344,14 @@
         if (mainWin == null) return ROTATION_ANIMATION_UNSPECIFIED;
         int anim = mainWin.getRotationAnimationHint();
         if (anim >= 0) return anim;
-        anim = mainWin.getAttrs().rotationAnimation;
+        anim = mainWin.mAttrs.rotationAnimation;
         if (anim != ROTATION_ANIMATION_SEAMLESS) return anim;
         if (mainWin != task.mDisplayContent.getDisplayPolicy().getTopFullscreenOpaqueWindow()
                 || !top.matchParentBounds()) {
             // At the moment, we only support seamless rotation if there is only one window showing.
             return ROTATION_ANIMATION_UNSPECIFIED;
         }
-        return mainWin.getAttrs().rotationAnimation;
+        return mainWin.mAttrs.rotationAnimation;
     }
 
     private void validateKeyguardOcclusion() {
@@ -3626,11 +3638,6 @@
             }
             final boolean nowVisible = wc.isVisibleRequested();
             if (nowVisible == mVisible) {
-                if (mRestoringTransientHide) {
-                    // The requested visibility has not changed for transient-hide containers, but
-                    // we are restoring them so we should considering them moving to front again
-                    return TRANSIT_TO_FRONT;
-                }
                 return TRANSIT_CHANGE;
             }
             if (mExistenceChanged) {
diff --git a/services/core/java/com/android/server/wm/TransitionController.java b/services/core/java/com/android/server/wm/TransitionController.java
index ba7f364..11c5c93 100644
--- a/services/core/java/com/android/server/wm/TransitionController.java
+++ b/services/core/java/com/android/server/wm/TransitionController.java
@@ -23,6 +23,7 @@
 
 import static com.android.server.wm.ActivityTaskManagerService.POWER_MODE_REASON_CHANGE_DISPLAY;
 
+import android.annotation.ColorInt;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.ActivityManager;
@@ -938,12 +939,19 @@
     }
 
     /** @see Transition#setOverrideAnimation */
-    void setOverrideAnimation(TransitionInfo.AnimationOptions options, ActivityRecord r,
-            @Nullable IRemoteCallback startCallback, @Nullable IRemoteCallback finishCallback) {
+    void setOverrideAnimation(@NonNull TransitionInfo.AnimationOptions options,
+            @NonNull ActivityRecord r, @Nullable IRemoteCallback startCallback,
+            @Nullable IRemoteCallback finishCallback) {
         if (mCollectingTransition == null) return;
         mCollectingTransition.setOverrideAnimation(options, r, startCallback, finishCallback);
     }
 
+    /** @see Transition#setOverrideBackgroundColor */
+    void setOverrideBackgroundColor(@ColorInt int backgroundColor) {
+        if (mCollectingTransition == null) return;
+        mCollectingTransition.setOverrideBackgroundColor(backgroundColor);
+    }
+
     void setNoAnimation(WindowContainer wc) {
         if (mCollectingTransition == null) return;
         mCollectingTransition.setNoAnimation(wc);
diff --git a/services/core/java/com/android/server/wm/WindowContainer.java b/services/core/java/com/android/server/wm/WindowContainer.java
index d0d2067..1c3510d 100644
--- a/services/core/java/com/android/server/wm/WindowContainer.java
+++ b/services/core/java/com/android/server/wm/WindowContainer.java
@@ -2007,6 +2007,11 @@
         return getActivity(r -> !r.finishing, true /* traverseTopToBottom */);
     }
 
+    ActivityRecord getTopMostVisibleFreeformActivity() {
+        return getActivity(r -> r.isVisibleRequested() && r.inFreeformWindowingMode(),
+                true /* traverseTopToBottom */);
+    }
+
     ActivityRecord getTopActivity(boolean includeFinishing, boolean includeOverlays) {
         // Break down into 4 calls to avoid object creation due to capturing input params.
         if (includeFinishing) {
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 8aed91b..28f2825 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -1583,14 +1583,18 @@
                 return WindowManagerGlobal.ADD_DUPLICATE_ADD;
             }
 
-            if (type == TYPE_PRIVATE_PRESENTATION && !displayContent.isPrivate()) {
+            if (type == TYPE_PRIVATE_PRESENTATION
+                    && !mPresentationController.canPresent(null /*win*/, displayContent, type,
+                    callingUid)) {
                 ProtoLog.w(WM_ERROR,
                         "Attempted to add private presentation window to a non-private display.  "
                                 + "Aborting.");
                 return WindowManagerGlobal.ADD_PERMISSION_DENIED;
             }
 
-            if (type == TYPE_PRESENTATION && !displayContent.getDisplay().isPublicPresentation()) {
+            if (type == TYPE_PRESENTATION
+                    && !mPresentationController.canPresent(null /*win*/, displayContent, type,
+                    callingUid)) {
                 ProtoLog.w(WM_ERROR,
                         "Attempted to add presentation window to a non-suitable display.  "
                                 + "Aborting.");
@@ -1830,7 +1834,8 @@
                 }
                 win.mTransitionController.collect(win.mToken);
                 res |= addWindowInner(win, displayPolicy, activity, displayContent, outInsetsState,
-                        outAttachedFrame, outActiveControls, client, outSizeCompatScale, attrs);
+                        outAttachedFrame, outActiveControls, client, outSizeCompatScale, attrs,
+                        callingUid);
                 // A presentation hides all activities behind on the same display.
                 win.mDisplayContent.ensureActivitiesVisible(/*starting=*/ null,
                         /*notifyClients=*/ true);
@@ -1841,7 +1846,8 @@
                 }
             } else {
                 res |= addWindowInner(win, displayPolicy, activity, displayContent, outInsetsState,
-                        outAttachedFrame, outActiveControls, client, outSizeCompatScale, attrs);
+                        outAttachedFrame, outActiveControls, client, outSizeCompatScale, attrs,
+                        callingUid);
             }
         }
 
@@ -1854,7 +1860,7 @@
             @NonNull ActivityRecord activity, @NonNull DisplayContent displayContent,
             @NonNull InsetsState outInsetsState, @NonNull Rect outAttachedFrame,
             @NonNull InsetsSourceControl.Array outActiveControls, @NonNull IWindow client,
-            @NonNull float[] outSizeCompatScale, @NonNull LayoutParams attrs) {
+            @NonNull float[] outSizeCompatScale, @NonNull LayoutParams attrs, int uid) {
         int res = 0;
         final int type = attrs.type;
         boolean imMayMove = true;
@@ -1869,7 +1875,7 @@
         } else if (type == TYPE_INPUT_METHOD
                 // IME window is always touchable.
                 // Ignore non-touchable windows e.g. Stylus InkWindow.java.
-                && (win.getAttrs().flags & FLAG_NOT_TOUCHABLE) == 0) {
+                && (win.mAttrs.flags & FLAG_NOT_TOUCHABLE) == 0) {
             displayContent.setInputMethodWindowLocked(win);
             imMayMove = false;
         } else if (type == TYPE_INPUT_METHOD_DIALOG) {
@@ -1971,7 +1977,7 @@
         outSizeCompatScale[0] = win.getCompatScaleForClient();
 
         if (res >= ADD_OKAY && win.isPresentation()) {
-            mPresentationController.onPresentationAdded(win);
+            mPresentationController.onPresentationAdded(win, uid);
         }
 
         return res;
@@ -4767,6 +4773,26 @@
         }
     }
 
+    @EnforcePermission(android.Manifest.permission.MANAGE_APP_TOKENS)
+    @Override
+    public void updateDisplayWindowAnimatingTypes(int displayId, @InsetsType int animatingTypes) {
+        updateDisplayWindowAnimatingTypes_enforcePermission();
+        if (android.view.inputmethod.Flags.reportAnimatingInsetsTypes()) {
+            final long origId = Binder.clearCallingIdentity();
+            try {
+                synchronized (mGlobalLock) {
+                    final DisplayContent dc = mRoot.getDisplayContent(displayId);
+                    if (dc == null || dc.mRemoteInsetsControlTarget == null) {
+                        return;
+                    }
+                    dc.mRemoteInsetsControlTarget.setAnimatingTypes(animatingTypes);
+                }
+            } finally {
+                Binder.restoreCallingIdentity(origId);
+            }
+        }
+    }
+
     @Override
     public int watchRotation(IRotationWatcher watcher, int displayId) {
         final DisplayContent displayContent;
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index bfedc90..3b7d312 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -736,6 +736,8 @@
 
     private @InsetsType int mRequestedVisibleTypes = WindowInsets.Type.defaultVisible();
 
+    private @InsetsType int mAnimatingTypes = 0;
+
     /**
      * Freeze the insets state in some cases that not necessarily keeps up-to-date to the client.
      * (e.g app exiting transition)
@@ -842,6 +844,27 @@
                 mRequestedVisibleTypes & ~mask | requestedVisibleTypes & mask);
     }
 
+    @Override
+    public @InsetsType int getAnimatingTypes() {
+        return mAnimatingTypes;
+    }
+
+    @Override
+    public void setAnimatingTypes(@InsetsType int animatingTypes) {
+        if (mAnimatingTypes != animatingTypes) {
+            if (Trace.isTagEnabled(TRACE_TAG_WINDOW_MANAGER)) {
+                Trace.instant(TRACE_TAG_WINDOW_MANAGER,
+                        TextUtils.formatSimple("%s: setAnimatingTypes(%s)",
+                                getName(),
+                                animatingTypes));
+            }
+            mInsetsAnimationRunning = animatingTypes != 0;
+            mWmService.scheduleAnimationLocked();
+
+            mAnimatingTypes = animatingTypes;
+        }
+    }
+
     /**
      * Set a freeze state for the window to ignore dispatching its insets state to the client.
      *
@@ -1412,10 +1435,6 @@
         return mWindowFrames.mParentFrame;
     }
 
-    WindowManager.LayoutParams getAttrs() {
-        return mAttrs;
-    }
-
     /** Retrieves the flags used to disable system UI functions. */
     int getDisableFlags() {
         return mDisableFlags;
@@ -2439,7 +2458,6 @@
                 mAnimatingExit = true;
                 mRemoveOnExit = true;
                 mToken.setVisibleRequested(false);
-                mWmService.mPresentationController.onPresentationRemoved(this);
                 // A presentation hides all activities behind on the same display.
                 mDisplayContent.ensureActivitiesVisible(/*starting=*/ null,
                         /*notifyClients=*/ true);
@@ -2660,7 +2678,7 @@
             // The client gave us a touchable region and so first
             // we calculate the untouchable region, then punch that out of our
             // expanded modal region.
-            mTmpRegion.set(0, 0, frame.right, frame.bottom);
+            mTmpRegion.set(0, 0, frame.width(), frame.height());
             mTmpRegion.op(mGivenTouchableRegion, Region.Op.DIFFERENCE);
             region.op(mTmpRegion, Region.Op.DIFFERENCE);
         }
@@ -5636,13 +5654,13 @@
 
     KeyInterceptionInfo getKeyInterceptionInfo() {
         if (mKeyInterceptionInfo == null
-                || mKeyInterceptionInfo.layoutParamsPrivateFlags != getAttrs().privateFlags
-                || mKeyInterceptionInfo.layoutParamsType != getAttrs().type
+                || mKeyInterceptionInfo.layoutParamsPrivateFlags != mAttrs.privateFlags
+                || mKeyInterceptionInfo.layoutParamsType != mAttrs.type
                 || mKeyInterceptionInfo.windowTitle != getWindowTag()
                 || mKeyInterceptionInfo.windowOwnerUid != getOwningUid()
-                || mKeyInterceptionInfo.inputFeaturesFlags != getAttrs().inputFeatures) {
-            mKeyInterceptionInfo = new KeyInterceptionInfo(getAttrs().type, getAttrs().privateFlags,
-                    getWindowTag().toString(), getOwningUid(), getAttrs().inputFeatures);
+                || mKeyInterceptionInfo.inputFeaturesFlags != mAttrs.inputFeatures) {
+            mKeyInterceptionInfo = new KeyInterceptionInfo(mAttrs.type, mAttrs.privateFlags,
+                    getWindowTag().toString(), getOwningUid(), mAttrs.inputFeatures);
         }
         return mKeyInterceptionInfo;
     }
@@ -5666,7 +5684,7 @@
         } else {
             outFrame.set(getParentFrame());
         }
-        outSurfaceInsets.set(getAttrs().surfaceInsets);
+        outSurfaceInsets.set(mAttrs.surfaceInsets);
         final InsetsState state = getInsetsStateWithVisibilityOverride();
         outInsets.set(state.calculateInsets(outFrame, systemBars(),
                 false /* ignoreVisibility */).toRect());
@@ -6083,17 +6101,6 @@
         mWmService.scheduleAnimationLocked();
     }
 
-    void notifyInsetsAnimationRunningStateChanged(boolean running) {
-        if (Trace.isTagEnabled(TRACE_TAG_WINDOW_MANAGER)) {
-            Trace.instant(TRACE_TAG_WINDOW_MANAGER,
-                    TextUtils.formatSimple("%s: notifyInsetsAnimationRunningStateChanged(%s)",
-                    getName(),
-                    Boolean.toString(running)));
-        }
-        mInsetsAnimationRunning = running;
-        mWmService.scheduleAnimationLocked();
-    }
-
     boolean isInsetsAnimationRunning() {
         return mInsetsAnimationRunning;
     }
diff --git a/services/core/java/com/android/server/wm/utils/OptPropFactory.java b/services/core/java/com/android/server/wm/utils/OptPropFactory.java
index 8201969b..753b1d5 100644
--- a/services/core/java/com/android/server/wm/utils/OptPropFactory.java
+++ b/services/core/java/com/android/server/wm/utils/OptPropFactory.java
@@ -21,6 +21,7 @@
 
 import android.annotation.IntDef;
 import android.annotation.NonNull;
+import android.annotation.UserIdInt;
 import android.content.pm.PackageManager;
 import android.util.Slog;
 
@@ -38,15 +39,20 @@
     @NonNull
     private final String mPackageName;
 
+    @UserIdInt
+    private final int mUserId;
+
     /**
      * Object responsible to handle optIn and optOut properties.
      *
      * @param packageManager The PackageManager reference
      * @param packageName    The name of the package.
      */
-    public OptPropFactory(@NonNull PackageManager packageManager, @NonNull String packageName) {
+    public OptPropFactory(@NonNull PackageManager packageManager, @NonNull String packageName,
+            @UserIdInt int userId) {
         mPackageManager = packageManager;
         mPackageName = packageName;
+        mUserId = userId;
     }
 
     /**
@@ -58,7 +64,8 @@
     @NonNull
     public OptProp create(@NonNull String propertyName) {
         return OptProp.create(
-                () -> mPackageManager.getProperty(propertyName, mPackageName).getBoolean(),
+                () -> mPackageManager.getPropertyAsUser(propertyName, mPackageName,
+                        null /* className */, mUserId).getBoolean(),
                 propertyName);
     }
 
@@ -73,7 +80,8 @@
     @NonNull
     public OptProp create(@NonNull String propertyName, @NonNull BooleanSupplier gateCondition) {
         return OptProp.create(
-                () -> mPackageManager.getProperty(propertyName, mPackageName).getBoolean(),
+                () -> mPackageManager.getPropertyAsUser(propertyName, mPackageName,
+                        null /* className */, mUserId).getBoolean(),
                 propertyName,
                 gateCondition);
     }
diff --git a/services/core/jni/BroadcastRadio/OWNERS b/services/core/jni/BroadcastRadio/OWNERS
index ea4421e..a993823 100644
--- a/services/core/jni/BroadcastRadio/OWNERS
+++ b/services/core/jni/BroadcastRadio/OWNERS
@@ -1,2 +1 @@
 twasilczyk@google.com
-randolphs@google.com
diff --git a/services/core/jni/stats/OWNERS b/services/core/jni/stats/OWNERS
index 2611e5b..8d87925 100644
--- a/services/core/jni/stats/OWNERS
+++ b/services/core/jni/stats/OWNERS
@@ -1,8 +1,6 @@
 jeffreyhuang@google.com
-jtnguyen@google.com
 muhammadq@google.com
 sharaieko@google.com
 singhtejinder@google.com
 tsaichristine@google.com
 yaochen@google.com
-yro@google.com
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index e158310..860b6fb 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -1814,7 +1814,7 @@
                 t.traceEnd();
             }
 
-            if (!isWatch && !isTv && !isAutomotive
+            if (!isWatch && !isTv && !isAutomotive && !isDesktop
                     && android.security.Flags.aapmApi()) {
                 t.traceBegin("StartAdvancedProtectionService");
                 mSystemServiceManager.startService(AdvancedProtectionService.Lifecycle.class);
diff --git a/services/musicrecognition/OWNERS b/services/musicrecognition/OWNERS
index 037b048..820be00 100644
--- a/services/musicrecognition/OWNERS
+++ b/services/musicrecognition/OWNERS
@@ -1,5 +1,4 @@
 # Bug component: 830636
 
 oni@google.com
-volnov@google.com
 
diff --git a/services/serial/OWNERS b/services/serial/OWNERS
new file mode 100644
index 0000000..89ce78e
--- /dev/null
+++ b/services/serial/OWNERS
@@ -0,0 +1 @@
+include /core/java/android/hardware/serial/OWNERS
\ No newline at end of file
diff --git a/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/AndroidTest.xml b/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/AndroidTest.xml
index 5fe5b23..d6a6853 100644
--- a/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/AndroidTest.xml
+++ b/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/AndroidTest.xml
@@ -18,6 +18,9 @@
     <option name="test-suite-tag" value="apct" />
     <option name="test-suite-tag" value="apct-instrumentation" />
 
+    <!-- Needed for reading the app files for the test artifacts -->
+    <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"/>
+
     <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
         <option name="cleanup-apks" value="true" />
         <option name="install-arg" value="-t" />
diff --git a/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/InputMethodServiceTest.java b/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/InputMethodServiceTest.java
index 6e16d29..2cd860a 100644
--- a/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/InputMethodServiceTest.java
+++ b/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/InputMethodServiceTest.java
@@ -1294,7 +1294,7 @@
         mInstrumentation.waitForIdleSync();
         final var postScreenshot = mInstrumentation.getUiAutomation().takeScreenshot();
         mDumpOnFailure.dumpOnFailure("post-getUiObject", postScreenshot);
-        assertWithMessage("UiObject with " + bySelector + " was found").that(uiObject).isNull();
+        assertWithMessage("UiObject with " + bySelector + " was found").that(uiObject).isNotNull();
         return uiObject;
     }
 
diff --git a/services/tests/mockingservicestests/src/com/android/server/alarm/AlarmManagerServiceTest.java b/services/tests/mockingservicestests/src/com/android/server/alarm/AlarmManagerServiceTest.java
index cb52f18..2a513ae 100644
--- a/services/tests/mockingservicestests/src/com/android/server/alarm/AlarmManagerServiceTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/alarm/AlarmManagerServiceTest.java
@@ -974,6 +974,41 @@
     }
 
     @Test
+    @EnableFlags(Flags.FLAG_ACQUIRE_WAKELOCK_BEFORE_SEND)
+    public void testWakelockReleasedWhenSendFails() throws Exception {
+        final long triggerTime = mNowElapsedTest + 5000;
+        final PendingIntent alarmPi = getNewMockPendingIntent();
+        setTestAlarm(ELAPSED_REALTIME_WAKEUP, triggerTime, alarmPi);
+
+        doThrow(new PendingIntent.CanceledException("test")).when(alarmPi).send(eq(mMockContext),
+                eq(0), any(Intent.class), any(), any(Handler.class), isNull(), any());
+
+        mNowElapsedTest = mTestTimer.getElapsed();
+        mTestTimer.expire();
+
+        final InOrder inOrder = Mockito.inOrder(mWakeLock);
+        inOrder.verify(mWakeLock).acquire();
+        inOrder.verify(mWakeLock).release();
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ACQUIRE_WAKELOCK_BEFORE_SEND)
+    public void testWakelockReleasedOnListenerException() throws Exception {
+        final long triggerTime = mNowElapsedTest + 5000;
+        final IAlarmListener listener = getNewListener(() -> {
+            throw new RuntimeException("test");
+        });
+        setTestAlarmWithListener(ELAPSED_REALTIME_WAKEUP, triggerTime, listener);
+
+        mNowElapsedTest = mTestTimer.getElapsed();
+        mTestTimer.expire();
+
+        final InOrder inOrder = Mockito.inOrder(mWakeLock);
+        inOrder.verify(mWakeLock).acquire();
+        inOrder.verify(mWakeLock).release();
+    }
+
+    @Test
     public void testMinFuturityCoreUid() {
         setDeviceConfigLong(KEY_MIN_FUTURITY, 10L);
         assertEquals(10, mService.mConstants.MIN_FUTURITY);
diff --git a/services/tests/mockingservicestests/src/com/android/server/am/BaseBroadcastQueueTest.java b/services/tests/mockingservicestests/src/com/android/server/am/BaseBroadcastQueueTest.java
index 5eb23a2..1286648 100644
--- a/services/tests/mockingservicestests/src/com/android/server/am/BaseBroadcastQueueTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/am/BaseBroadcastQueueTest.java
@@ -16,29 +16,43 @@
 
 package com.android.server.am;
 
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.doNothing;
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
+
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 
 import android.annotation.NonNull;
+import android.app.Activity;
+import android.app.ActivityManager;
+import android.app.AppGlobals;
+import android.app.AppOpsManager;
+import android.app.BackgroundStartPrivileges;
+import android.app.BroadcastOptions;
+import android.app.SystemServiceRegistry;
 import android.app.usage.UsageStatsManagerInternal;
 import android.content.ComponentName;
 import android.content.Context;
+import android.content.IIntentReceiver;
+import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.ActivityInfo;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.IPackageManager;
 import android.content.pm.PackageManagerInternal;
 import android.content.pm.ResolveInfo;
+import android.os.Bundle;
 import android.os.Handler;
 import android.os.HandlerThread;
 import android.os.TestLooperManager;
 import android.os.UserHandle;
+import android.permission.IPermissionManager;
+import android.permission.PermissionManager;
 import android.platform.test.flag.junit.CheckFlagsRule;
 import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 import android.platform.test.flag.junit.SetFlagsRule;
@@ -47,7 +61,6 @@
 
 import androidx.test.platform.app.InstrumentationRegistry;
 
-import com.android.dx.mockito.inline.extended.ExtendedMockito;
 import com.android.internal.util.FrameworkStatsLog;
 import com.android.modules.utils.testing.ExtendedMockitoRule;
 import com.android.server.AlarmManagerInternal;
@@ -55,6 +68,7 @@
 import com.android.server.LocalServices;
 import com.android.server.appop.AppOpsService;
 import com.android.server.compat.PlatformCompat;
+import com.android.server.firewall.IntentFirewall;
 import com.android.server.wm.ActivityTaskManagerService;
 
 import org.junit.Rule;
@@ -63,8 +77,11 @@
 import org.mockito.MockitoAnnotations;
 
 import java.io.File;
+import java.util.Collections;
+import java.util.List;
 import java.util.Objects;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.function.BiFunction;
 
 public abstract class BaseBroadcastQueueTest {
 
@@ -97,6 +114,8 @@
     public final ExtendedMockitoRule mExtendedMockitoRule = new ExtendedMockitoRule.Builder(this)
             .spyStatic(FrameworkStatsLog.class)
             .spyStatic(ProcessList.class)
+            .spyStatic(SystemServiceRegistry.class)
+            .mockStatic(AppGlobals.class)
             .build();
 
 
@@ -119,6 +138,16 @@
     ProcessList mProcessList;
     @Mock
     PlatformCompat mPlatformCompat;
+    @Mock
+    IntentFirewall mIntentFirewall;
+    @Mock
+    IPackageManager mIPackageManager;
+    @Mock
+    AppOpsManager mAppOpsManager;
+    @Mock
+    IPermissionManager mIPermissionManager;
+    @Mock
+    PermissionManager mPermissionManager;
 
     @Mock
     AppStartInfoTracker mAppStartInfoTracker;
@@ -167,22 +196,22 @@
             return getUidForPackage(invocation.getArgument(0));
         }).when(mPackageManagerInt).getPackageUid(any(), anyLong(), eq(UserHandle.USER_SYSTEM));
 
+        final Context spyContext = spy(mContext);
+        doReturn(mPermissionManager).when(spyContext).getSystemService(PermissionManager.class);
         final ActivityManagerService realAms = new ActivityManagerService(
-                new TestInjector(mContext), mServiceThreadRule.getThread());
+                new TestInjector(spyContext), mServiceThreadRule.getThread());
         realAms.mActivityTaskManager = new ActivityTaskManagerService(mContext);
         realAms.mActivityTaskManager.initialize(null, null, mContext.getMainLooper());
         realAms.mAtmInternal = spy(realAms.mActivityTaskManager.getAtmInternal());
         realAms.mOomAdjuster.mCachedAppOptimizer = mock(CachedAppOptimizer.class);
         realAms.mOomAdjuster = spy(realAms.mOomAdjuster);
-        ExtendedMockito.doNothing().when(() -> ProcessList.setOomAdj(anyInt(), anyInt(), anyInt()));
+        doNothing().when(() -> ProcessList.setOomAdj(anyInt(), anyInt(), anyInt()));
         realAms.mPackageManagerInt = mPackageManagerInt;
         realAms.mUsageStatsService = mUsageStatsManagerInt;
         realAms.mProcessesReady = true;
         mAms = spy(realAms);
 
-        mSkipPolicy = spy(new BroadcastSkipPolicy(mAms));
-        doReturn(null).when(mSkipPolicy).shouldSkipMessage(any(), any());
-        doReturn(false).when(mSkipPolicy).disallowBackgroundStart(any());
+        mSkipPolicy = createBroadcastSkipPolicy();
 
         doReturn(mAppStartInfoTracker).when(mProcessList).getAppStartInfoTracker();
 
@@ -198,6 +227,14 @@
         }
     }
 
+    public BroadcastSkipPolicy createBroadcastSkipPolicy() {
+        final BroadcastSkipPolicy skipPolicy = spy(new BroadcastSkipPolicy(mAms));
+        doReturn(null).when(skipPolicy).shouldSkipAtEnqueueMessage(any(), any());
+        doReturn(null).when(skipPolicy).shouldSkipMessage(any(), any());
+        doReturn(false).when(skipPolicy).disallowBackgroundStart(any());
+        return skipPolicy;
+    }
+
     static int getUidForPackage(@NonNull String packageName) {
         switch (packageName) {
             case PACKAGE_ANDROID: return android.os.Process.SYSTEM_UID;
@@ -240,6 +277,11 @@
         public BroadcastQueue getBroadcastQueue(ActivityManagerService service) {
             return null;
         }
+
+        @Override
+        public IntentFirewall getIntentFirewall() {
+            return mIntentFirewall;
+        }
     }
 
     abstract String getTag();
@@ -281,24 +323,35 @@
         ri.activityInfo.packageName = packageName;
         ri.activityInfo.processName = processName;
         ri.activityInfo.name = name;
+        ri.activityInfo.exported = true;
         ri.activityInfo.applicationInfo = makeApplicationInfo(packageName, processName, userId);
         return ri;
     }
 
+    // TODO: Reuse BroadcastQueueTest.makeActiveProcessRecord()
+    @SuppressWarnings("GuardedBy")
+    ProcessRecord makeProcessRecord(ApplicationInfo info) {
+        final ProcessRecord r = spy(new ProcessRecord(mAms, info, info.processName, info.uid));
+        r.setPid(mNextPid.incrementAndGet());
+        ProcessRecord.updateProcessRecordNodes(r);
+        return r;
+    }
+
     BroadcastFilter makeRegisteredReceiver(ProcessRecord app) {
         return makeRegisteredReceiver(app, 0);
     }
 
     BroadcastFilter makeRegisteredReceiver(ProcessRecord app, int priority) {
         final ReceiverList receiverList = mRegisteredReceivers.get(app.getPid());
-        return makeRegisteredReceiver(receiverList, priority);
+        return makeRegisteredReceiver(receiverList, priority, null);
     }
 
-    static BroadcastFilter makeRegisteredReceiver(ReceiverList receiverList, int priority) {
+    static BroadcastFilter makeRegisteredReceiver(ReceiverList receiverList, int priority,
+            String requiredPermission) {
         final IntentFilter filter = new IntentFilter();
         filter.setPriority(priority);
         final BroadcastFilter res = new BroadcastFilter(filter, receiverList,
-                receiverList.app.info.packageName, null, null, null, receiverList.uid,
+                receiverList.app.info.packageName, null, null, requiredPermission, receiverList.uid,
                 receiverList.userId, false, false, true, receiverList.app.info,
                 mock(PlatformCompat.class));
         receiverList.add(res);
@@ -313,4 +366,62 @@
     ArgumentMatcher<ApplicationInfo> appInfoEquals(int uid) {
         return test -> (test.uid == uid);
     }
+
+    static final class BroadcastRecordBuilder {
+        private BroadcastQueue mQueue = mock(BroadcastQueue.class);
+        private Intent mIntent = mock(Intent.class);
+        private ProcessRecord mProcessRecord = mock(ProcessRecord.class);
+        private String mCallerPackage;
+        private String mCallerFeatureId;
+        private int mCallingPid;
+        private int mCallingUid;
+        private boolean mCallerInstantApp;
+        private String mResolvedType;
+        private String[] mRequiredPermissions;
+        private String[] mExcludedPermissions;
+        private String[] mExcludedPackages;
+        private int mAppOp;
+        private BroadcastOptions mOptions = BroadcastOptions.makeBasic();
+        private List mReceivers = Collections.emptyList();
+        private ProcessRecord mResultToApp;
+        private IIntentReceiver mResultTo;
+        private int mResultCode = Activity.RESULT_OK;
+        private String mResultData;
+        private Bundle mResultExtras;
+        private boolean mSerialized;
+        private boolean mSticky;
+        private boolean mInitialSticky;
+        private int mUserId = UserHandle.USER_SYSTEM;
+        private BackgroundStartPrivileges mBackgroundStartPrivileges =
+                BackgroundStartPrivileges.NONE;
+        private boolean mTimeoutExempt;
+        private BiFunction<Integer, Bundle, Bundle> mFilterExtrasForReceiver;
+        private int mCallerAppProcState = ActivityManager.PROCESS_STATE_UNKNOWN;
+        private PlatformCompat mPlatformCompat = mock(PlatformCompat.class);
+
+        public BroadcastRecordBuilder setIntent(Intent intent) {
+            mIntent = intent;
+            return this;
+        }
+
+        public BroadcastRecordBuilder setRequiredPermissions(String[] requiredPermissions) {
+            mRequiredPermissions = requiredPermissions;
+            return this;
+        }
+
+        public BroadcastRecordBuilder setAppOp(int appOp) {
+            mAppOp = appOp;
+            return this;
+        }
+
+        public BroadcastRecord build() {
+            return new BroadcastRecord(mQueue, mIntent, mProcessRecord, mCallerPackage,
+                    mCallerFeatureId, mCallingPid, mCallingUid, mCallerInstantApp, mResolvedType,
+                    mRequiredPermissions, mExcludedPermissions, mExcludedPackages, mAppOp,
+                    mOptions, mReceivers, mResultToApp, mResultTo, mResultCode, mResultData,
+                    mResultExtras, mSerialized, mSticky, mInitialSticky, mUserId,
+                    mBackgroundStartPrivileges, mTimeoutExempt, mFilterExtrasForReceiver,
+                    mCallerAppProcState, mPlatformCompat);
+        }
+    }
 }
diff --git a/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueImplTest.java b/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueImplTest.java
index 409706b..b32ce49 100644
--- a/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueImplTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueImplTest.java
@@ -1803,6 +1803,46 @@
         assertEquals(ProcessList.SCHED_GROUP_DEFAULT, queue.getPreferredSchedulingGroupLocked());
     }
 
+    @SuppressWarnings("GuardedBy")
+    @DisableFlags(Flags.FLAG_AVOID_NOTE_OP_AT_ENQUEUE)
+    @Test
+    public void testSkipPolicy_atEnqueueTime_flagDisabled() throws Exception {
+        final Intent userPresent = new Intent(Intent.ACTION_USER_PRESENT);
+        final Object greenReceiver = makeManifestReceiver(PACKAGE_GREEN, CLASS_GREEN);
+        final Object redReceiver = makeManifestReceiver(PACKAGE_RED, CLASS_RED);
+
+        final BroadcastRecord userPresentRecord = makeBroadcastRecord(userPresent,
+                List.of(greenReceiver, redReceiver));
+
+        final Intent timeTick = new Intent(Intent.ACTION_TIME_TICK);
+        final BroadcastRecord timeTickRecord = makeBroadcastRecord(timeTick,
+                List.of(greenReceiver, redReceiver));
+
+        doAnswer(invocation -> {
+            final BroadcastRecord r = invocation.getArgument(0);
+            final Object o = invocation.getArgument(1);
+            if (userPresent.getAction().equals(r.intent.getAction())
+                    && isReceiverEquals(o, greenReceiver)) {
+                return "receiver skipped by test";
+            }
+            return null;
+        }).when(mSkipPolicy).shouldSkipMessage(any(BroadcastRecord.class), any());
+
+        mImpl.enqueueBroadcastLocked(userPresentRecord);
+        mImpl.enqueueBroadcastLocked(timeTickRecord);
+
+        final BroadcastProcessQueue greenQueue = mImpl.getProcessQueue(PACKAGE_GREEN,
+                getUidForPackage(PACKAGE_GREEN));
+        // There should be only one broadcast for green process as the other would have
+        // been skipped.
+        verifyPendingRecords(greenQueue, List.of(timeTick));
+        final BroadcastProcessQueue redQueue = mImpl.getProcessQueue(PACKAGE_RED,
+                getUidForPackage(PACKAGE_RED));
+        verifyPendingRecords(redQueue, List.of(userPresent, timeTick));
+    }
+
+    @SuppressWarnings("GuardedBy")
+    @EnableFlags(Flags.FLAG_AVOID_NOTE_OP_AT_ENQUEUE)
     @Test
     public void testSkipPolicy_atEnqueueTime() throws Exception {
         final Intent userPresent = new Intent(Intent.ACTION_USER_PRESENT);
@@ -1824,7 +1864,7 @@
                 return "receiver skipped by test";
             }
             return null;
-        }).when(mSkipPolicy).shouldSkipMessage(any(BroadcastRecord.class), any());
+        }).when(mSkipPolicy).shouldSkipAtEnqueueMessage(any(BroadcastRecord.class), any());
 
         mImpl.enqueueBroadcastLocked(userPresentRecord);
         mImpl.enqueueBroadcastLocked(timeTickRecord);
@@ -2270,19 +2310,11 @@
         assertFalse(mImpl.isProcessFreezable(greenProcess));
     }
 
-    // TODO: Reuse BroadcastQueueTest.makeActiveProcessRecord()
-    private ProcessRecord makeProcessRecord(ApplicationInfo info) {
-        final ProcessRecord r = spy(new ProcessRecord(mAms, info, info.processName, info.uid));
-        r.setPid(mNextPid.incrementAndGet());
-        ProcessRecord.updateProcessRecordNodes(r);
-        return r;
-    }
-
     BroadcastFilter makeRegisteredReceiver(ProcessRecord app, int priority) {
         final IIntentReceiver receiver = mock(IIntentReceiver.class);
         final ReceiverList receiverList = new ReceiverList(mAms, app, app.getPid(), app.info.uid,
                 UserHandle.getUserId(app.info.uid), receiver);
-        return makeRegisteredReceiver(receiverList, priority);
+        return makeRegisteredReceiver(receiverList, priority, null /* requiredPermission */);
     }
 
     private Intent createPackageChangedIntent(int uid, List<String> componentNameList) {
diff --git a/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueTest.java b/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueTest.java
index ad35b25..3a9c99d 100644
--- a/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueTest.java
@@ -2301,6 +2301,52 @@
     }
 
     /**
+     * Verify that we skip broadcasts at enqueue if {@link BroadcastSkipPolicy} decides it
+     * should be skipped.
+     */
+    @EnableFlags(Flags.FLAG_AVOID_NOTE_OP_AT_ENQUEUE)
+    @Test
+    public void testSkipPolicy_atEnqueueTime() throws Exception {
+        final ProcessRecord callerApp = makeActiveProcessRecord(PACKAGE_RED);
+        final ProcessRecord receiverGreenApp = makeActiveProcessRecord(PACKAGE_GREEN);
+        final ProcessRecord receiverBlueApp = makeActiveProcessRecord(PACKAGE_BLUE);
+
+        final Intent airplane = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
+        final Object greenReceiver = makeRegisteredReceiver(receiverGreenApp);
+        final Object blueReceiver = makeRegisteredReceiver(receiverBlueApp);
+        final Object yellowReceiver = makeManifestReceiver(PACKAGE_YELLOW, CLASS_YELLOW);
+        final Object orangeReceiver = makeManifestReceiver(PACKAGE_ORANGE, CLASS_ORANGE);
+
+        doAnswer(invocation -> {
+            final BroadcastRecord r = invocation.getArgument(0);
+            final Object o = invocation.getArgument(1);
+            if (airplane.getAction().equals(r.intent.getAction())
+                    && (isReceiverEquals(o, greenReceiver)
+                    || isReceiverEquals(o, orangeReceiver))) {
+                return "test skipped receiver";
+            }
+            return null;
+        }).when(mSkipPolicy).shouldSkipAtEnqueueMessage(any(BroadcastRecord.class), any());
+        enqueueBroadcast(makeBroadcastRecord(airplane, callerApp,
+                List.of(greenReceiver, blueReceiver, yellowReceiver, orangeReceiver)));
+
+        waitForIdle();
+        // Verify that only blue and yellow receiver apps received the broadcast.
+        verifyScheduleRegisteredReceiver(never(), receiverGreenApp, USER_SYSTEM);
+        verify(mSkipPolicy, never()).shouldSkipMessage(any(BroadcastRecord.class),
+                eq(greenReceiver));
+        verifyScheduleRegisteredReceiver(receiverBlueApp, airplane);
+        final ProcessRecord receiverYellowApp = mAms.getProcessRecordLocked(PACKAGE_YELLOW,
+                getUidForPackage(PACKAGE_YELLOW));
+        verifyScheduleReceiver(receiverYellowApp, airplane);
+        final ProcessRecord receiverOrangeApp = mAms.getProcessRecordLocked(PACKAGE_ORANGE,
+                getUidForPackage(PACKAGE_ORANGE));
+        assertNull(receiverOrangeApp);
+        verify(mSkipPolicy, never()).shouldSkipMessage(any(BroadcastRecord.class),
+                eq(orangeReceiver));
+    }
+
+    /**
      * Verify broadcasts to runtime receivers in cached processes are deferred
      * until that process leaves the cached state.
      */
diff --git a/services/tests/mockingservicestests/src/com/android/server/am/BroadcastSkipPolicyTest.java b/services/tests/mockingservicestests/src/com/android/server/am/BroadcastSkipPolicyTest.java
new file mode 100644
index 0000000..c8aad79e
--- /dev/null
+++ b/services/tests/mockingservicestests/src/com/android/server/am/BroadcastSkipPolicyTest.java
@@ -0,0 +1,305 @@
+/*
+ * 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.server.am;
+
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock;
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
+
+import static org.junit.Assert.assertNull;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.nullable;
+import static org.mockito.Mockito.never;
+
+import android.Manifest;
+import android.app.ActivityManager;
+import android.app.AppGlobals;
+import android.app.AppOpsManager;
+import android.content.IIntentReceiver;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.os.UserHandle;
+
+import androidx.test.filters.SmallTest;
+
+import org.junit.Before;
+import org.junit.Test;
+
+@SmallTest
+public class BroadcastSkipPolicyTest extends BaseBroadcastQueueTest {
+    private static final String TAG = "BroadcastSkipPolicyTest";
+
+    BroadcastSkipPolicy mBroadcastSkipPolicy;
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+        mBroadcastSkipPolicy = new BroadcastSkipPolicy(mAms);
+
+        doReturn(true).when(mIntentFirewall).checkBroadcast(any(Intent.class),
+                anyInt(), anyInt(), nullable(String.class), anyInt());
+
+        doReturn(mIPackageManager).when(AppGlobals::getPackageManager);
+        doReturn(true).when(mIPackageManager).isPackageAvailable(anyString(), anyInt());
+
+        doReturn(ActivityManager.APP_START_MODE_NORMAL).when(mAms).getAppStartModeLOSP(anyInt(),
+                anyString(), anyInt(), anyInt(), eq(true), eq(false), eq(false));
+
+        doReturn(mAppOpsManager).when(mAms).getAppOpsManager();
+        doReturn(AppOpsManager.MODE_ALLOWED).when(mAppOpsManager).checkOpNoThrow(anyString(),
+                anyInt(), anyString(), nullable(String.class));
+        doReturn(AppOpsManager.MODE_ALLOWED).when(mAppOpsManager).noteOpNoThrow(anyString(),
+                anyInt(), anyString(), nullable(String.class), anyString());
+
+        doReturn(mIPermissionManager).when(AppGlobals::getPermissionManager);
+        doReturn(PackageManager.PERMISSION_GRANTED).when(mIPermissionManager).checkUidPermission(
+                anyInt(), anyString(), anyInt());
+    }
+
+    @Override
+    public String getTag() {
+        return TAG;
+    }
+
+    @Override
+    public BroadcastSkipPolicy createBroadcastSkipPolicy() {
+        return new BroadcastSkipPolicy(mAms);
+    }
+
+    @Test
+    public void testShouldSkipMessage_withManifestRcvr_withCompPerm_invokesNoteOp() {
+        final BroadcastRecord record = new BroadcastRecordBuilder()
+                .setIntent(new Intent(Intent.ACTION_TIME_TICK))
+                .build();
+        final String msg = mBroadcastSkipPolicy.shouldSkipMessage(record,
+                makeManifestReceiverWithPermission(PACKAGE_GREEN, CLASS_GREEN,
+                        Manifest.permission.PACKAGE_USAGE_STATS));
+        assertNull(msg);
+        verify(mAppOpsManager).noteOpNoThrow(
+                eq(AppOpsManager.permissionToOp(Manifest.permission.PACKAGE_USAGE_STATS)),
+                eq(record.callingUid), eq(record.callerPackage), eq(record.callerFeatureId),
+                anyString());
+        verify(mAppOpsManager, never()).checkOpNoThrow(
+                anyString(), anyInt(), anyString(), nullable(String.class));
+    }
+
+    @Test
+    public void testShouldSkipMessage_withRegRcvr_withCompPerm_invokesNoteOp() {
+        final BroadcastRecord record = new BroadcastRecordBuilder()
+                .setIntent(new Intent(Intent.ACTION_TIME_TICK))
+                .build();
+        final ProcessRecord receiverApp = makeProcessRecord(makeApplicationInfo(PACKAGE_GREEN));
+        final String msg = mBroadcastSkipPolicy.shouldSkipMessage(record,
+                makeRegisteredReceiver(receiverApp, 0 /* priority */,
+                        Manifest.permission.PACKAGE_USAGE_STATS));
+        assertNull(msg);
+        verify(mAppOpsManager).noteOpNoThrow(
+                eq(AppOpsManager.permissionToOp(Manifest.permission.PACKAGE_USAGE_STATS)),
+                eq(record.callingUid), eq(record.callerPackage), eq(record.callerFeatureId),
+                anyString());
+        verify(mAppOpsManager, never()).checkOpNoThrow(
+                anyString(), anyInt(), anyString(), nullable(String.class));
+    }
+
+    @Test
+    public void testShouldSkipAtEnqueueMessage_withManifestRcvr_withCompPerm_invokesCheckOp() {
+        final BroadcastRecord record = new BroadcastRecordBuilder()
+                .setIntent(new Intent(Intent.ACTION_TIME_TICK))
+                .build();
+        final String msg = mBroadcastSkipPolicy.shouldSkipAtEnqueueMessage(record,
+                makeManifestReceiverWithPermission(PACKAGE_GREEN, CLASS_GREEN,
+                        Manifest.permission.PACKAGE_USAGE_STATS));
+        assertNull(msg);
+        verify(mAppOpsManager).checkOpNoThrow(
+                eq(AppOpsManager.permissionToOp(Manifest.permission.PACKAGE_USAGE_STATS)),
+                eq(record.callingUid), eq(record.callerPackage), eq(record.callerFeatureId));
+        verify(mAppOpsManager, never()).noteOpNoThrow(
+                anyString(), anyInt(), anyString(), nullable(String.class), anyString());
+    }
+
+    @Test
+    public void testShouldSkipAtEnqueueMessage_withRegRcvr_withCompPerm_invokesCheckOp() {
+        final BroadcastRecord record = new BroadcastRecordBuilder()
+                .setIntent(new Intent(Intent.ACTION_TIME_TICK))
+                .build();
+        final ProcessRecord receiverApp = makeProcessRecord(makeApplicationInfo(PACKAGE_GREEN));
+        final String msg = mBroadcastSkipPolicy.shouldSkipAtEnqueueMessage(record,
+                makeRegisteredReceiver(receiverApp, 0 /* priority */,
+                        Manifest.permission.PACKAGE_USAGE_STATS));
+        assertNull(msg);
+        verify(mAppOpsManager).checkOpNoThrow(
+                eq(AppOpsManager.permissionToOp(Manifest.permission.PACKAGE_USAGE_STATS)),
+                eq(record.callingUid), eq(record.callerPackage), eq(record.callerFeatureId));
+        verify(mAppOpsManager, never()).noteOpNoThrow(
+                anyString(), anyInt(), anyString(), nullable(String.class), anyString());
+    }
+
+    @Test
+    public void testShouldSkipMessage_withManifestRcvr_withAppOp_invokesNoteOp() {
+        final BroadcastRecord record = new BroadcastRecordBuilder()
+                .setIntent(new Intent(Intent.ACTION_TIME_TICK))
+                .setAppOp(AppOpsManager.permissionToOpCode(Manifest.permission.PACKAGE_USAGE_STATS))
+                .build();
+        final ResolveInfo receiver = makeManifestReceiver(PACKAGE_GREEN, CLASS_GREEN);
+        final String msg = mBroadcastSkipPolicy.shouldSkipMessage(record, receiver);
+        assertNull(msg);
+        verify(mAppOpsManager).noteOpNoThrow(
+                eq(AppOpsManager.permissionToOp(Manifest.permission.PACKAGE_USAGE_STATS)),
+                eq(receiver.activityInfo.applicationInfo.uid),
+                eq(receiver.activityInfo.packageName), nullable(String.class), anyString());
+        verify(mAppOpsManager, never()).checkOpNoThrow(
+                anyString(), anyInt(), anyString(), nullable(String.class));
+    }
+
+    @Test
+    public void testShouldSkipMessage_withRegRcvr_withAppOp_invokesNoteOp() {
+        final BroadcastRecord record = new BroadcastRecordBuilder()
+                .setIntent(new Intent(Intent.ACTION_TIME_TICK))
+                .setAppOp(AppOpsManager.permissionToOpCode(Manifest.permission.PACKAGE_USAGE_STATS))
+                .build();
+        final ProcessRecord receiverApp = makeProcessRecord(makeApplicationInfo(PACKAGE_GREEN));
+        final BroadcastFilter filter = makeRegisteredReceiver(receiverApp, 0 /* priority */,
+                null /* requiredPermission */);
+        final String msg = mBroadcastSkipPolicy.shouldSkipMessage(record, filter);
+        assertNull(msg);
+        verify(mAppOpsManager).noteOpNoThrow(
+                eq(AppOpsManager.permissionToOp(Manifest.permission.PACKAGE_USAGE_STATS)),
+                eq(filter.receiverList.uid),
+                eq(filter.packageName), nullable(String.class), anyString());
+        verify(mAppOpsManager, never()).checkOpNoThrow(
+                anyString(), anyInt(), anyString(), nullable(String.class));
+    }
+
+    @Test
+    public void testShouldSkipAtEnqueueMessage_withManifestRcvr_withAppOp_invokesCheckOp() {
+        final BroadcastRecord record = new BroadcastRecordBuilder()
+                .setIntent(new Intent(Intent.ACTION_TIME_TICK))
+                .setAppOp(AppOpsManager.permissionToOpCode(Manifest.permission.PACKAGE_USAGE_STATS))
+                .build();
+        final ResolveInfo receiver = makeManifestReceiver(PACKAGE_GREEN, CLASS_GREEN);
+        final String msg = mBroadcastSkipPolicy.shouldSkipAtEnqueueMessage(record, receiver);
+        assertNull(msg);
+        verify(mAppOpsManager).checkOpNoThrow(
+                eq(AppOpsManager.permissionToOp(Manifest.permission.PACKAGE_USAGE_STATS)),
+                eq(receiver.activityInfo.applicationInfo.uid),
+                eq(receiver.activityInfo.applicationInfo.packageName), nullable(String.class));
+        verify(mAppOpsManager, never()).noteOpNoThrow(
+                anyString(), anyInt(), anyString(), nullable(String.class), anyString());
+    }
+
+    @Test
+    public void testShouldSkipAtEnqueueMessage_withRegRcvr_withAppOp_invokesCheckOp() {
+        final BroadcastRecord record = new BroadcastRecordBuilder()
+                .setIntent(new Intent(Intent.ACTION_TIME_TICK))
+                .setAppOp(AppOpsManager.permissionToOpCode(Manifest.permission.PACKAGE_USAGE_STATS))
+                .build();
+        final ProcessRecord receiverApp = makeProcessRecord(makeApplicationInfo(PACKAGE_GREEN));
+        final BroadcastFilter filter = makeRegisteredReceiver(receiverApp, 0 /* priority */,
+                null /* requiredPermission */);
+        final String msg = mBroadcastSkipPolicy.shouldSkipAtEnqueueMessage(record, filter);
+        assertNull(msg);
+        verify(mAppOpsManager).checkOpNoThrow(
+                eq(AppOpsManager.permissionToOp(Manifest.permission.PACKAGE_USAGE_STATS)),
+                eq(filter.receiverList.uid),
+                eq(filter.packageName), nullable(String.class));
+        verify(mAppOpsManager, never()).noteOpNoThrow(
+                anyString(), anyInt(), anyString(), nullable(String.class), anyString());
+    }
+
+    @Test
+    public void testShouldSkipMessage_withManifestRcvr_withRequiredPerms_invokesNoteOp() {
+        final BroadcastRecord record = new BroadcastRecordBuilder()
+                .setIntent(new Intent(Intent.ACTION_TIME_TICK))
+                .setRequiredPermissions(new String[] {Manifest.permission.PACKAGE_USAGE_STATS})
+                .build();
+        final String msg = mBroadcastSkipPolicy.shouldSkipMessage(record,
+                makeManifestReceiver(PACKAGE_GREEN, CLASS_GREEN));
+        assertNull(msg);
+        verify(mPermissionManager).checkPermissionForDataDelivery(
+                eq(Manifest.permission.PACKAGE_USAGE_STATS), any(), anyString());
+        verify(mPermissionManager, never()).checkPermissionForPreflight(
+                eq(Manifest.permission.PACKAGE_USAGE_STATS), any());
+    }
+
+    @Test
+    public void testShouldSkipMessage_withRegRcvr_withRequiredPerms_invokesNoteOp() {
+        final BroadcastRecord record = new BroadcastRecordBuilder()
+                .setIntent(new Intent(Intent.ACTION_TIME_TICK))
+                .setRequiredPermissions(new String[] {Manifest.permission.PACKAGE_USAGE_STATS})
+                .build();
+        final ProcessRecord receiverApp = makeProcessRecord(makeApplicationInfo(PACKAGE_GREEN));
+        final String msg = mBroadcastSkipPolicy.shouldSkipMessage(record,
+                makeRegisteredReceiver(receiverApp, 0 /* priority */,
+                        null /* requiredPermission */));
+        assertNull(msg);
+        verify(mPermissionManager).checkPermissionForDataDelivery(
+                eq(Manifest.permission.PACKAGE_USAGE_STATS), any(), anyString());
+        verify(mPermissionManager, never()).checkPermissionForPreflight(
+                eq(Manifest.permission.PACKAGE_USAGE_STATS), any());
+    }
+
+    @Test
+    public void testShouldSkipAtEnqueueMessage_withManifestRcvr_withRequiredPerms_invokesCheckOp() {
+        final BroadcastRecord record = new BroadcastRecordBuilder()
+                .setIntent(new Intent(Intent.ACTION_TIME_TICK))
+                .setRequiredPermissions(new String[] {Manifest.permission.PACKAGE_USAGE_STATS})
+                .build();
+        final String msg = mBroadcastSkipPolicy.shouldSkipAtEnqueueMessage(record,
+                makeManifestReceiver(PACKAGE_GREEN, CLASS_GREEN));
+        assertNull(msg);
+        verify(mPermissionManager, never()).checkPermissionForDataDelivery(
+                eq(Manifest.permission.PACKAGE_USAGE_STATS), any(), anyString());
+        verify(mPermissionManager).checkPermissionForPreflight(
+                eq(Manifest.permission.PACKAGE_USAGE_STATS), any());
+    }
+
+    @Test
+    public void testShouldSkipAtEnqueueMessage_withRegRcvr_withRequiredPerms_invokesCheckOp() {
+        final BroadcastRecord record = new BroadcastRecordBuilder()
+                .setIntent(new Intent(Intent.ACTION_TIME_TICK))
+                .setRequiredPermissions(new String[] {Manifest.permission.PACKAGE_USAGE_STATS})
+                .build();
+        final ProcessRecord receiverApp = makeProcessRecord(makeApplicationInfo(PACKAGE_GREEN));
+        final String msg = mBroadcastSkipPolicy.shouldSkipAtEnqueueMessage(record,
+                makeRegisteredReceiver(receiverApp, 0 /* priority */,
+                        null /* requiredPermission */));
+        assertNull(msg);
+        verify(mPermissionManager, never()).checkPermissionForDataDelivery(
+                eq(Manifest.permission.PACKAGE_USAGE_STATS), any(), anyString());
+        verify(mPermissionManager).checkPermissionForPreflight(
+                eq(Manifest.permission.PACKAGE_USAGE_STATS), any());
+    }
+
+    private ResolveInfo makeManifestReceiverWithPermission(String packageName, String name,
+            String permission) {
+        final ResolveInfo resolveInfo = makeManifestReceiver(packageName, name);
+        resolveInfo.activityInfo.permission = permission;
+        return resolveInfo;
+    }
+
+    private BroadcastFilter makeRegisteredReceiver(ProcessRecord app, int priority,
+            String requiredPermission) {
+        final IIntentReceiver receiver = mock(IIntentReceiver.class);
+        final ReceiverList receiverList = new ReceiverList(mAms, app, app.getPid(), app.info.uid,
+                UserHandle.getUserId(app.info.uid), receiver);
+        return makeRegisteredReceiver(receiverList, priority, requiredPermission);
+    }
+}
diff --git a/services/tests/mockingservicestests/src/com/android/server/am/CachedAppOptimizerTest.java b/services/tests/mockingservicestests/src/com/android/server/am/CachedAppOptimizerTest.java
index 4b53f13..46bc70e 100644
--- a/services/tests/mockingservicestests/src/com/android/server/am/CachedAppOptimizerTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/am/CachedAppOptimizerTest.java
@@ -383,6 +383,12 @@
         // When we override new reasonable throttle values after init...
         mCountDown = new CountDownLatch(8);
         DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+                CachedAppOptimizer.KEY_COMPACT_THROTTLE_MIN_OOM_ADJ,
+                Long.toString(CachedAppOptimizer.DEFAULT_COMPACT_THROTTLE_MIN_OOM_ADJ + 1), false);
+        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+                CachedAppOptimizer.KEY_COMPACT_THROTTLE_MAX_OOM_ADJ,
+                Long.toString(CachedAppOptimizer.DEFAULT_COMPACT_THROTTLE_MAX_OOM_ADJ - 1), false);
+        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
                 CachedAppOptimizer.KEY_COMPACT_THROTTLE_1,
                 Long.toString(CachedAppOptimizer.DEFAULT_COMPACT_THROTTLE_1 + 1), false);
         DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
@@ -400,12 +406,6 @@
         DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
                 CachedAppOptimizer.KEY_COMPACT_THROTTLE_6,
                 Long.toString(CachedAppOptimizer.DEFAULT_COMPACT_THROTTLE_6 + 1), false);
-        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
-                CachedAppOptimizer.KEY_COMPACT_THROTTLE_MIN_OOM_ADJ,
-                Long.toString(CachedAppOptimizer.DEFAULT_COMPACT_THROTTLE_MIN_OOM_ADJ + 1), false);
-        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
-                CachedAppOptimizer.KEY_COMPACT_THROTTLE_MAX_OOM_ADJ,
-                Long.toString(CachedAppOptimizer.DEFAULT_COMPACT_THROTTLE_MAX_OOM_ADJ - 1), false);
         assertThat(mCountDown.await(7, TimeUnit.SECONDS)).isTrue();
 
         // Then those flags values are reflected in the compactor.
diff --git a/services/tests/mockingservicestests/src/com/android/server/job/controllers/QuotaControllerTest.java b/services/tests/mockingservicestests/src/com/android/server/job/controllers/QuotaControllerTest.java
index 4e4b3df..3e87943 100644
--- a/services/tests/mockingservicestests/src/com/android/server/job/controllers/QuotaControllerTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/job/controllers/QuotaControllerTest.java
@@ -2388,6 +2388,104 @@
         }
     }
 
+    @Test
+    @EnableFlags({Flags.FLAG_ADJUST_QUOTA_DEFAULT_CONSTANTS,
+            Flags.FLAG_ADDITIONAL_QUOTA_FOR_SYSTEM_INSTALLER})
+    public void testGetTimeUntilQuotaConsumedLocked_Installer() {
+        PackageInfo pi = new PackageInfo();
+        pi.packageName = SOURCE_PACKAGE;
+        pi.requestedPermissions = new String[]{Manifest.permission.INSTALL_PACKAGES};
+        pi.requestedPermissionsFlags = new int[]{PackageInfo.REQUESTED_PERMISSION_GRANTED};
+        pi.applicationInfo = new ApplicationInfo();
+        pi.applicationInfo.uid = mSourceUid;
+        doReturn(List.of(pi)).when(mPackageManager).getInstalledPackagesAsUser(anyInt(), anyInt());
+        doReturn(PackageManager.PERMISSION_GRANTED).when(mContext).checkPermission(
+                eq(Manifest.permission.INSTALL_PACKAGES), anyInt(), eq(mSourceUid));
+        mQuotaController.onSystemServicesReady();
+
+        final long now = JobSchedulerService.sElapsedRealtimeClock.millis();
+        // Close to RARE boundary.
+        mQuotaController.saveTimingSession(SOURCE_USER_ID, SOURCE_PACKAGE,
+                createTimingSession(
+                        now - (mQcConstants.WINDOW_SIZE_RARE_MS - 30 * SECOND_IN_MILLIS),
+                        90 * SECOND_IN_MILLIS, 5), false);
+        // Far away from FREQUENT boundary.
+        mQuotaController.saveTimingSession(SOURCE_USER_ID, SOURCE_PACKAGE,
+                createTimingSession(
+                        now - (mQcConstants.WINDOW_SIZE_FREQUENT_MS -  HOUR_IN_MILLIS),
+                        2 * MINUTE_IN_MILLIS, 5), false);
+        // Overlap WORKING_SET boundary.
+        mQuotaController.saveTimingSession(SOURCE_USER_ID, SOURCE_PACKAGE,
+                createTimingSession(
+                        now - (mQcConstants.WINDOW_SIZE_WORKING_MS + MINUTE_IN_MILLIS),
+                        2 * MINUTE_IN_MILLIS, 5), false);
+        // Close to ACTIVE boundary.
+        mQuotaController.saveTimingSession(SOURCE_USER_ID, SOURCE_PACKAGE,
+                createTimingSession(
+                        now - (mQcConstants.WINDOW_SIZE_ACTIVE_MS -  MINUTE_IN_MILLIS),
+                        2 * MINUTE_IN_MILLIS, 5), false);
+        // Close to EXEMPTED boundary.
+        mQuotaController.saveTimingSession(SOURCE_USER_ID, SOURCE_PACKAGE,
+                createTimingSession(
+                        now - (mQcConstants.WINDOW_SIZE_EXEMPTED_MS -  MINUTE_IN_MILLIS),
+                        2 * MINUTE_IN_MILLIS, 5), false);
+
+        // No additional quota for the system installer when the app is in RARE, FREQUENT,
+        // WORKING_SET or ACTIVE bucket.
+        setStandbyBucket(RARE_INDEX);
+        synchronized (mQuotaController.mLock) {
+            assertEquals(30 * SECOND_IN_MILLIS,
+                    mQuotaController.getRemainingExecutionTimeLocked(
+                            SOURCE_USER_ID, SOURCE_PACKAGE));
+            assertEquals(2 * MINUTE_IN_MILLIS,
+                    mQuotaController.getTimeUntilQuotaConsumedLocked(
+                            SOURCE_USER_ID, SOURCE_PACKAGE));
+        }
+
+        setStandbyBucket(FREQUENT_INDEX);
+        synchronized (mQuotaController.mLock) {
+            assertEquals(2 * MINUTE_IN_MILLIS,
+                    mQuotaController.getRemainingExecutionTimeLocked(
+                            SOURCE_USER_ID, SOURCE_PACKAGE));
+            assertEquals(2 * MINUTE_IN_MILLIS,
+                    mQuotaController.getTimeUntilQuotaConsumedLocked(
+                            SOURCE_USER_ID, SOURCE_PACKAGE));
+        }
+
+        setStandbyBucket(WORKING_INDEX);
+        synchronized (mQuotaController.mLock) {
+            assertEquals(5 * MINUTE_IN_MILLIS,
+                    mQuotaController.getRemainingExecutionTimeLocked(
+                            SOURCE_USER_ID, SOURCE_PACKAGE));
+            assertEquals(6 * MINUTE_IN_MILLIS,
+                    mQuotaController.getTimeUntilQuotaConsumedLocked(
+                            SOURCE_USER_ID, SOURCE_PACKAGE));
+        }
+
+        // ACTIVE window != allowed time.
+        setStandbyBucket(ACTIVE_INDEX);
+        synchronized (mQuotaController.mLock) {
+            assertEquals(6 * MINUTE_IN_MILLIS,
+                    mQuotaController.getRemainingExecutionTimeLocked(
+                            SOURCE_USER_ID, SOURCE_PACKAGE));
+            assertEquals(8 * MINUTE_IN_MILLIS,
+                    mQuotaController.getTimeUntilQuotaConsumedLocked(
+                            SOURCE_USER_ID, SOURCE_PACKAGE));
+        }
+
+        // Additional quota for the system installer when the app is in EXEMPTED bucket.
+        // EXEMPTED window == allowed time.
+        setStandbyBucket(EXEMPTED_INDEX);
+        synchronized (mQuotaController.mLock) {
+            assertEquals(18 * MINUTE_IN_MILLIS,
+                    mQuotaController.getRemainingExecutionTimeLocked(
+                            SOURCE_USER_ID, SOURCE_PACKAGE));
+            assertEquals(mQcConstants.MAX_EXECUTION_TIME_MS - 8 * MINUTE_IN_MILLIS,
+                    mQuotaController.getTimeUntilQuotaConsumedLocked(
+                            SOURCE_USER_ID, SOURCE_PACKAGE));
+        }
+    }
+
     /**
      * Test getTimeUntilQuotaConsumedLocked when the app is close to the max execution limit.
      */
@@ -4119,6 +4217,12 @@
         assertEquals(85 * SECOND_IN_MILLIS, mQuotaController.getEJRewardNotificationSeenMs());
         assertEquals(84 * SECOND_IN_MILLIS, mQuotaController.getEJGracePeriodTempAllowlistMs());
         assertEquals(83 * SECOND_IN_MILLIS, mQuotaController.getEJGracePeriodTopAppMs());
+
+        mSetFlagsRule.enableFlags(Flags.FLAG_ADDITIONAL_QUOTA_FOR_SYSTEM_INSTALLER);
+        setDeviceConfigLong(QcConstants.KEY_ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER_MS,
+                6 * MINUTE_IN_MILLIS);
+        assertEquals(6 * MINUTE_IN_MILLIS,
+                mQuotaController.getAllowedTimePeriodAdditionInstallerMs());
     }
 
     @Test
@@ -4222,6 +4326,13 @@
         assertEquals(0, mQuotaController.getEJGracePeriodTempAllowlistMs());
         assertEquals(0, mQuotaController.getEJGracePeriodTopAppMs());
 
+        mSetFlagsRule.enableFlags(Flags.FLAG_ADDITIONAL_QUOTA_FOR_SYSTEM_INSTALLER);
+        setDeviceConfigLong(QcConstants.KEY_ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER_MS,
+                -MINUTE_IN_MILLIS);
+        assertEquals(0,
+                mQuotaController.getAllowedTimePeriodAdditionInstallerMs());
+        mSetFlagsRule.disableFlags(Flags.FLAG_ADDITIONAL_QUOTA_FOR_SYSTEM_INSTALLER);
+
         // Invalid configurations.
         // In_QUOTA_BUFFER should never be greater than ALLOWED_TIME_PER_PERIOD
         setDeviceConfigLong(QcConstants.KEY_ALLOWED_TIME_PER_PERIOD_EXEMPTED_MS,
@@ -4237,9 +4348,18 @@
                 10 * MINUTE_IN_MILLIS);
         setDeviceConfigLong(QcConstants.KEY_IN_QUOTA_BUFFER_MS, 5 * MINUTE_IN_MILLIS);
 
-        assertTrue(mQuotaController.getInQuotaBufferMs()
+        assertTrue(mQuotaController.getAllowedTimePeriodAdditionInstallerMs()
                 <= mQuotaController.getAllowedTimePerPeriodMs()[FREQUENT_INDEX]);
 
+        mSetFlagsRule.enableFlags(Flags.FLAG_ADDITIONAL_QUOTA_FOR_SYSTEM_INSTALLER);
+        // ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER should never be greater than
+        // ALLOWED_TIME_PER_PERIOD.
+        setDeviceConfigLong(QcConstants.KEY_ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER_MS,
+                 15 * MINUTE_IN_MILLIS);
+        assertTrue(mQuotaController.getInQuotaBufferMs()
+                <= mQuotaController.getAllowedTimePerPeriodMs()[EXEMPTED_INDEX]);
+        mSetFlagsRule.disableFlags(Flags.FLAG_ADDITIONAL_QUOTA_FOR_SYSTEM_INSTALLER);
+
         // Test larger than a day. Controller should cap at one day.
         setDeviceConfigLong(QcConstants.KEY_ALLOWED_TIME_PER_PERIOD_EXEMPTED_MS,
                 25 * HOUR_IN_MILLIS);
@@ -4318,6 +4438,12 @@
         assertEquals(5 * MINUTE_IN_MILLIS, mQuotaController.getEJRewardNotificationSeenMs());
         assertEquals(HOUR_IN_MILLIS, mQuotaController.getEJGracePeriodTempAllowlistMs());
         assertEquals(HOUR_IN_MILLIS, mQuotaController.getEJGracePeriodTopAppMs());
+
+        mSetFlagsRule.enableFlags(Flags.FLAG_ADDITIONAL_QUOTA_FOR_SYSTEM_INSTALLER);
+        setDeviceConfigLong(QcConstants.KEY_ALLOWED_TIME_PER_PERIOD_ADDITION_INSTALLER_MS,
+                25 * HOUR_IN_MILLIS);
+        assertEquals(0, mQuotaController.getAllowedTimePeriodAdditionInstallerMs());
+        mSetFlagsRule.disableFlags(Flags.FLAG_ADDITIONAL_QUOTA_FOR_SYSTEM_INSTALLER);
     }
 
     /** Tests that TimingSessions aren't saved when the device is charging. */
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/wallpaper/WallpaperManagerServiceTests.java b/services/tests/mockingservicestests/src/com/android/server/wallpaper/WallpaperManagerServiceTests.java
index bada337..6b8ef88 100644
--- a/services/tests/mockingservicestests/src/com/android/server/wallpaper/WallpaperManagerServiceTests.java
+++ b/services/tests/mockingservicestests/src/com/android/server/wallpaper/WallpaperManagerServiceTests.java
@@ -64,7 +64,6 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ParceledListSlice;
 import android.content.pm.ServiceInfo;
-import android.content.res.Resources;
 import android.graphics.Color;
 import android.hardware.display.DisplayManager;
 import android.hardware.display.DisplayManager.DisplayListener;
@@ -95,6 +94,7 @@
 import com.android.modules.utils.TypedXmlPullParser;
 import com.android.modules.utils.TypedXmlSerializer;
 import com.android.server.LocalServices;
+import com.android.server.wm.DesktopModeHelper;
 import com.android.server.wm.WindowManagerInternal;
 
 import org.hamcrest.CoreMatchers;
@@ -155,8 +155,6 @@
 
     private IPackageManager mIpm = AppGlobals.getPackageManager();
 
-    private Resources mResources = sContext.getResources();
-
     @Mock
     private DisplayManager mDisplayManager;
 
@@ -178,6 +176,7 @@
                 .spyStatic(WallpaperUtils.class)
                 .spyStatic(LocalServices.class)
                 .spyStatic(WallpaperManager.class)
+                .spyStatic(DesktopModeHelper.class)
                 .startMocking();
 
         sWindowManagerInternal = mock(WindowManagerInternal.class);
@@ -246,6 +245,8 @@
             int userId = (invocation.getArgument(0));
             return getWallpaperTestDir(userId);
         }).when(() -> WallpaperUtils.getWallpaperDir(anyInt()));
+        ExtendedMockito.doAnswer(invocation -> true).when(
+                () -> DesktopModeHelper.isDeviceEligibleForDesktopMode(any()));
 
         sContext.addMockSystemService(DisplayManager.class, mDisplayManager);
 
@@ -257,10 +258,6 @@
         doReturn(displays).when(mDisplayManager).getDisplays();
 
         spyOn(mIpm);
-        spyOn(mResources);
-        doReturn(true).when(mResources).getBoolean(eq(R.bool.config_isDesktopModeSupported));
-        doReturn(true).when(mResources).getBoolean(
-                eq(R.bool.config_canInternalDisplayHostDesktops));
         mService = new TestWallpaperManagerService(sContext);
         spyOn(mService);
         mService.systemReady();
diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryStatsHistoryTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryStatsHistoryTest.java
index 8fad931..5165e34 100644
--- a/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryStatsHistoryTest.java
+++ b/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryStatsHistoryTest.java
@@ -456,6 +456,8 @@
     }
 
     private void fillActiveFile(BatteryStatsHistory history) {
+        awaitCompletion();      // Wait for BatteryHistoryDirectory.trim if necessary.
+
         // Create roughly 1K of history
         int initialSize = history.getHistoryUsedSize();
         while (history.getHistoryUsedSize() < initialSize + 1000) {
diff --git a/services/tests/servicestests/Android.bp b/services/tests/servicestests/Android.bp
index 009ce88..d702cae 100644
--- a/services/tests/servicestests/Android.bp
+++ b/services/tests/servicestests/Android.bp
@@ -33,9 +33,6 @@
         "test-apps/DisplayManagerTestApp/src/**/*.java",
     ],
 
-    kotlincflags: [
-        "-Werror",
-    ],
     static_libs: [
         "a11ychecker",
         "aatf",
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/autoclick/AutoclickControllerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/autoclick/AutoclickControllerTest.java
index 0745c68..17d8882 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/autoclick/AutoclickControllerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/autoclick/AutoclickControllerTest.java
@@ -41,6 +41,7 @@
 import android.view.WindowManager;
 import android.view.accessibility.AccessibilityManager;
 
+import com.android.internal.accessibility.util.AccessibilityUtils;
 import com.android.server.accessibility.AccessibilityTraceManager;
 
 import org.junit.After;
@@ -79,7 +80,9 @@
 
     @After
     public void tearDown() {
+        mController.onDestroy();
         mTestableLooper.processAllMessages();
+        TestableLooper.remove(this);
     }
 
     @Test
@@ -403,6 +406,133 @@
 
     @Test
     @EnableFlags(com.android.server.accessibility.Flags.FLAG_ENABLE_AUTOCLICK_INDICATOR)
+    public void onCursorAreaSizeSettingsChange_moveWithinCustomRadius_clickNotTriggered() {
+        // Move mouse to initialize autoclick panel before enabling ignore minor cursor movement.
+        injectFakeMouseActionHoverMoveEvent();
+        enableIgnoreMinorCursorMovement();
+
+        // Set a custom cursor area size.
+        int customSize = 250;
+        Settings.Secure.putIntForUser(mTestableContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_AUTOCLICK_CURSOR_AREA_SIZE,
+                customSize,
+                mTestableContext.getUserId());
+        mController.onChangeForTesting(/* selfChange= */ true,
+                Settings.Secure.getUriFor(
+                        Settings.Secure.ACCESSIBILITY_AUTOCLICK_CURSOR_AREA_SIZE));
+        assertThat(mController.mAutoclickIndicatorView.getRadiusForTesting()).isEqualTo(customSize);
+
+        // Move the mouse down, less than customSize radius so a click is not triggered.
+        float moveDownY = customSize - 25;
+        MotionEvent hoverMove = MotionEvent.obtain(
+                /* downTime= */ 0,
+                /* eventTime= */ 150,
+                /* action= */ MotionEvent.ACTION_HOVER_MOVE,
+                /* x= */ 0f,
+                /* y= */ moveDownY,
+                /* metaState= */ 0);
+        hoverMove.setSource(InputDevice.SOURCE_MOUSE);
+        mController.onMotionEvent(hoverMove, hoverMove, /* policyFlags= */ 0);
+        assertThat(mController.mClickScheduler.getIsActiveForTesting()).isFalse();
+    }
+
+    @Test
+    @EnableFlags(com.android.server.accessibility.Flags.FLAG_ENABLE_AUTOCLICK_INDICATOR)
+    public void onCursorAreaSizeSettingsChange_moveOutsideCustomRadius_clickTriggered() {
+        // Move mouse to initialize autoclick panel before enabling ignore minor cursor movement.
+        injectFakeMouseActionHoverMoveEvent();
+        enableIgnoreMinorCursorMovement();
+
+        // Set a custom cursor area size.
+        int customSize = 250;
+        Settings.Secure.putIntForUser(mTestableContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_AUTOCLICK_CURSOR_AREA_SIZE,
+                customSize,
+                mTestableContext.getUserId());
+        mController.onChangeForTesting(/* selfChange= */ true,
+                Settings.Secure.getUriFor(
+                        Settings.Secure.ACCESSIBILITY_AUTOCLICK_CURSOR_AREA_SIZE));
+        assertThat(mController.mAutoclickIndicatorView.getRadiusForTesting()).isEqualTo(customSize);
+
+        // Move the mouse right, greater than customSize radius so a click is triggered.
+        float moveRightX = customSize + 100;
+        MotionEvent hoverMove = MotionEvent.obtain(
+                /* downTime= */ 0,
+                /* eventTime= */ 200,
+                /* action= */ MotionEvent.ACTION_HOVER_MOVE,
+                /* x= */ moveRightX,
+                /* y= */ 0,
+                /* metaState= */ 0);
+        hoverMove.setSource(InputDevice.SOURCE_MOUSE);
+        mController.onMotionEvent(hoverMove, hoverMove, /* policyFlags= */ 0);
+        assertThat(mController.mClickScheduler.getIsActiveForTesting()).isTrue();
+    }
+
+    @Test
+    @EnableFlags(com.android.server.accessibility.Flags.FLAG_ENABLE_AUTOCLICK_INDICATOR)
+    public void onIgnoreCursorMovementFromSettingsChange_clickTriggered() {
+        // Send initial mouse movement.
+        injectFakeMouseActionHoverMoveEvent();
+
+        // Set a custom cursor area size.
+        int customSize = 250;
+        Settings.Secure.putIntForUser(mTestableContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_AUTOCLICK_CURSOR_AREA_SIZE,
+                customSize,
+                mTestableContext.getUserId());
+        mController.onChangeForTesting(/* selfChange= */ true,
+                Settings.Secure.getUriFor(
+                        Settings.Secure.ACCESSIBILITY_AUTOCLICK_CURSOR_AREA_SIZE));
+
+        // Move the mouse down less than customSize radius but ignore custom movement is not enabled
+        // so a click is triggered.
+        float moveDownY = customSize - 100;
+        MotionEvent hoverMove = MotionEvent.obtain(
+                /* downTime= */ 0,
+                /* eventTime= */ 150,
+                /* action= */ MotionEvent.ACTION_HOVER_MOVE,
+                /* x= */ 0f,
+                /* y= */ moveDownY,
+                /* metaState= */ 0);
+        hoverMove.setSource(InputDevice.SOURCE_MOUSE);
+        mController.onMotionEvent(hoverMove, hoverMove, /* policyFlags= */ 0);
+        assertThat(mController.mClickScheduler.getIsActiveForTesting()).isTrue();
+    }
+
+    @Test
+    @EnableFlags(com.android.server.accessibility.Flags.FLAG_ENABLE_AUTOCLICK_INDICATOR)
+    public void onIgnoreCursorMovementFromSettingsChange_clickNotTriggered() {
+        // Move mouse to initialize autoclick panel before enabling ignore minor cursor movement.
+        injectFakeMouseActionHoverMoveEvent();
+        enableIgnoreMinorCursorMovement();
+
+        // Set a custom cursor area size.
+        int customSize = 250;
+        Settings.Secure.putIntForUser(mTestableContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_AUTOCLICK_CURSOR_AREA_SIZE,
+                customSize,
+                mTestableContext.getUserId());
+        mController.onChangeForTesting(/* selfChange= */ true,
+                Settings.Secure.getUriFor(
+                        Settings.Secure.ACCESSIBILITY_AUTOCLICK_CURSOR_AREA_SIZE));
+
+        // After enabling ignore custom movement, move the mouse right, less than customSize radius
+        // so a click won't be triggered.
+        float moveRightX = customSize - 100;
+        MotionEvent hoverMove = MotionEvent.obtain(
+                /* downTime= */ 0,
+                /* eventTime= */ 200,
+                /* action= */ MotionEvent.ACTION_HOVER_MOVE,
+                /* x= */ moveRightX,
+                /* y= */ 0,
+                /* metaState= */ 0);
+        hoverMove.setSource(InputDevice.SOURCE_MOUSE);
+        mController.onMotionEvent(hoverMove, hoverMove, /* policyFlags= */ 0);
+        assertThat(mController.mClickScheduler.getIsActiveForTesting()).isFalse();
+    }
+
+    @Test
+    @EnableFlags(com.android.server.accessibility.Flags.FLAG_ENABLE_AUTOCLICK_INDICATOR)
     public void pauseButton_flagOn_clickNotTriggeredWhenPaused() {
         injectFakeMouseActionHoverMoveEvent();
 
@@ -473,4 +603,14 @@
                 /* y= */ 0,
                 /* metaState= */ 0);
     }
+
+    private void enableIgnoreMinorCursorMovement() {
+        Settings.Secure.putIntForUser(mTestableContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_AUTOCLICK_IGNORE_MINOR_CURSOR_MOVEMENT,
+                AccessibilityUtils.State.ON,
+                mTestableContext.getUserId());
+        mController.onChangeForTesting(/* selfChange= */ true,
+                Settings.Secure.getUriFor(
+                        Settings.Secure.ACCESSIBILITY_AUTOCLICK_IGNORE_MINOR_CURSOR_MOVEMENT));
+    }
 }
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 c60c4b6..9e12340 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
@@ -16,6 +16,8 @@
 
 package com.android.server.accessibility.autoclick;
 
+import static android.provider.Settings.Secure.ACCESSIBILITY_AUTOCLICK_PANEL_POSITION;
+
 import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
 
 import static com.android.server.accessibility.autoclick.AutoclickTypePanel.AUTOCLICK_TYPE_LEFT_CLICK;
@@ -23,13 +25,16 @@
 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_LEFT;
 import static com.android.server.accessibility.autoclick.AutoclickTypePanel.CORNER_TOP_RIGHT;
 import static com.android.server.accessibility.autoclick.AutoclickTypePanel.ClickPanelControllerInterface;
+import static com.android.server.accessibility.autoclick.AutoclickTypePanel.POSITION_DELIMITER;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
 import android.graphics.drawable.GradientDrawable;
+import android.provider.Settings;
 import android.testing.AndroidTestingRunner;
 import android.testing.TestableContext;
 import android.testing.TestableLooper;
@@ -92,7 +97,8 @@
         mTestableContext.addMockSystemService(Context.WINDOW_SERVICE, mMockWindowManager);
 
         mAutoclickTypePanel =
-                new AutoclickTypePanel(mTestableContext, mMockWindowManager, clickPanelController);
+                new AutoclickTypePanel(mTestableContext, mMockWindowManager,
+                        mTestableContext.getUserId(), clickPanelController);
         View contentView = mAutoclickTypePanel.getContentViewForTesting();
         mLeftClickButton = contentView.findViewById(R.id.accessibility_autoclick_left_click_layout);
         mRightClickButton =
@@ -294,6 +300,96 @@
                 .isEqualTo(CORNER_BOTTOM_LEFT);
     }
 
+    @Test
+    public void restorePanelPosition_noSavedPosition_useDefault() {
+        // Given no saved position in Settings.
+        Settings.Secure.putString(mTestableContext.getContentResolver(),
+                ACCESSIBILITY_AUTOCLICK_PANEL_POSITION, null);
+
+        // Create panel which triggers position restoration internally.
+        AutoclickTypePanel panel = new AutoclickTypePanel(mTestableContext, mMockWindowManager,
+                mTestableContext.getUserId(),
+                clickPanelController);
+
+        // Verify panel is positioned at default bottom-right corner.
+        WindowManager.LayoutParams params = panel.getLayoutParamsForTesting();
+        assertThat(panel.getCurrentCornerIndexForTesting()).isEqualTo(CORNER_BOTTOM_RIGHT);
+        assertThat(params.gravity).isEqualTo(Gravity.END | Gravity.BOTTOM);
+        assertThat(params.x).isEqualTo(15);  // Default edge margin.
+        assertThat(params.y).isEqualTo(90);  // Default bottom offset.
+    }
+
+    @Test
+    public void restorePanelPosition_position_button() {
+        // Move panel to top-left by clicking position button twice.
+        mPositionButton.callOnClick();
+        mPositionButton.callOnClick();
+
+        // Hide panel to trigger position saving.
+        mAutoclickTypePanel.hide();
+
+        // Verify position is correctly saved in Settings.
+        String savedPosition = Settings.Secure.getStringForUser(
+                mTestableContext.getContentResolver(),
+                ACCESSIBILITY_AUTOCLICK_PANEL_POSITION, mTestableContext.getUserId());
+        String[] parts = savedPosition.split(POSITION_DELIMITER);
+        assertThat(parts).hasLength(4);
+        assertThat(Integer.parseInt(parts[0])).isEqualTo(Gravity.START | Gravity.TOP);
+        assertThat(Integer.parseInt(parts[1])).isEqualTo(15);
+        assertThat(Integer.parseInt(parts[2])).isEqualTo(30);
+        assertThat(Integer.parseInt(parts[3])).isEqualTo(CORNER_TOP_LEFT);
+
+        // Show panel to trigger position restoration.
+        mAutoclickTypePanel.show();
+
+        // Then verify position is restored correctly.
+        WindowManager.LayoutParams params = mAutoclickTypePanel.getLayoutParamsForTesting();
+        assertThat(params.gravity).isEqualTo(Gravity.START | Gravity.TOP);
+        assertThat(params.x).isEqualTo(15);
+        assertThat(params.y).isEqualTo(30);
+        assertThat(mAutoclickTypePanel.getCurrentCornerIndexForTesting()).isEqualTo(
+                CORNER_TOP_LEFT);
+    }
+
+    @Test
+    public void restorePanelPosition_dragToLeft() {
+        // Get initial panel position.
+        View contentView = mAutoclickTypePanel.getContentViewForTesting();
+        int[] panelLocation = new int[2];
+        contentView.getLocationOnScreen(panelLocation);
+
+        // Simulate drag from initial position to left side of screen.
+        int screenWidth = mTestableContext.getResources().getDisplayMetrics().widthPixels;
+        dispatchDragSequence(contentView,
+                /* startX =*/ panelLocation[0], /* startY =*/ panelLocation[1],
+                /* endX =*/ (float) screenWidth / 4, /* endY =*/ panelLocation[1] + 10);
+
+        // Hide panel to trigger position saving.
+        mAutoclickTypePanel.hide();
+
+        // Verify position is saved correctly.
+        String savedPosition = Settings.Secure.getStringForUser(
+                mTestableContext.getContentResolver(),
+                ACCESSIBILITY_AUTOCLICK_PANEL_POSITION, mTestableContext.getUserId());
+        String[] parts = savedPosition.split(POSITION_DELIMITER);
+        assertThat(parts).hasLength(4);
+        assertThat(Integer.parseInt(parts[0])).isEqualTo(Gravity.START | Gravity.TOP);
+        assertThat(Integer.parseInt(parts[1])).isEqualTo(15);
+        assertThat(Integer.parseInt(parts[2])).isEqualTo(panelLocation[1] + 10);
+        assertThat(Integer.parseInt(parts[3])).isEqualTo(CORNER_BOTTOM_LEFT);
+
+        // Show panel to trigger position restoration.
+        mAutoclickTypePanel.show();
+
+        // Then verify dragged position is restored.
+        WindowManager.LayoutParams params = mAutoclickTypePanel.getLayoutParamsForTesting();
+        assertThat(params.gravity).isEqualTo(Gravity.START | Gravity.TOP);
+        assertThat(params.x).isEqualTo(15); // PANEL_EDGE_MARGIN
+        assertThat(params.y).isEqualTo(panelLocation[1] + 10);
+        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) {
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/hdmi/ActiveSourceActionTest.java b/services/tests/servicestests/src/com/android/server/hdmi/ActiveSourceActionTest.java
index fcde405..c84cc00 100644
--- a/services/tests/servicestests/src/com/android/server/hdmi/ActiveSourceActionTest.java
+++ b/services/tests/servicestests/src/com/android/server/hdmi/ActiveSourceActionTest.java
@@ -60,6 +60,7 @@
     private TestLooper mTestLooper = new TestLooper();
     private ArrayList<HdmiCecLocalDevice> mLocalDevices = new ArrayList<>();
     private int mPhysicalAddress;
+    private boolean mIsPowerStandby;
 
     @Before
     public void setUp() throws Exception {
@@ -68,12 +69,13 @@
                         .hasSystemFeature(FEATURE_HDMI_CEC));
         mContextSpy = spy(new ContextWrapper(InstrumentationRegistry.getTargetContext()));
 
+        mIsPowerStandby = false;
         FakeAudioFramework audioFramework = new FakeAudioFramework();
         mHdmiControlService = new HdmiControlService(mContextSpy, Collections.emptyList(),
                 audioFramework.getAudioManager(), audioFramework.getAudioDeviceVolumeManager()) {
             @Override
             boolean isPowerStandby() {
-                return false;
+                return mIsPowerStandby;
             }
 
             @Override
@@ -151,4 +153,41 @@
         assertThat(playbackDevice.getActiveSource().physicalAddress).isEqualTo(mPhysicalAddress);
         assertThat(playbackDevice.isActiveSource()).isTrue();
     }
+
+    @Test
+    public void onActiveSourceLost_removePendingActiveSourceAction() {
+        HdmiCecLocalDevicePlayback playbackDevice = new HdmiCecLocalDevicePlayback(
+                mHdmiControlService);
+        playbackDevice.init();
+        mLocalDevices.add(playbackDevice);
+        mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC);
+        mIsPowerStandby = true;
+        mTestLooper.dispatchAll();
+
+        mNativeWrapper.clearResultMessages();
+        mTestLooper.dispatchAll();
+
+        int otherPlaybackLogicalAddress = playbackDevice.getDeviceInfo().getLogicalAddress()
+                == Constants.ADDR_PLAYBACK_2
+                ? Constants.ADDR_PLAYBACK_1 : Constants.ADDR_PLAYBACK_2;
+        HdmiCecMessage activeSourceFromOtherDevice =
+                HdmiCecMessageBuilder.buildActiveSource(
+                        otherPlaybackLogicalAddress, 0x2200);
+        HdmiCecMessage activeSourceFromDevice =
+                HdmiCecMessageBuilder.buildActiveSource(
+                        playbackDevice.getDeviceInfo().getLogicalAddress(), mPhysicalAddress);
+
+        HdmiCecFeatureAction action = new com.android.server.hdmi.ActiveSourceAction(
+                playbackDevice, ADDR_TV);
+        playbackDevice.addAndStartAction(action);
+        mTestLooper.dispatchAll();
+
+        assertThat(playbackDevice.getActions(ActiveSourceAction.class)).hasSize(1);
+        playbackDevice.handleActiveSource(activeSourceFromOtherDevice);
+        mTestLooper.dispatchAll();
+
+        // Action is removed
+        assertThat(playbackDevice.getActions(ActiveSourceAction.class)).hasSize(0);
+        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(activeSourceFromDevice);
+    }
 }
diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTvTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTvTest.java
index 563baac..b0ffebb 100644
--- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTvTest.java
+++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTvTest.java
@@ -2441,6 +2441,80 @@
         assertFalse(mWasCecDisabledOnStandbyByLowEnergyMode);
     }
 
+    @Test
+    public void sendSystemAudioModeRequest_sendsRequest_retry() throws Exception {
+        // Enable System Audio Control
+        mHdmiControlService.getHdmiCecConfig().setIntValue(
+                HdmiControlManager.CEC_SETTING_NAME_SYSTEM_AUDIO_CONTROL,
+                HdmiControlManager.SYSTEM_AUDIO_CONTROL_ENABLED);
+        mNativeWrapper.setPortConnectionStatus(1, true);
+
+        HdmiCecMessage reportPhysicalAddress =
+                HdmiCecMessageBuilder.buildReportPhysicalAddressCommand(
+                        ADDR_AUDIO_SYSTEM, 0x1000, HdmiDeviceInfo.DEVICE_AUDIO_SYSTEM);
+        HdmiCecMessage reportPowerStatus =
+                HdmiCecMessageBuilder.buildReportPowerStatus(ADDR_AUDIO_SYSTEM, ADDR_TV,
+                        HdmiControlManager.POWER_STATUS_STANDBY);
+        mNativeWrapper.onCecMessage(reportPhysicalAddress);
+        mNativeWrapper.onCecMessage(reportPowerStatus);
+        mTestLooper.dispatchAll();
+
+        mNativeWrapper.setMessageSendResult(Constants.MESSAGE_SYSTEM_AUDIO_MODE_REQUEST,
+                SendMessageResult.NACK);
+        mTestLooper.dispatchAll();
+
+        // Use SystemAudioAutoInitiationAction to trigger SystemAudioActionFromTv
+        HdmiCecFeatureAction systemAudioAutoInitiationAction =
+                new SystemAudioAutoInitiationAction(mHdmiCecLocalDeviceTv, ADDR_AUDIO_SYSTEM);
+        mHdmiCecLocalDeviceTv.addAndStartAction(systemAudioAutoInitiationAction);
+        HdmiCecMessage reportSystemAudioMode =
+                HdmiCecMessageBuilder.buildReportSystemAudioMode(
+                        ADDR_AUDIO_SYSTEM,
+                        mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(),
+                        true);
+        mHdmiControlService.handleCecCommand(reportSystemAudioMode);
+        mTestLooper.dispatchAll();
+
+        assertThat(mHdmiCecLocalDeviceTv.getActions(SystemAudioActionFromTv.class)).hasSize(1);
+    }
+
+    @Test
+    public void sendSystemAudioModeRequest_sendsRequest_return() throws Exception {
+        // Enable System Audio Control
+        mHdmiControlService.getHdmiCecConfig().setIntValue(
+                HdmiControlManager.CEC_SETTING_NAME_SYSTEM_AUDIO_CONTROL,
+                HdmiControlManager.SYSTEM_AUDIO_CONTROL_ENABLED);
+        mNativeWrapper.setPortConnectionStatus(1, true);
+
+        HdmiCecMessage reportPhysicalAddress =
+                HdmiCecMessageBuilder.buildReportPhysicalAddressCommand(
+                        ADDR_AUDIO_SYSTEM, 0x1000, HdmiDeviceInfo.DEVICE_AUDIO_SYSTEM);
+        HdmiCecMessage reportPowerStatus =
+                HdmiCecMessageBuilder.buildReportPowerStatus(ADDR_AUDIO_SYSTEM, ADDR_TV,
+                        HdmiControlManager.POWER_STATUS_STANDBY);
+        mNativeWrapper.onCecMessage(reportPhysicalAddress);
+        mNativeWrapper.onCecMessage(reportPowerStatus);
+        mTestLooper.dispatchAll();
+
+        mNativeWrapper.setMessageSendResult(Constants.MESSAGE_SYSTEM_AUDIO_MODE_REQUEST,
+                SendMessageResult.FAIL);
+        mTestLooper.dispatchAll();
+
+        // Use SystemAudioAutoInitiationAction to trigger SystemAudioActionFromTv
+        HdmiCecFeatureAction systemAudioAutoInitiationAction =
+                new SystemAudioAutoInitiationAction(mHdmiCecLocalDeviceTv, ADDR_AUDIO_SYSTEM);
+        mHdmiCecLocalDeviceTv.addAndStartAction(systemAudioAutoInitiationAction);
+        HdmiCecMessage reportSystemAudioMode =
+                HdmiCecMessageBuilder.buildReportSystemAudioMode(
+                        ADDR_AUDIO_SYSTEM,
+                        mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(),
+                        true);
+        mHdmiControlService.handleCecCommand(reportSystemAudioMode);
+        mTestLooper.dispatchAll();
+
+        assertThat(mHdmiCecLocalDeviceTv.getActions(SystemAudioActionFromTv.class)).hasSize(0);
+    }
+
     protected static class MockTvDevice extends HdmiCecLocalDeviceTv {
         MockTvDevice(HdmiControlService service) {
             super(service);
diff --git a/services/tests/servicestests/src/com/android/server/location/contexthub/ContextHubEndpointTest.java b/services/tests/servicestests/src/com/android/server/location/contexthub/ContextHubEndpointTest.java
index a4e77c0..1de864c 100644
--- a/services/tests/servicestests/src/com/android/server/location/contexthub/ContextHubEndpointTest.java
+++ b/services/tests/servicestests/src/com/android/server/location/contexthub/ContextHubEndpointTest.java
@@ -17,9 +17,9 @@
 package com.android.server.location.contexthub;
 
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.timeout;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -33,15 +33,21 @@
 import android.hardware.contexthub.IContextHubEndpoint;
 import android.hardware.contexthub.IContextHubEndpointCallback;
 import android.hardware.contexthub.IEndpointCommunication;
+import android.hardware.contexthub.Message;
 import android.hardware.contexthub.MessageDeliveryStatus;
 import android.hardware.contexthub.Reason;
+import android.hardware.location.IContextHubTransactionCallback;
+import android.hardware.location.NanoAppState;
 import android.os.Binder;
 import android.os.RemoteException;
 import android.platform.test.annotations.Presubmit;
-
+import android.util.Log;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.platform.app.InstrumentationRegistry;
 
+import java.util.Collections;
+import java.util.List;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -51,11 +57,11 @@
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 
-import java.util.Collections;
-
 @RunWith(AndroidJUnit4.class)
 @Presubmit
 public class ContextHubEndpointTest {
+    private static final String TAG = "ContextHubEndpointTest";
+
     private static final int SESSION_ID_RANGE = ContextHubEndpointManager.SERVICE_SESSION_RANGE;
     private static final int MIN_SESSION_ID = 0;
     private static final int MAX_SESSION_ID = MIN_SESSION_ID + SESSION_ID_RANGE - 1;
@@ -206,6 +212,68 @@
         assertThat(mEndpointManager.getNumAvailableSessions()).isEqualTo(SESSION_ID_RANGE);
     }
 
+    @Test
+    public void testMessageTransaction() throws RemoteException {
+        IContextHubEndpoint endpoint = registerExampleEndpoint();
+        testMessageTransactionInternal(endpoint, /* deliverMessageStatus= */ true);
+
+        unregisterExampleEndpoint(endpoint);
+    }
+
+    @Test
+    public void testMessageTransactionCleanupOnUnregistration() throws RemoteException {
+        IContextHubEndpoint endpoint = registerExampleEndpoint();
+        testMessageTransactionInternal(endpoint, /* deliverMessageStatus= */ false);
+
+        unregisterExampleEndpoint(endpoint);
+        assertThat(mTransactionManager.numReliableMessageTransactionPending()).isEqualTo(0);
+    }
+
+    /** A helper method to create a session and validates reliable message sending. */
+    private void testMessageTransactionInternal(
+            IContextHubEndpoint endpoint, boolean deliverMessageStatus) throws RemoteException {
+        HubEndpointInfo targetInfo =
+                new HubEndpointInfo(
+                        TARGET_ENDPOINT_NAME,
+                        TARGET_ENDPOINT_ID,
+                        ENDPOINT_PACKAGE_NAME,
+                        Collections.emptyList());
+        int sessionId = endpoint.openSession(targetInfo, /* serviceDescriptor= */ null);
+        mEndpointManager.onEndpointSessionOpenComplete(sessionId);
+
+        final int messageType = 1234;
+        HubMessage message =
+                new HubMessage.Builder(messageType, new byte[] {1, 2, 3, 4, 5})
+                        .setResponseRequired(true)
+                        .build();
+        IContextHubTransactionCallback callback =
+                new IContextHubTransactionCallback.Stub() {
+                    @Override
+                    public void onQueryResponse(int result, List<NanoAppState> nanoappList) {
+                        Log.i(TAG, "Received onQueryResponse callback, result=" + result);
+                    }
+
+                    @Override
+                    public void onTransactionComplete(int result) {
+                        Log.i(TAG, "Received onTransactionComplete callback, result=" + result);
+                    }
+                };
+        endpoint.sendMessage(sessionId, message, callback);
+        ArgumentCaptor<Message> messageCaptor = ArgumentCaptor.forClass(Message.class);
+        verify(mMockEndpointCommunications, timeout(1000))
+                .sendMessageToEndpoint(eq(sessionId), messageCaptor.capture());
+        Message halMessage = messageCaptor.getValue();
+        assertThat(halMessage.type).isEqualTo(message.getMessageType());
+        assertThat(halMessage.content).isEqualTo(message.getMessageBody());
+        assertThat(mTransactionManager.numReliableMessageTransactionPending()).isEqualTo(1);
+
+        if (deliverMessageStatus) {
+            mEndpointManager.onMessageDeliveryStatusReceived(
+                    sessionId, halMessage.sequenceNumber, ErrorCode.OK);
+            assertThat(mTransactionManager.numReliableMessageTransactionPending()).isEqualTo(0);
+        }
+    }
+
     private IContextHubEndpoint registerExampleEndpoint() throws RemoteException {
         HubEndpointInfo info =
                 new HubEndpointInfo(
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 d6de314..bbc2cb2 100644
--- a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java
+++ b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java
@@ -196,7 +196,7 @@
     /**
      * Test for the restoration from saved file.
      */
-    public void testInitializeFromSavedFile() {
+    public void disabled_testInitializeFromSavedFile() {
 
         mInjectedCurrentTimeMillis = START_TIME + 4 * INTERVAL + 50;
         assertResetTimes(START_TIME + 4 * INTERVAL, START_TIME + 5 * INTERVAL);
@@ -220,7 +220,7 @@
         // TODO Add various broken cases.
     }
 
-    public void testLoadConfig() {
+    public void disabled_testLoadConfig() {
         mService.updateConfigurationLocked(
                 ConfigConstants.KEY_RESET_INTERVAL_SEC + "=123,"
                         + ConfigConstants.KEY_MAX_SHORTCUTS + "=4,"
@@ -270,13 +270,13 @@
         assertEquals(MAX_UPDATES_PER_INTERVAL, mManager.getRemainingCallCount());
     }
 
-    public void testGetIconMaxDimensions() {
+    public void disabled_testGetIconMaxDimensions() {
         assertEquals(MAX_ICON_DIMENSION, mManager.getIconMaxWidth());
         assertEquals(MAX_ICON_DIMENSION, mManager.getIconMaxHeight());
     }
 
     /** Test for {@link android.content.pm.ShortcutManager#getRateLimitResetTime()} */
-    public void testGetRateLimitResetTime() {
+    public void disabled_testGetRateLimitResetTime() {
         assertEquals(START_TIME + INTERVAL, mManager.getRateLimitResetTime());
 
         mInjectedCurrentTimeMillis = START_TIME + 4 * INTERVAL + 50;
@@ -354,7 +354,7 @@
         });
     }
 
-    public void testAddDynamicShortcuts() {
+    public void disabled_testAddDynamicShortcuts() {
         setCaller(CALLING_PACKAGE_1, USER_10);
 
         final ShortcutInfo si1 = makeShortcut("shortcut1");
@@ -752,7 +752,7 @@
         });
     }
 
-    public void testDeleteDynamicShortcuts() {
+    public void disabled_testDeleteDynamicShortcuts() {
         final ShortcutInfo si1 = makeShortcut("shortcut1");
         final ShortcutInfo si2 = makeShortcut("shortcut2");
         final ShortcutInfo si3 = makeShortcut("shortcut3");
@@ -822,7 +822,7 @@
         assertEquals(1, mManager.getRemainingCallCount());
     }
 
-    public void testIcons() throws IOException {
+    public void disabled_testIcons() throws IOException {
         final Icon res32x32 = Icon.createWithResource(getTestContext(), R.drawable.black_32x32);
         final Icon res64x64 = Icon.createWithResource(getTestContext(), R.drawable.black_64x64);
         final Icon res512x512 = Icon.createWithResource(getTestContext(), R.drawable.black_512x512);
@@ -1228,7 +1228,7 @@
         return out.getFile();
     }
 
-    public void testOpenIconFileForWrite() throws IOException {
+    public void disabled_testOpenIconFileForWrite() throws IOException {
         mInjectedCurrentTimeMillis = 1000;
 
         final File p10_1_1 = openIconFileForWriteAndGetPath(10, CALLING_PACKAGE_1);
@@ -1618,7 +1618,7 @@
         assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_CACHED), "s1", "s2");
     }
 
-    public void testCachedShortcuts() {
+    public void disabled_testCachedShortcuts() {
         runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
             assertTrue(mManager.setDynamicShortcuts(list(makeShortcut("s1"),
                     makeLongLivedShortcut("s2"), makeLongLivedShortcut("s3"),
@@ -1999,7 +1999,7 @@
                 "s1", "s3");
     }
 
-    public void testGetShortcuts_shortcutKinds() throws Exception {
+    public void disabled_testGetShortcuts_shortcutKinds() throws Exception {
         // Create 3 manifest and 3 dynamic shortcuts
         addManifestShortcutResource(
                 new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
@@ -2110,7 +2110,7 @@
         });
     }
 
-    public void testGetShortcuts_resolveStrings() throws Exception {
+    public void disabled_testGetShortcuts_resolveStrings() throws Exception {
         runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
             ShortcutInfo si = new ShortcutInfo.Builder(mClientContext)
                     .setId("id")
@@ -2833,7 +2833,7 @@
         });
     }
 
-    public void testPinShortcutAndGetPinnedShortcuts_assistant() {
+    public void disabled_testPinShortcutAndGetPinnedShortcuts_assistant() {
         // Create some shortcuts.
         runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
             assertTrue(mManager.setDynamicShortcuts(list(
@@ -3613,7 +3613,7 @@
         // TODO Check extra, etc
     }
 
-    public void testLauncherCallback() throws Throwable {
+    public void disabled_testLauncherCallback() throws Throwable {
         // Disable throttling for this test.
         mService.updateConfigurationLocked(
                 ConfigConstants.KEY_MAX_UPDATES_PER_INTERVAL + "=99999999,"
@@ -3779,7 +3779,7 @@
                 .isEmpty();
     }
 
-    public void testLauncherCallback_crossProfile() throws Throwable {
+    public void disabled_testLauncherCallback_crossProfile() throws Throwable {
         prepareCrossProfileDataSet();
 
         final Handler h = new Handler(Looper.getMainLooper());
@@ -4060,7 +4060,7 @@
         // TODO Check all other fields
     }
 
-    public void testLoadCorruptedShortcuts() throws Exception {
+    public void disabled_testLoadCorruptedShortcuts() throws Exception {
         initService();
 
         addPackage("com.android.chrome", 0, 0);
@@ -4575,7 +4575,7 @@
         });
     }
 
-    public void testHandleGonePackage_crossProfile() {
+    public void disabled_testHandleGonePackage_crossProfile() {
         // Create some shortcuts.
         runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
             assertTrue(mManager.setDynamicShortcuts(list(
@@ -4910,7 +4910,7 @@
         checkCanRestoreTo(DISABLED_REASON_BACKUP_NOT_SUPPORTED, spi3, true, 10, true, "sig1");
     }
 
-    public void testHandlePackageDelete() {
+    public void disabled_testHandlePackageDelete() {
         checkHandlePackageDeleteInner((userId, packageName) -> {
             uninstallPackage(userId, packageName);
             mService.mPackageMonitor.onReceive(getTestContext(),
@@ -4918,7 +4918,7 @@
         });
     }
 
-    public void testHandlePackageDisable() {
+    public void disabled_testHandlePackageDisable() {
         checkHandlePackageDeleteInner((userId, packageName) -> {
             disablePackage(userId, packageName);
             mService.mPackageMonitor.onReceive(getTestContext(),
@@ -5050,7 +5050,7 @@
     }
 
     /** Almost ame as testHandlePackageDelete, except it doesn't uninstall packages. */
-    public void testHandlePackageClearData() {
+    public void disabled_testHandlePackageClearData() {
         final Icon bmp32x32 = Icon.createWithBitmap(BitmapFactory.decodeResource(
                 getTestContext().getResources(), R.drawable.black_32x32));
         setCaller(CALLING_PACKAGE_1, USER_10);
@@ -5126,7 +5126,7 @@
         assertTrue(bitmapDirectoryExists(CALLING_PACKAGE_3, USER_11));
     }
 
-    public void testHandlePackageClearData_manifestRepublished() {
+    public void disabled_testHandlePackageClearData_manifestRepublished() {
 
         mRunningUsers.put(USER_11, true);
 
@@ -5168,7 +5168,7 @@
         });
     }
 
-    public void testHandlePackageUpdate() throws Throwable {
+    public void disabled_testHandlePackageUpdate() throws Throwable {
         // Set up shortcuts and launchers.
 
         final Icon res32x32 = Icon.createWithResource(getTestContext(), R.drawable.black_32x32);
@@ -5342,7 +5342,7 @@
     /**
      * Test the case where an updated app has resource IDs changed.
      */
-    public void testHandlePackageUpdate_resIdChanged() throws Exception {
+    public void disabled_testHandlePackageUpdate_resIdChanged() throws Exception {
         final Icon icon1 = Icon.createWithResource(getTestContext(), /* res ID */ 1000);
         final Icon icon2 = Icon.createWithResource(getTestContext(), /* res ID */ 1001);
 
@@ -5417,7 +5417,7 @@
         });
     }
 
-    public void testHandlePackageUpdate_systemAppUpdate() {
+    public void disabled_testHandlePackageUpdate_systemAppUpdate() {
 
         // Package1 is a system app.  Package 2 is not a system app, so it's not scanned
         // in this test at all.
@@ -5523,7 +5523,7 @@
                 mService.getUserShortcutsLocked(USER_10).getLastAppScanOsFingerprint());
     }
 
-    public void testHandlePackageChanged() {
+    public void disabled_testHandlePackageChanged() {
         final ComponentName ACTIVITY1 = new ComponentName(CALLING_PACKAGE_1, "act1");
         final ComponentName ACTIVITY2 = new ComponentName(CALLING_PACKAGE_1, "act2");
 
@@ -5653,7 +5653,7 @@
         });
     }
 
-    public void testHandlePackageUpdate_activityNoLongerMain() throws Throwable {
+    public void disabled_testHandlePackageUpdate_activityNoLongerMain() throws Throwable {
         runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
             assertTrue(mManager.setDynamicShortcuts(list(
                     makeShortcutWithActivity("s1a",
@@ -5739,7 +5739,7 @@
      * - Unpinned dynamic shortcuts
      * - Bitmaps
      */
-    public void testBackupAndRestore() {
+    public void disabled_testBackupAndRestore() {
 
         assertFileNotExists("user-0/shortcut_dump/restore-0-start.txt");
         assertFileNotExists("user-0/shortcut_dump/restore-1-payload.xml");
@@ -5760,7 +5760,7 @@
         checkBackupAndRestore_success(/*firstRestore=*/ true);
     }
 
-    public void testBackupAndRestore_backupRestoreTwice() {
+    public void disabled_testBackupAndRestore_backupRestoreTwice() {
         prepareForBackupTest();
 
         checkBackupAndRestore_success(/*firstRestore=*/ true);
@@ -5776,7 +5776,7 @@
         checkBackupAndRestore_success(/*firstRestore=*/ false);
     }
 
-    public void testBackupAndRestore_restoreToNewVersion() {
+    public void disabled_testBackupAndRestore_restoreToNewVersion() {
         prepareForBackupTest();
 
         addPackage(CALLING_PACKAGE_1, CALLING_UID_1, 2);
@@ -5982,7 +5982,7 @@
         });
     }
 
-    public void testBackupAndRestore_publisherWrongSignature() {
+    public void disabled_testBackupAndRestore_publisherWrongSignature() {
         prepareForBackupTest();
 
         addPackage(CALLING_PACKAGE_1, CALLING_UID_1, 10, "sigx"); // different signature
@@ -5990,7 +5990,7 @@
         checkBackupAndRestore_publisherNotRestored(ShortcutInfo.DISABLED_REASON_SIGNATURE_MISMATCH);
     }
 
-    public void testBackupAndRestore_publisherNoLongerBackupTarget() {
+    public void disabled_testBackupAndRestore_publisherNoLongerBackupTarget() {
         prepareForBackupTest();
 
         updatePackageInfo(CALLING_PACKAGE_1,
@@ -6119,7 +6119,7 @@
         });
     }
 
-    public void testBackupAndRestore_launcherLowerVersion() {
+    public void disabled_testBackupAndRestore_launcherLowerVersion() {
         prepareForBackupTest();
 
         addPackage(LAUNCHER_1, LAUNCHER_UID_1, 0); // Lower version
@@ -6128,7 +6128,7 @@
         checkBackupAndRestore_success(/*firstRestore=*/ true);
     }
 
-    public void testBackupAndRestore_launcherWrongSignature() {
+    public void disabled_testBackupAndRestore_launcherWrongSignature() {
         prepareForBackupTest();
 
         addPackage(LAUNCHER_1, LAUNCHER_UID_1, 10, "sigx"); // different signature
@@ -6136,7 +6136,7 @@
         checkBackupAndRestore_launcherNotRestored(true);
     }
 
-    public void testBackupAndRestore_launcherNoLongerBackupTarget() {
+    public void disabled_testBackupAndRestore_launcherNoLongerBackupTarget() {
         prepareForBackupTest();
 
         updatePackageInfo(LAUNCHER_1,
@@ -6241,7 +6241,7 @@
         });
     }
 
-    public void testBackupAndRestore_launcherAndPackageNoLongerBackupTarget() {
+    public void disabled_testBackupAndRestore_launcherAndPackageNoLongerBackupTarget() {
         prepareForBackupTest();
 
         updatePackageInfo(CALLING_PACKAGE_1,
@@ -6339,7 +6339,7 @@
         });
     }
 
-    public void testBackupAndRestore_disabled() {
+    public void disabled_testBackupAndRestore_disabled() {
         prepareCrossProfileDataSet();
 
         // Before doing backup & restore, disable s1.
@@ -6404,7 +6404,7 @@
     }
 
 
-    public void testBackupAndRestore_manifestRePublished() {
+    public void disabled_testBackupAndRestore_manifestRePublished() {
         // Publish two manifest shortcuts.
         addManifestShortcutResource(
                 new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
@@ -6495,7 +6495,7 @@
      * logcat.
      * - if it has allowBackup=false, we don't touch any of the existing shortcuts.
      */
-    public void testBackupAndRestore_appAlreadyInstalledWhenRestored() {
+    public void disabled_testBackupAndRestore_appAlreadyInstalledWhenRestored() {
         // Pre-backup.  Same as testBackupAndRestore_manifestRePublished().
 
         // Publish two manifest shortcuts.
@@ -6620,7 +6620,7 @@
     /**
      * Test for restoring the pre-P backup format.
      */
-    public void testBackupAndRestore_api27format() throws Exception {
+    public void disabled_testBackupAndRestore_api27format() throws Exception {
         final byte[] payload = readTestAsset("shortcut/shortcut_api27_backup.xml").getBytes();
 
         addPackage(CALLING_PACKAGE_1, CALLING_UID_1, 10, "22222");
@@ -6861,7 +6861,7 @@
                         .getPackageUserId());
     }
 
-    public void testOnApplicationActive_permission() {
+    public void disabled_testOnApplicationActive_permission() {
         assertExpectException(SecurityException.class, "Missing permission", () ->
                 mManager.onApplicationActive(CALLING_PACKAGE_1, USER_10));
 
@@ -6870,7 +6870,7 @@
         mManager.onApplicationActive(CALLING_PACKAGE_1, USER_10);
     }
 
-    public void testGetShareTargets_permission() {
+    public void disabled_testGetShareTargets_permission() {
         addPackage(CHOOSER_ACTIVITY_PACKAGE, CHOOSER_ACTIVITY_UID, 10, "sig1");
         mInjectedChooserActivity =
                 ComponentName.createRelative(CHOOSER_ACTIVITY_PACKAGE, ".ChooserActivity");
@@ -6889,7 +6889,7 @@
         });
     }
 
-    public void testHasShareTargets_permission() {
+    public void disabled_testHasShareTargets_permission() {
         assertExpectException(SecurityException.class, "Missing permission", () ->
                 mManager.hasShareTargets(CALLING_PACKAGE_1));
 
@@ -6898,7 +6898,8 @@
         mManager.hasShareTargets(CALLING_PACKAGE_1);
     }
 
-    public void testisSharingShortcut_permission() throws IntentFilter.MalformedMimeTypeException {
+    public void disabled_testisSharingShortcut_permission()
+            throws IntentFilter.MalformedMimeTypeException {
         setCaller(LAUNCHER_1, USER_10);
 
         IntentFilter filter_any = new IntentFilter();
@@ -6919,12 +6920,12 @@
     }
 
     public void disabled_testDumpsys_withIcons() throws IOException {
-        testIcons();
+        disabled_testIcons();
         // Dump after having some icons.
         dumpsysOnLogcat("test1", /* force= */ true);
     }
 
-    public void testManifestShortcut_publishOnUnlockUser() {
+    public void disabled_testManifestShortcut_publishOnUnlockUser() {
         addManifestShortcutResource(
                 new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
                 R.xml.shortcut_1);
@@ -7138,7 +7139,7 @@
         assertNull(mService.getPackageShortcutForTest(LAUNCHER_1, USER_10));
     }
 
-    public void testManifestShortcut_publishOnBroadcast() {
+    public void disabled_testManifestShortcut_publishOnBroadcast() {
         // First, no packages are installed.
         uninstallPackage(USER_10, CALLING_PACKAGE_1);
         uninstallPackage(USER_10, CALLING_PACKAGE_2);
@@ -7394,7 +7395,7 @@
         });
     }
 
-    public void testManifestShortcuts_missingMandatoryFields() {
+    public void disabled_testManifestShortcuts_missingMandatoryFields() {
         // Start with no apps installed.
         uninstallPackage(USER_10, CALLING_PACKAGE_1);
         uninstallPackage(USER_10, CALLING_PACKAGE_2);
@@ -7463,7 +7464,7 @@
         });
     }
 
-    public void testManifestShortcuts_intentDefinitions() {
+    public void disabled_testManifestShortcuts_intentDefinitions() {
         addManifestShortcutResource(
                 new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
                 R.xml.shortcut_error_4);
@@ -7605,7 +7606,7 @@
         });
     }
 
-    public void testManifestShortcuts_checkAllFields() {
+    public void disabled_testManifestShortcuts_checkAllFields() {
         mService.handleUnlockUser(USER_10);
 
         // Package 1 updated, which has one valid manifest shortcut and one invalid.
@@ -7710,7 +7711,7 @@
         });
     }
 
-    public void testManifestShortcuts_localeChange() throws InterruptedException {
+    public void disabled_testManifestShortcuts_localeChange() throws InterruptedException {
         mService.handleUnlockUser(USER_10);
 
         // Package 1 updated, which has one valid manifest shortcut and one invalid.
@@ -7814,7 +7815,7 @@
         });
     }
 
-    public void testManifestShortcuts_updateAndDisabled_notPinned() {
+    public void disabled_testManifestShortcuts_updateAndDisabled_notPinned() {
         mService.handleUnlockUser(USER_10);
 
         // First, just publish a manifest shortcut.
@@ -7854,7 +7855,7 @@
         });
     }
 
-    public void testManifestShortcuts_updateAndDisabled_pinned() {
+    public void disabled_testManifestShortcuts_updateAndDisabled_pinned() {
         mService.handleUnlockUser(USER_10);
 
         // First, just publish a manifest shortcut.
@@ -7910,7 +7911,7 @@
         });
     }
 
-    public void testManifestShortcuts_duplicateInSingleActivity() {
+    public void disabled_testManifestShortcuts_duplicateInSingleActivity() {
         mService.handleUnlockUser(USER_10);
 
         // The XML has two shortcuts with the same ID.
@@ -7935,7 +7936,7 @@
         });
     }
 
-    public void testManifestShortcuts_duplicateInTwoActivities() {
+    public void disabled_testManifestShortcuts_duplicateInTwoActivities() {
         mService.handleUnlockUser(USER_10);
 
         // ShortcutActivity has shortcut ms1
@@ -7987,7 +7988,7 @@
     /**
      * Manifest shortcuts cannot override shortcuts that were published via the APIs.
      */
-    public void testManifestShortcuts_cannotOverrideNonManifest() {
+    public void disabled_testManifestShortcuts_cannotOverrideNonManifest() {
         mService.handleUnlockUser(USER_10);
 
         // Create a non-pinned dynamic shortcut and a non-dynamic pinned shortcut.
@@ -8060,7 +8061,7 @@
     /**
      * Make sure the APIs won't work on manifest shortcuts.
      */
-    public void testManifestShortcuts_immutable() {
+    public void disabled_testManifestShortcuts_immutable() {
         mService.handleUnlockUser(USER_10);
 
         // Create a non-pinned manifest shortcut, a pinned shortcut that was originally
@@ -8153,7 +8154,7 @@
     /**
      * Make sure the APIs won't work on manifest shortcuts.
      */
-    public void testManifestShortcuts_tooMany() {
+    public void disabled_testManifestShortcuts_tooMany() {
         // Change the max number of shortcuts.
         mService.updateConfigurationLocked(ConfigConstants.KEY_MAX_SHORTCUTS + "=3");
 
@@ -8172,7 +8173,7 @@
         });
     }
 
-    public void testMaxShortcutCount_set() {
+    public void disabled_testMaxShortcutCount_set() {
         // Change the max number of shortcuts.
         mService.updateConfigurationLocked(ConfigConstants.KEY_MAX_SHORTCUTS + "=3");
 
@@ -8253,7 +8254,7 @@
         });
     }
 
-    public void testMaxShortcutCount_add() {
+    public void disabled_testMaxShortcutCount_add() {
         // Change the max number of shortcuts.
         mService.updateConfigurationLocked(ConfigConstants.KEY_MAX_SHORTCUTS + "=3");
 
@@ -8380,7 +8381,7 @@
         });
     }
 
-    public void testMaxShortcutCount_update() {
+    public void disabled_testMaxShortcutCount_update() {
         // Change the max number of shortcuts.
         mService.updateConfigurationLocked(ConfigConstants.KEY_MAX_SHORTCUTS + "=3");
 
@@ -8625,7 +8626,7 @@
         });
     }
 
-    public void testIsForegroundDefaultLauncher_true() {
+    public void disabled_testIsForegroundDefaultLauncher_true() {
         // random uid in the USER_10 range.
         final int uid = 1000024;
 
@@ -8636,7 +8637,7 @@
     }
 
 
-    public void testIsForegroundDefaultLauncher_defaultButNotForeground() {
+    public void disabled_testIsForegroundDefaultLauncher_defaultButNotForeground() {
         // random uid in the USER_10 range.
         final int uid = 1000024;
 
@@ -8646,7 +8647,7 @@
         assertFalse(mInternal.isForegroundDefaultLauncher("default", uid));
     }
 
-    public void testIsForegroundDefaultLauncher_foregroundButNotDefault() {
+    public void disabled_testIsForegroundDefaultLauncher_foregroundButNotDefault() {
         // random uid in the USER_10 range.
         final int uid = 1000024;
 
@@ -8656,7 +8657,7 @@
         assertFalse(mInternal.isForegroundDefaultLauncher("another", uid));
     }
 
-    public void testParseShareTargetsFromManifest() {
+    public void disabled_testParseShareTargetsFromManifest() {
         // These values must exactly match the content of shortcuts_share_targets.xml resource
         List<ShareTargetInfo> expectedValues = new ArrayList<>();
         expectedValues.add(new ShareTargetInfo(
@@ -8774,7 +8775,7 @@
         }
     }
 
-    public void testIsSharingShortcut() throws IntentFilter.MalformedMimeTypeException {
+    public void disabled_testIsSharingShortcut() throws IntentFilter.MalformedMimeTypeException {
         addManifestShortcutResource(
                 new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
                 R.xml.shortcut_share_targets);
@@ -8824,7 +8825,7 @@
                 filter_any));
     }
 
-    public void testIsSharingShortcut_PinnedAndCachedOnlyShortcuts()
+    public void disabled_testIsSharingShortcut_PinnedAndCachedOnlyShortcuts()
             throws IntentFilter.MalformedMimeTypeException {
         addManifestShortcutResource(
                 new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
@@ -8881,7 +8882,7 @@
                 filter_any));
     }
 
-    public void testAddingShortcuts_ExcludesHiddenFromLauncherShortcuts() {
+    public void disabled_testAddingShortcuts_ExcludesHiddenFromLauncherShortcuts() {
         final ShortcutInfo s1 = makeShortcutExcludedFromLauncher("s1");
         final ShortcutInfo s2 = makeShortcutExcludedFromLauncher("s2");
         final ShortcutInfo s3 = makeShortcutExcludedFromLauncher("s3");
@@ -8915,7 +8916,7 @@
         });
     }
 
-    public void testPinHiddenShortcuts_ThrowsException() {
+    public void disabled_testPinHiddenShortcuts_ThrowsException() {
         runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
             assertThrown(IllegalArgumentException.class, () -> {
                 mManager.requestPinShortcut(makeShortcutExcludedFromLauncher("s1"), null);
diff --git a/services/tests/servicestests/src/com/android/server/pm/UserManagerServiceUserTypeTest.java b/services/tests/servicestests/src/com/android/server/pm/UserManagerServiceUserTypeTest.java
index 3047bcf..78a7e31 100644
--- a/services/tests/servicestests/src/com/android/server/pm/UserManagerServiceUserTypeTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/UserManagerServiceUserTypeTest.java
@@ -106,6 +106,7 @@
                 .setMaxAllowed(21)
                 .setBaseType(FLAG_PROFILE)
                 .setDefaultUserInfoPropertyFlags(FLAG_EPHEMERAL)
+                .setProfileParentRequired(true)
                 .setBadgeLabels(23, 24, 25)
                 .setBadgeColors(26, 27)
                 .setIconBadge(28)
@@ -125,6 +126,7 @@
         assertTrue(type.isEnabled());
         assertEquals(21, type.getMaxAllowed());
         assertEquals(FLAG_PROFILE | FLAG_EPHEMERAL, type.getDefaultUserInfoFlags());
+        assertTrue(type.isProfileParentRequired());
         assertEquals(28, type.getIconBadge());
         assertEquals(29, type.getBadgePlain());
         assertEquals(30, type.getBadgeNoBackground());
@@ -452,9 +454,10 @@
         assertTrue(aospType.getDefaultUserPropertiesReference().areItemsRestrictedOnHomeScreen());
 
         // userTypeOem1 should be created.
-        UserTypeDetails.Builder customType = builders.get(userTypeOem1);
-        assertNotNull(customType);
-        assertEquals(14, customType.createUserTypeDetails().getMaxAllowedPerParent());
+        assertNotNull(builders.get(userTypeOem1));
+        UserTypeDetails customType = builders.get(userTypeOem1).createUserTypeDetails();
+        assertEquals(14, customType.getMaxAllowedPerParent());
+        assertTrue(customType.isProfileParentRequired());
     }
 
     /** Tests {@link UserTypeFactory#customizeBuilders} for customizing a FULL user. */
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ConditionProvidersTest.java b/services/tests/uiservicestests/src/com/android/server/notification/ConditionProvidersTest.java
index b332331..6b989cb 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/ConditionProvidersTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/ConditionProvidersTest.java
@@ -38,6 +38,7 @@
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.service.notification.Condition;
 
+import com.android.internal.R;
 import com.android.server.UiServiceTestCase;
 
 import org.junit.Before;
@@ -46,6 +47,8 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import java.util.List;
+
 public class ConditionProvidersTest extends UiServiceTestCase {
 
     private ConditionProviders mProviders;
@@ -169,4 +172,15 @@
 
         assertTrue(mProviders.getApproved(userId, true).isEmpty());
     }
+
+    @Test
+    public void getDefaultDndAccessPackages_returnsPackages() {
+        mContext.getOrCreateTestableResources().addOverride(
+                R.string.config_defaultDndAccessPackages,
+                "com.example.a:com.example.b::::com.example.c");
+
+        List<String> packages = ConditionProviders.getDefaultDndAccessPackages(mContext);
+
+        assertThat(packages).containsExactly("com.example.a", "com.example.b", "com.example.c");
+    }
 }
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java b/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java
index 67e85ff..5dea44d 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java
@@ -4495,27 +4495,6 @@
     }
 
     @Test
-    public void testBubblePreference_sameVersionWithSAWPermission() throws Exception {
-        when(mAppOpsManager.noteOpNoThrow(eq(OP_SYSTEM_ALERT_WINDOW), anyInt(),
-                anyString(), eq(null), anyString())).thenReturn(MODE_ALLOWED);
-
-        final String xml = "<ranking version=\"4\">\n"
-                + "<package name=\"" + PKG_O + "\" uid=\"" + UID_O + "\">\n"
-                + "<channel id=\"someId\" name=\"hi\""
-                + " importance=\"3\"/>"
-                + "</package>"
-                + "</ranking>";
-        TypedXmlPullParser parser = Xml.newFastPullParser();
-        parser.setInput(new BufferedInputStream(new ByteArrayInputStream(xml.getBytes())),
-                null);
-        parser.nextTag();
-        mHelper.readXml(parser, false, UserHandle.USER_ALL);
-
-        assertEquals(BUBBLE_PREFERENCE_ALL, mHelper.getBubblePreference(PKG_O, UID_O));
-        assertEquals(0, mHelper.getAppLockedFields(PKG_O, UID_O));
-    }
-
-    @Test
     public void testBubblePreference_upgradeWithSAWThenUserOverride() throws Exception {
         when(mAppOpsManager.noteOpNoThrow(eq(OP_SYSTEM_ALERT_WINDOW), anyInt(),
                 anyString(), eq(null), anyString())).thenReturn(MODE_ALLOWED);
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ZenConfigTrimmerTest.java b/services/tests/uiservicestests/src/com/android/server/notification/ZenConfigTrimmerTest.java
new file mode 100644
index 0000000..154a905
--- /dev/null
+++ b/services/tests/uiservicestests/src/com/android/server/notification/ZenConfigTrimmerTest.java
@@ -0,0 +1,124 @@
+/*
+ * 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.server.notification;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.os.Parcel;
+import android.service.notification.ZenModeConfig;
+import android.service.notification.ZenModeConfig.ZenRule;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.internal.R;
+import com.android.server.UiServiceTestCase;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class ZenConfigTrimmerTest extends UiServiceTestCase {
+
+    private static final String TRUSTED_PACKAGE = "com.trust.me";
+    private static final int ONE_PERCENT = 1_500;
+
+    private ZenConfigTrimmer mTrimmer;
+
+    @Before
+    public void setUp() {
+        mContext.getOrCreateTestableResources().addOverride(
+                R.string.config_defaultDndAccessPackages, TRUSTED_PACKAGE);
+
+        mTrimmer = new ZenConfigTrimmer(mContext);
+    }
+
+    @Test
+    public void trimToMaximumSize_belowMax_untouched() {
+        ZenModeConfig config = new ZenModeConfig();
+        addZenRule(config, "1", "pkg1", 10 * ONE_PERCENT);
+        addZenRule(config, "2", "pkg1", 10 * ONE_PERCENT);
+        addZenRule(config, "3", "pkg1", 10 * ONE_PERCENT);
+        addZenRule(config, "4", "pkg2", 20 * ONE_PERCENT);
+        addZenRule(config, "5", "pkg2", 20 * ONE_PERCENT);
+
+        mTrimmer.trimToMaximumSize(config);
+
+        assertThat(config.automaticRules.keySet()).containsExactly("1", "2", "3", "4", "5");
+    }
+
+    @Test
+    public void trimToMaximumSize_exceedsMax_removesAllRulesOfLargestPackages() {
+        ZenModeConfig config = new ZenModeConfig();
+        addZenRule(config, "1", "pkg1", 10 * ONE_PERCENT);
+        addZenRule(config, "2", "pkg1", 10 * ONE_PERCENT);
+        addZenRule(config, "3", "pkg1", 10 * ONE_PERCENT);
+        addZenRule(config, "4", "pkg2", 20 * ONE_PERCENT);
+        addZenRule(config, "5", "pkg2", 20 * ONE_PERCENT);
+        addZenRule(config, "6", "pkg3", 35 * ONE_PERCENT);
+        addZenRule(config, "7", "pkg4", 38 * ONE_PERCENT);
+
+        mTrimmer.trimToMaximumSize(config);
+
+        assertThat(config.automaticRules.keySet()).containsExactly("1", "2", "3", "6");
+        assertThat(config.automaticRules.values().stream().map(r -> r.pkg).distinct())
+                .containsExactly("pkg1", "pkg3");
+    }
+
+    @Test
+    public void trimToMaximumSize_keepsRulesFromTrustedPackages() {
+        ZenModeConfig config = new ZenModeConfig();
+        addZenRule(config, "1", "pkg1", 10 * ONE_PERCENT);
+        addZenRule(config, "2", "pkg1", 10 * ONE_PERCENT);
+        addZenRule(config, "3", "pkg1", 10 * ONE_PERCENT);
+        addZenRule(config, "4", TRUSTED_PACKAGE, 60 * ONE_PERCENT);
+        addZenRule(config, "5", "pkg2", 20 * ONE_PERCENT);
+        addZenRule(config, "6", "pkg3", 35 * ONE_PERCENT);
+
+        mTrimmer.trimToMaximumSize(config);
+
+        assertThat(config.automaticRules.keySet()).containsExactly("4", "5");
+        assertThat(config.automaticRules.values().stream().map(r -> r.pkg).distinct())
+                .containsExactly(TRUSTED_PACKAGE, "pkg2");
+    }
+
+    /**
+     * Create a ZenRule that, when serialized to a Parcel, will take <em>approximately</em>
+     * {@code desiredSize} bytes (within 100 bytes). Try to make the tests not rely on a very tight
+     * fit.
+     */
+    private static void addZenRule(ZenModeConfig config, String id, String pkg, int desiredSize) {
+        ZenRule rule = new ZenRule();
+        rule.id = id;
+        rule.pkg = pkg;
+        config.automaticRules.put(id, rule);
+
+        // Make the ZenRule as large as desired. Not to the exact byte, because otherwise this
+        // test would have to be adjusted whenever we change the parceling of ZenRule in any way.
+        // (Still might need adjustment if we change the serialization _significantly_).
+        int nameLength = desiredSize - id.length() - pkg.length() - 232;
+        rule.name = "A".repeat(nameLength);
+
+        Parcel verification = Parcel.obtain();
+        try {
+            verification.writeParcelable(rule, 0);
+            assertThat(verification.dataSize()).isWithin(100).of(desiredSize);
+        } finally {
+            verification.recycle();
+        }
+    }
+}
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 f8387a4..51891ef 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java
@@ -90,6 +90,7 @@
 import static com.android.os.dnd.DNDProtoEnums.ROOT_CONFIG;
 import static com.android.os.dnd.DNDProtoEnums.STATE_ALLOW;
 import static com.android.os.dnd.DNDProtoEnums.STATE_DISALLOW;
+import static com.android.server.notification.Flags.FLAG_LIMIT_ZEN_CONFIG_SIZE;
 import static com.android.server.notification.Flags.FLAG_PREVENT_ZEN_DEVICE_EFFECTS_WHILE_DRIVING;
 import static com.android.server.notification.ZenModeEventLogger.ACTIVE_RULE_TYPE_MANUAL;
 import static com.android.server.notification.ZenModeHelper.RULE_LIMIT_PER_PACKAGE;
@@ -236,6 +237,7 @@
 @SmallTest
 @SuppressLint("GuardedBy") // It's ok for this test to access guarded methods from the service.
 @RunWith(ParameterizedAndroidJunit4.class)
+@EnableFlags(FLAG_LIMIT_ZEN_CONFIG_SIZE) // Should be parameterization, but off path does nothing.
 @TestableLooper.RunWithLooper
 public class ZenModeHelperTest extends UiServiceTestCase {
 
@@ -7480,6 +7482,45 @@
         assertThat(getZenRule(ruleId).lastActivation).isNull();
     }
 
+    @Test
+    @EnableFlags(FLAG_LIMIT_ZEN_CONFIG_SIZE)
+    public void addAutomaticZenRule_trimsConfiguration() {
+        mZenModeHelper.mConfig.automaticRules.clear();
+        AutomaticZenRule smallRule = new AutomaticZenRule.Builder("Reasonable", CONDITION_ID)
+                .setConfigurationActivity(new ComponentName(mPkg, "cls"))
+                .build();
+        AutomaticZenRule systemRule = new AutomaticZenRule.Builder("System", CONDITION_ID)
+                .setOwner(new ComponentName("android", "ScheduleConditionProvider"))
+                .build();
+
+        AutomaticZenRule bigRule = new AutomaticZenRule.Builder("Yuge", CONDITION_ID)
+                .setConfigurationActivity(new ComponentName("evil.package", "cls"))
+                .setTriggerDescription("0123456789".repeat(6000)) // ~60k bytes utf16.
+                .build();
+
+        String systemRuleId = mZenModeHelper.addAutomaticZenRule(UserHandle.CURRENT, "android",
+                systemRule, ORIGIN_SYSTEM, "add", SYSTEM_UID);
+        String smallRuleId = mZenModeHelper.addAutomaticZenRule(UserHandle.CURRENT, mPkg, smallRule,
+                ORIGIN_APP, "add", CUSTOM_PKG_UID);
+        String bigRuleId1 =  mZenModeHelper.addAutomaticZenRule(UserHandle.CURRENT, "evil.package",
+                bigRule, ORIGIN_APP, "add", CUSTOM_PKG_UID);
+        assertThat(mZenModeHelper.mConfig.automaticRules.keySet()).containsExactly(
+                systemRuleId, smallRuleId, bigRuleId1);
+
+        String bigRuleId2 =  mZenModeHelper.addAutomaticZenRule(UserHandle.CURRENT, "evil.package",
+                bigRule, ORIGIN_APP, "add", CUSTOM_PKG_UID);
+        assertThat(mZenModeHelper.mConfig.automaticRules.keySet()).containsExactly(
+                systemRuleId, smallRuleId, bigRuleId1, bigRuleId2);
+
+        // This should go over the threshold
+        String bigRuleId3 = mZenModeHelper.addAutomaticZenRule(UserHandle.CURRENT, "evil.package",
+                bigRule, ORIGIN_APP, "add", CUSTOM_PKG_UID);
+
+        // Rules from evil.package are gone.
+        assertThat(mZenModeHelper.mConfig.automaticRules.keySet()).containsExactly(
+                systemRuleId, smallRuleId);
+    }
+
     private static void addZenRule(ZenModeConfig config, String id, String ownerPkg, int zenMode,
             @Nullable ZenPolicy zenPolicy) {
         ZenRule rule = new ZenRule();
diff --git a/services/tests/vibrator/src/com/android/server/vibrator/VibratorManagerServiceTest.java b/services/tests/vibrator/src/com/android/server/vibrator/VibratorManagerServiceTest.java
index b248218..132a324 100644
--- a/services/tests/vibrator/src/com/android/server/vibrator/VibratorManagerServiceTest.java
+++ b/services/tests/vibrator/src/com/android/server/vibrator/VibratorManagerServiceTest.java
@@ -147,6 +147,9 @@
             new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_ALARM).build();
     private static final AudioAttributes AUDIO_NOTIFICATION_ATTRS =
             new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION).build();
+    private static final AudioAttributes AUDIO_HAPTIC_FEEDBACK_ATTRS =
+            new AudioAttributes.Builder().setUsage(
+                    AudioAttributes.USAGE_ASSISTANCE_SONIFICATION).build();
     private static final VibrationAttributes ALARM_ATTRS =
             new VibrationAttributes.Builder().setUsage(VibrationAttributes.USAGE_ALARM).build();
     private static final VibrationAttributes HAPTIC_FEEDBACK_ATTRS =
@@ -2674,7 +2677,8 @@
     }
 
     @Test
-    public void onExternalVibration_thenDeniedAppOps_doNotCancelVibration() throws Throwable {
+    @DisableFlags(android.os.vibrator.Flags.FLAG_FIX_EXTERNAL_VIBRATION_SYSTEM_UPDATE_AWARE)
+    public void onExternalVibration_legacyDeniedAppOps_doNotCancelVibration() throws Throwable {
         mockVibrators(1);
         mVibratorProviders.get(1).setCapabilities(IVibrator.CAP_EXTERNAL_CONTROL);
         VibratorManagerService service = createSystemReadyService();
@@ -2697,7 +2701,32 @@
     }
 
     @Test
-    public void onExternalVibration_thenPowerModeChanges_doNotCancelVibration() throws Exception {
+    @EnableFlags(android.os.vibrator.Flags.FLAG_FIX_EXTERNAL_VIBRATION_SYSTEM_UPDATE_AWARE)
+    public void onExternalVibration_thenDeniedAppOps_cancelVibration() throws Throwable {
+        mockVibrators(1);
+        mVibratorProviders.get(1).setCapabilities(IVibrator.CAP_EXTERNAL_CONTROL);
+        VibratorManagerService service = createSystemReadyService();
+
+        IExternalVibrationController externalVibrationControllerMock =
+                mock(IExternalVibrationController.class);
+        ExternalVibration externalVibration = new ExternalVibration(UID, PACKAGE_NAME,
+                AUDIO_ALARM_ATTRS, externalVibrationControllerMock, mock(IBinder.class));
+        ExternalVibrationScale scale = mExternalVibratorService.onExternalVibrationStart(
+                externalVibration);
+
+        assertThat(scale.scaleLevel).isNotEqualTo(ExternalVibrationScale.ScaleLevel.SCALE_MUTE);
+
+        when(mAppOpsManagerMock.checkAudioOpNoThrow(eq(AppOpsManager.OP_VIBRATE),
+                eq(AudioAttributes.USAGE_ALARM), anyInt(), anyString()))
+                .thenReturn(AppOpsManager.MODE_IGNORED);
+        service.mAppOpsChangeListener.onOpChanged(AppOpsManager.OP_VIBRATE, null);
+
+        verify(externalVibrationControllerMock).mute();
+    }
+
+    @Test
+    @DisableFlags(android.os.vibrator.Flags.FLAG_FIX_EXTERNAL_VIBRATION_SYSTEM_UPDATE_AWARE)
+    public void onExternalVibration_legacyPowerModeChanges_doNotCancelVibration() throws Exception {
         mockVibrators(1);
         mVibratorProviders.get(1).setCapabilities(IVibrator.CAP_EXTERNAL_CONTROL);
         createSystemReadyService();
@@ -2705,7 +2734,7 @@
         IExternalVibrationController externalVibrationControllerMock =
                 mock(IExternalVibrationController.class);
         ExternalVibration externalVibration = new ExternalVibration(UID, PACKAGE_NAME,
-                AUDIO_ALARM_ATTRS, externalVibrationControllerMock, mock(IBinder.class));
+                AUDIO_HAPTIC_FEEDBACK_ATTRS, externalVibrationControllerMock, mock(IBinder.class));
         ExternalVibrationScale scale = mExternalVibratorService.onExternalVibrationStart(
                 externalVibration);
 
@@ -2717,7 +2746,29 @@
     }
 
     @Test
-    public void onExternalVibration_thenSettingsChange_doNotCancelVibration() throws Exception {
+    @EnableFlags(android.os.vibrator.Flags.FLAG_FIX_EXTERNAL_VIBRATION_SYSTEM_UPDATE_AWARE)
+    public void onExternalVibration_thenPowerModeChanges_cancelVibration() throws Exception {
+        mockVibrators(1);
+        mVibratorProviders.get(1).setCapabilities(IVibrator.CAP_EXTERNAL_CONTROL);
+        createSystemReadyService();
+
+        IExternalVibrationController externalVibrationControllerMock =
+                mock(IExternalVibrationController.class);
+        ExternalVibration externalVibration = new ExternalVibration(UID, PACKAGE_NAME,
+                AUDIO_HAPTIC_FEEDBACK_ATTRS, externalVibrationControllerMock, mock(IBinder.class));
+        ExternalVibrationScale scale = mExternalVibratorService.onExternalVibrationStart(
+                externalVibration);
+
+        assertThat(scale.scaleLevel).isNotEqualTo(ExternalVibrationScale.ScaleLevel.SCALE_MUTE);
+
+        mRegisteredPowerModeListener.onLowPowerModeChanged(LOW_POWER_STATE);
+
+        verify(externalVibrationControllerMock).mute();
+    }
+
+    @Test
+    @DisableFlags(android.os.vibrator.Flags.FLAG_FIX_EXTERNAL_VIBRATION_SYSTEM_UPDATE_AWARE)
+    public void onExternalVibration_legacySettingsChange_doNotCancelVibration() throws Exception {
         mockVibrators(1);
         mVibratorProviders.get(1).setCapabilities(IVibrator.CAP_EXTERNAL_CONTROL);
         VibratorManagerService service = createSystemReadyService();
@@ -2739,7 +2790,31 @@
     }
 
     @Test
-    public void onExternalVibration_thenScreenTurnsOff_doNotCancelVibration() throws Throwable {
+    @EnableFlags(android.os.vibrator.Flags.FLAG_FIX_EXTERNAL_VIBRATION_SYSTEM_UPDATE_AWARE)
+    public void onExternalVibration_thenSettingsChange_cancelVibration() throws Exception {
+        mockVibrators(1);
+        mVibratorProviders.get(1).setCapabilities(IVibrator.CAP_EXTERNAL_CONTROL);
+        VibratorManagerService service = createSystemReadyService();
+
+        IExternalVibrationController externalVibrationControllerMock =
+                mock(IExternalVibrationController.class);
+        ExternalVibration externalVibration = new ExternalVibration(UID, PACKAGE_NAME,
+                AUDIO_ALARM_ATTRS, externalVibrationControllerMock, mock(IBinder.class));
+        ExternalVibrationScale scale = mExternalVibratorService.onExternalVibrationStart(
+                externalVibration);
+
+        assertThat(scale.scaleLevel).isNotEqualTo(ExternalVibrationScale.ScaleLevel.SCALE_MUTE);
+
+        setUserSetting(Settings.System.ALARM_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_OFF);
+        service.mVibrationSettings.mSettingObserver.onChange(false);
+        service.updateServiceState();
+
+        verify(externalVibrationControllerMock).mute();
+    }
+
+    @Test
+    @DisableFlags(android.os.vibrator.Flags.FLAG_FIX_EXTERNAL_VIBRATION_SYSTEM_UPDATE_AWARE)
+    public void onExternalVibration_legacyScreenTurnsOff_doNotCancelVibration() throws Exception {
         mockVibrators(1);
         mVibratorProviders.get(1).setCapabilities(IVibrator.CAP_EXTERNAL_CONTROL);
         VibratorManagerService service = createSystemReadyService();
@@ -2759,7 +2834,30 @@
     }
 
     @Test
-    public void onExternalVibration_thenFgUserRequestsMute_doNotCancelVibration() throws Throwable {
+    @EnableFlags(android.os.vibrator.Flags.FLAG_FIX_EXTERNAL_VIBRATION_SYSTEM_UPDATE_AWARE)
+    public void onExternalVibration_thenScreenTurnsOff_cancelVibration() throws Exception {
+        mockVibrators(1);
+        mVibratorProviders.get(1).setCapabilities(IVibrator.CAP_EXTERNAL_CONTROL);
+        VibratorManagerService service = createSystemReadyService();
+
+        IExternalVibrationController externalVibrationControllerMock =
+                mock(IExternalVibrationController.class);
+        ExternalVibration externalVibration = new ExternalVibration(UID, PACKAGE_NAME,
+                AUDIO_ALARM_ATTRS, externalVibrationControllerMock, mock(IBinder.class));
+        ExternalVibrationScale scale = mExternalVibratorService.onExternalVibrationStart(
+                externalVibration);
+
+        assertThat(scale.scaleLevel).isNotEqualTo(ExternalVibrationScale.ScaleLevel.SCALE_MUTE);
+
+        service.mIntentReceiver.onReceive(mContextSpy, new Intent(Intent.ACTION_SCREEN_OFF));
+
+        verify(externalVibrationControllerMock).mute();
+    }
+
+    @Test
+    @DisableFlags(android.os.vibrator.Flags.FLAG_FIX_EXTERNAL_VIBRATION_SYSTEM_UPDATE_AWARE)
+    public void onExternalVibration_legacyFgUserRequestsMute_doNotCancelVibration()
+            throws Exception {
         assumeTrue(UserManagerInternal.shouldShowNotificationForBackgroundUserSounds());
         mockVibrators(1);
         mVibratorProviders.get(1).setCapabilities(IVibrator.CAP_EXTERNAL_CONTROL);
@@ -2781,6 +2879,29 @@
     }
 
     @Test
+    @EnableFlags(android.os.vibrator.Flags.FLAG_FIX_EXTERNAL_VIBRATION_SYSTEM_UPDATE_AWARE)
+    public void onExternalVibration_thenFgUserRequestsMute_cancelVibration() throws Exception {
+        assumeTrue(UserManagerInternal.shouldShowNotificationForBackgroundUserSounds());
+        mockVibrators(1);
+        mVibratorProviders.get(1).setCapabilities(IVibrator.CAP_EXTERNAL_CONTROL);
+        VibratorManagerService service = createSystemReadyService();
+
+        IExternalVibrationController externalVibrationControllerMock =
+                mock(IExternalVibrationController.class);
+        ExternalVibration externalVibration = new ExternalVibration(UID, PACKAGE_NAME,
+                AUDIO_ALARM_ATTRS, externalVibrationControllerMock, mock(IBinder.class));
+        ExternalVibrationScale scale = mExternalVibratorService.onExternalVibrationStart(
+                externalVibration);
+
+        assertThat(scale.scaleLevel).isNotEqualTo(ExternalVibrationScale.ScaleLevel.SCALE_MUTE);
+
+        service.mIntentReceiver.onReceive(mContextSpy, new Intent(
+                BackgroundUserSoundNotifier.ACTION_MUTE_SOUND));
+
+        verify(externalVibrationControllerMock).mute();
+    }
+
+    @Test
     @DisableFlags(android.os.vibrator.Flags.FLAG_VENDOR_VIBRATION_EFFECTS)
     public void startVibrationSession_withoutFeatureFlag_throwsException() throws Exception {
         mockCapabilities(IVibratorManager.CAP_START_SESSIONS);
diff --git a/services/tests/wmtests/src/com/android/server/TransitionSubject.java b/services/tests/wmtests/src/com/android/server/TransitionSubject.java
new file mode 100644
index 0000000..07026b9
--- /dev/null
+++ b/services/tests/wmtests/src/com/android/server/TransitionSubject.java
@@ -0,0 +1,79 @@
+/*
+ * 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.server.wm;
+
+import android.annotation.Nullable;
+
+import com.google.common.truth.FailureMetadata;
+import com.google.common.truth.IterableSubject;
+import com.google.common.truth.Subject;
+import com.google.common.truth.Truth;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class TransitionSubject extends Subject {
+
+    @Nullable
+    private final Transition actual;
+
+    /**
+     * Internal constructor.
+     *
+     * @see TransitionSubject#assertThat(Transition)
+     */
+    private TransitionSubject(FailureMetadata metadata, @Nullable Transition actual) {
+        super(metadata, actual);
+        this.actual = actual;
+    }
+
+    /**
+     * In a fluent assertion chain, the argument to the "custom" overload of {@link
+     * StandardSubjectBuilder#about(CustomSubjectBuilder.Factory) about}, the method that specifies
+     * what kind of {@link Subject} to create.
+     */
+    public static Factory<TransitionSubject, Transition> transitions() {
+        return TransitionSubject::new;
+    }
+
+    /**
+     * Typical entry point for making assertions about Transitions.
+     *
+     * @see @Truth#assertThat(Object)
+     */
+    public static TransitionSubject assertThat(Transition transition) {
+        return Truth.assertAbout(transitions()).that(transition);
+    }
+
+    /**
+     * Converts to a {@link IterableSubject} containing {@link Transition#getFlags()} separated into
+     * a list of individual flags for assertions such as {@code flags().contains(TRANSIT_FLAG_XYZ)}.
+     *
+     * <p>If the subject is null, this will fail instead of returning a null subject.
+     */
+    public IterableSubject flags() {
+        isNotNull();
+
+        final List<Integer> sortedFlags = new ArrayList<>();
+        for (int i = 0; i < 32; i++) {
+            if ((actual.getFlags() & (1 << i)) != 0) {
+                sortedFlags.add((1 << i));
+            }
+        }
+        return com.google.common.truth.Truth.assertThat(sortedFlags);
+    }
+}
diff --git a/services/tests/wmtests/src/com/android/server/policy/PhoneWindowManagerTests.java b/services/tests/wmtests/src/com/android/server/policy/PhoneWindowManagerTests.java
index 22c86eb..32a3b7f 100644
--- a/services/tests/wmtests/src/com/android/server/policy/PhoneWindowManagerTests.java
+++ b/services/tests/wmtests/src/com/android/server/policy/PhoneWindowManagerTests.java
@@ -272,19 +272,6 @@
     }
 
     @Test
-    public void powerPress_withoutDreamManagerInternal_doesNotCrash() {
-        when(mDisplayPolicy.isAwake()).thenReturn(true);
-        mDreamManagerInternal = null;
-        initPhoneWindowManager();
-
-        // Power button pressed.
-        int eventTime = 0;
-        mPhoneWindowManager.powerPress(eventTime, 1, 0);
-
-        // verify no crash
-    }
-
-    @Test
     public void powerPress_hubOrDreamOrSleep_hubAvailableLocks() {
         when(mDisplayPolicy.isAwake()).thenReturn(true);
         mContext.getTestablePermissions().setPermission(android.Manifest.permission.DEVICE_POWER,
@@ -365,10 +352,5 @@
         WindowWakeUpPolicy getWindowWakeUpPolicy() {
             return mock(WindowWakeUpPolicy.class);
         }
-
-        @Override
-        DreamManagerInternal getDreamManagerInternal() {
-            return mDreamManagerInternal;
-        }
     }
 }
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java
index 301a754..9d4fe9e 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java
@@ -41,8 +41,8 @@
 import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
 import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSET;
 import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
-import static android.content.pm.ApplicationInfo.CATEGORY_SOCIAL;
 import static android.content.pm.ApplicationInfo.CATEGORY_GAME;
+import static android.content.pm.ApplicationInfo.CATEGORY_SOCIAL;
 import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
 import static android.content.res.Configuration.ORIENTATION_PORTRAIT;
 import static android.content.res.Configuration.UI_MODE_TYPE_DESK;
@@ -66,7 +66,6 @@
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.atLeast;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.doAnswer;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.doCallRealMethod;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.doNothing;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.eq;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock;
@@ -196,7 +195,7 @@
         // Because the booted state is set, avoid starting real home if there is no task.
         doReturn(false).when(mRootWindowContainer).resumeHomeActivity(any(), anyString(), any());
         // Do not execute the transaction, because we can't verify the parameter after it recycles.
-        doNothing().when(mClientLifecycleManager).scheduleTransaction(any());
+        doReturn(true).when(mClientLifecycleManager).scheduleTransaction(any());
     }
 
     private TestStartingWindowOrganizer registerTestStartingWindowOrganizer() {
@@ -266,7 +265,7 @@
                     break;
                 }
             }
-            return null;
+            return true;
         }).when(mClientLifecycleManager).scheduleTransaction(any());
 
         activity.setState(STOPPED, "testPausingWhenVisibleFromStopped");
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStartInterceptorTest.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStartInterceptorTest.java
index bacf5ed..6c4f638 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityStartInterceptorTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStartInterceptorTest.java
@@ -53,7 +53,6 @@
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.os.UserManager;
-import android.platform.test.annotations.EnableFlags;
 import android.platform.test.annotations.Presubmit;
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.testing.DexmakerShareClassLoaderRule;
@@ -68,7 +67,6 @@
 import com.android.internal.app.UnlaunchableAppActivity;
 import com.android.server.LocalServices;
 import com.android.server.am.ActivityManagerService;
-import com.android.window.flags.Flags;
 
 import org.junit.After;
 import org.junit.Before;
@@ -242,7 +240,6 @@
     }
 
     @Test
-    @EnableFlags(Flags.FLAG_NORMALIZE_HOME_INTENT)
     public void testInterceptIncorrectHomeIntent() {
         // Create a non-standard home intent
         final Intent homeIntent = new Intent(Intent.ACTION_MAIN);
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 d4be7f8..51da511 100644
--- a/services/tests/wmtests/src/com/android/server/wm/AppCompatCameraOverridesTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/AppCompatCameraOverridesTest.java
@@ -18,6 +18,7 @@
 
 import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_DISABLE_FORCE_ROTATION;
 import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_DISABLE_REFRESH;
+import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_DISABLE_SIMULATE_REQUESTED_ORIENTATION;
 import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_ENABLE_FREEFORM_WINDOWING_TREATMENT;
 import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_ENABLE_REFRESH_VIA_PAUSE;
 import static android.content.pm.ActivityInfo.OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA;
@@ -231,6 +232,7 @@
 
     @Test
     @EnableFlags(FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING)
+    @DisableFlags(FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING_OPT_OUT)
     public void testShouldApplyCameraCompatFreeformTreatment_notEnabledByOverride_returnsFalse() {
         runTestScenario((robot) -> {
             robot.activity().createActivityWithComponentInNewTask();
@@ -240,21 +242,19 @@
     }
 
     @Test
-    @EnableCompatChanges({OVERRIDE_CAMERA_COMPAT_ENABLE_FREEFORM_WINDOWING_TREATMENT})
+    @EnableCompatChanges({OVERRIDE_CAMERA_COMPAT_DISABLE_SIMULATE_REQUESTED_ORIENTATION})
     @EnableFlags({FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING,
             FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING_OPT_OUT})
-    public void testShouldApplyCameraCompatFreeformTreatment_propertyFalse_returnsFalse() {
+    public void testShouldApplyCameraCompatFreeformTreatment_disablePropertyOn_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})
+    @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() {
@@ -262,18 +262,50 @@
             robot.activity().createActivityWithComponentInNewTask();
 
             robot.prop().disable(PROPERTY_CAMERA_COMPAT_ALLOW_SIMULATE_REQUESTED_ORIENTATION);
+            robot.activity().createActivityWithComponentInNewTask();
 
             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() {
+    @EnableFlags({FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING,
+            FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING_OPT_OUT})
+    public void testShouldApplyCameraCompatFreeformTreatment_optedOutViaProperty_returnsFalse() {
         runTestScenario((robot) -> {
             robot.activity().createActivityWithComponentInNewTask();
 
+            robot.prop().disable(PROPERTY_CAMERA_COMPAT_ALLOW_SIMULATE_REQUESTED_ORIENTATION);
+            robot.activity().createActivityWithComponentInNewTask();
+
+            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_optInAndFlagEnabled_returnsTrue() {
+        runTestScenario((robot) -> {
+            robot.activity().createActivityWithComponentInNewTask();
+
+            robot.checkShouldApplyFreeformTreatmentForCameraCompat(true);
+        });
+    }
+
+
+    @Test
+    @EnableFlags({FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING,
+            FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING_OPT_OUT})
+    public void testShouldApplyCameraCompatFreeformTreatment_notOptedOut_flagEnabled_returnsTrue() {
+        runTestScenario((robot) -> {
+            robot.conf().enableCameraCompatTreatment(true);
+            robot.applyOnActivity((a) -> {
+                a.createActivityWithComponentInNewTask();
+                robot.prop().enable(PROPERTY_CAMERA_COMPAT_ALLOW_SIMULATE_REQUESTED_ORIENTATION);
+            });
+
             robot.checkShouldApplyFreeformTreatmentForCameraCompat(true);
         });
     }
@@ -294,6 +326,8 @@
     @EnableCompatChanges({OVERRIDE_ORIENTATION_ONLY_FOR_CAMERA,
             OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA,
             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 testShouldRecomputeConfigurationForFreeformTreatment() {
         runTestScenario((robot) -> {
             robot.conf().enableCameraCompatSplitScreenAspectRatio(true);
@@ -307,6 +341,24 @@
     }
 
     @Test
+    @EnableCompatChanges({OVERRIDE_ORIENTATION_ONLY_FOR_CAMERA,
+            OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA})
+    @EnableFlags({FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING,
+            FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING_OPT_OUT})
+    public void testShouldRecomputeConfigurationForFreeformTreatmentWithOptOutMechanism() {
+        runTestScenario((robot) -> {
+            robot.conf().enableCameraCompatSplitScreenAspectRatio(true);
+            robot.conf().enableCameraCompatTreatment(true);
+            robot.applyOnActivity((a) -> {
+                a.createActivityWithComponentInNewTask();
+                robot.prop().enable(PROPERTY_CAMERA_COMPAT_ALLOW_SIMULATE_REQUESTED_ORIENTATION);
+            });
+
+            robot.checkShouldApplyFreeformTreatmentForCameraCompat(true);
+        });
+    }
+
+    @Test
     @EnableCompatChanges({OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA})
     public void shouldOverrideMinAspectRatioForCamera_overrideEnabled_returnsTrue() {
         runTestScenario((robot) -> {
diff --git a/services/tests/wmtests/src/com/android/server/wm/AppCompatComponentPropRobot.java b/services/tests/wmtests/src/com/android/server/wm/AppCompatComponentPropRobot.java
index 361177f..fc1d105 100644
--- a/services/tests/wmtests/src/com/android/server/wm/AppCompatComponentPropRobot.java
+++ b/services/tests/wmtests/src/com/android/server/wm/AppCompatComponentPropRobot.java
@@ -20,8 +20,10 @@
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;
 
 import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.nullable;
 
 import android.content.pm.PackageManager;
 
@@ -52,7 +54,8 @@
         final PackageManager.Property property = new PackageManager.Property(propertyName,
                 /* value */ enabled, packageName, className);
         try {
-            doReturn(property).when(mPackageManager).getProperty(eq(propertyName), anyString());
+            doReturn(property).when(mPackageManager).getPropertyAsUser(eq(propertyName),
+                    anyString(), nullable(String.class), anyInt());
         } catch (PackageManager.NameNotFoundException e) {
             fail(e.getLocalizedMessage());
         }
diff --git a/services/tests/wmtests/src/com/android/server/wm/AppCompatLetterboxPolicyTest.java b/services/tests/wmtests/src/com/android/server/wm/AppCompatLetterboxPolicyTest.java
index 2603d78..d38f3b0 100644
--- a/services/tests/wmtests/src/com/android/server/wm/AppCompatLetterboxPolicyTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/AppCompatLetterboxPolicyTest.java
@@ -350,8 +350,8 @@
             mWindowState.mInvGlobalScale = 1f;
             final WindowManager.LayoutParams attrs = new WindowManager.LayoutParams();
             attrs.type = TYPE_BASE_APPLICATION;
+            setFieldValue(mWindowState, "mAttrs", attrs);
             doReturn(mInsetsState).when(mWindowState).getInsetsState();
-            doReturn(attrs).when(mWindowState).getAttrs();
             doReturn(true).when(mWindowState).isDrawn();
             doReturn(true).when(mWindowState).isOnScreen();
             doReturn(false).when(mWindowState).isLetterboxedForDisplayCutout();
diff --git a/services/tests/wmtests/src/com/android/server/wm/CameraCompatFreeformPolicyTests.java b/services/tests/wmtests/src/com/android/server/wm/CameraCompatFreeformPolicyTests.java
index 5607252..50876c7 100644
--- a/services/tests/wmtests/src/com/android/server/wm/CameraCompatFreeformPolicyTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/CameraCompatFreeformPolicyTests.java
@@ -25,6 +25,7 @@
 import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
 import static android.app.servertransaction.ActivityLifecycleItem.ON_PAUSE;
 import static android.app.servertransaction.ActivityLifecycleItem.ON_STOP;
+import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_DISABLE_SIMULATE_REQUESTED_ORIENTATION;
 import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_ENABLE_FREEFORM_WINDOWING_TREATMENT;
 import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE;
 import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_FULL_USER;
@@ -42,6 +43,7 @@
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.when;
 import static com.android.server.wm.AppCompatConfiguration.MIN_FIXED_ORIENTATION_LETTERBOX_ASPECT_RATIO;
 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 static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -134,8 +136,10 @@
     }
 
     @Test
-    @EnableFlags(FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING)
-    public void testIsCameraRunningAndWindowingModeEligible_overrideDisabled_returnsFalse() {
+    @EnableFlags({FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING,
+            FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING_OPT_OUT})
+    @EnableCompatChanges({OVERRIDE_CAMERA_COMPAT_DISABLE_SIMULATE_REQUESTED_ORIENTATION})
+    public void testIsCameraRunningAndWindowingModeEligible_disabledViaOverride_returnsFalse() {
         configureActivity(SCREEN_ORIENTATION_PORTRAIT);
 
         mCameraAvailabilityCallback.onCameraOpened(CAMERA_ID_1, TEST_PACKAGE_1);
@@ -165,6 +169,7 @@
 
     @Test
     @EnableFlags(FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING)
+    @DisableFlags(FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING_OPT_OUT)
     @EnableCompatChanges({OVERRIDE_CAMERA_COMPAT_ENABLE_FREEFORM_WINDOWING_TREATMENT})
     public void testIsCameraRunningAndWindowingModeEligible_optInFreeformCameraRunning_true() {
         configureActivity(SCREEN_ORIENTATION_PORTRAIT);
@@ -175,6 +180,17 @@
     }
 
     @Test
+    @EnableFlags({FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING,
+            FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING_OPT_OUT})
+    public void testIsCameraRunningAndWindowingModeEligible_freeformCameraRunning_true() {
+        configureActivity(SCREEN_ORIENTATION_PORTRAIT);
+
+        onCameraOpened(CAMERA_ID_1, TEST_PACKAGE_1);
+
+        assertTrue(mCameraCompatFreeformPolicy.isCameraRunningAndWindowingModeEligible(mActivity));
+    }
+
+    @Test
     @EnableFlags(FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING)
     public void testIsFreeformLetterboxingForCameraAllowed_overrideDisabled_returnsFalse() {
         configureActivity(SCREEN_ORIENTATION_PORTRAIT);
diff --git a/services/tests/wmtests/src/com/android/server/wm/ClientLifecycleManagerTests.java b/services/tests/wmtests/src/com/android/server/wm/ClientLifecycleManagerTests.java
index 02ad9db..8d214dd 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ClientLifecycleManagerTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ClientLifecycleManagerTests.java
@@ -16,11 +16,13 @@
 
 package com.android.server.wm;
 
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.doThrow;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.spy;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
@@ -32,17 +34,19 @@
 import android.app.servertransaction.ActivityLifecycleItem;
 import android.app.servertransaction.ClientTransaction;
 import android.app.servertransaction.ClientTransactionItem;
+import android.os.DeadObjectException;
 import android.os.IBinder;
 import android.os.RemoteException;
+import android.platform.test.annotations.EnableFlags;
 import android.platform.test.annotations.Presubmit;
 
 import androidx.test.filters.SmallTest;
 
+import com.android.window.flags.Flags;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Captor;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
@@ -60,15 +64,11 @@
     @Mock
     private IApplicationThread mClient;
     @Mock
-    private IApplicationThread.Stub mNonBinderClient;
-    @Mock
     private ClientTransaction mTransaction;
     @Mock
     private ClientTransactionItem mTransactionItem;
     @Mock
     private ActivityLifecycleItem mLifecycleItem;
-    @Captor
-    private ArgumentCaptor<ClientTransaction> mTransactionCaptor;
 
     private WindowManagerService mWms;
     private ClientLifecycleManager mLifecycleManager;
@@ -83,7 +83,6 @@
 
         doReturn(true).when(mLifecycleItem).isActivityLifecycleItem();
         doReturn(mClientBinder).when(mClient).asBinder();
-        doReturn(mNonBinderClient).when(mNonBinderClient).asBinder();
     }
 
     @Test
@@ -91,13 +90,11 @@
         spyOn(mWms.mWindowPlacerLocked);
         doReturn(true).when(mWms.mWindowPlacerLocked).isTraversalScheduled();
 
-        // Use non binder client to get non-recycled ClientTransaction.
-        mLifecycleManager.scheduleTransactionItem(mNonBinderClient, mTransactionItem);
+        mLifecycleManager.scheduleTransactionItem(mClient, mTransactionItem);
 
         // When there is traversal scheduled, add transaction items to pending.
         assertEquals(1, mLifecycleManager.mPendingTransactions.size());
-        ClientTransaction transaction =
-                mLifecycleManager.mPendingTransactions.get(mNonBinderClient);
+        ClientTransaction transaction = mLifecycleManager.mPendingTransactions.get(mClientBinder);
         assertEquals(1, transaction.getTransactionItems().size());
         assertEquals(mTransactionItem, transaction.getTransactionItems().get(0));
         // TODO(b/324203798): cleanup after remove UnsupportedAppUsage
@@ -108,10 +105,10 @@
 
         // Add new transaction item to the existing pending.
         clearInvocations(mLifecycleManager);
-        mLifecycleManager.scheduleTransactionItem(mNonBinderClient, mLifecycleItem);
+        mLifecycleManager.scheduleTransactionItem(mClient, mLifecycleItem);
 
         assertEquals(1, mLifecycleManager.mPendingTransactions.size());
-        transaction = mLifecycleManager.mPendingTransactions.get(mNonBinderClient);
+        transaction = mLifecycleManager.mPendingTransactions.get(mClientBinder);
         assertEquals(2, transaction.getTransactionItems().size());
         assertEquals(mTransactionItem, transaction.getTransactionItems().get(0));
         assertEquals(mLifecycleItem, transaction.getTransactionItems().get(1));
@@ -124,8 +121,7 @@
 
     @Test
     public void testScheduleTransactionItemNow() throws RemoteException {
-        // Use non binder client to get non-recycled ClientTransaction.
-        mLifecycleManager.scheduleTransactionItemNow(mNonBinderClient, mTransactionItem);
+        mLifecycleManager.scheduleTransactionItemNow(mClient, mTransactionItem);
 
         // Dispatch immediately.
         assertTrue(mLifecycleManager.mPendingTransactions.isEmpty());
@@ -137,13 +133,11 @@
         spyOn(mWms.mWindowPlacerLocked);
         doReturn(true).when(mWms.mWindowPlacerLocked).isTraversalScheduled();
 
-        // Use non binder client to get non-recycled ClientTransaction.
-        mLifecycleManager.scheduleTransactionItems(mNonBinderClient, mTransactionItem,
-                mLifecycleItem);
+        mLifecycleManager.scheduleTransactionItems(mClient, mTransactionItem, mLifecycleItem);
 
         assertEquals(1, mLifecycleManager.mPendingTransactions.size());
         final ClientTransaction transaction =
-                mLifecycleManager.mPendingTransactions.get(mNonBinderClient);
+                mLifecycleManager.mPendingTransactions.get(mClientBinder);
         assertEquals(2, transaction.getTransactionItems().size());
         assertEquals(mTransactionItem, transaction.getTransactionItems().get(0));
         assertEquals(mLifecycleItem, transaction.getTransactionItems().get(1));
@@ -160,8 +154,8 @@
         spyOn(mWms.mWindowPlacerLocked);
         doReturn(true).when(mWms.mWindowPlacerLocked).isTraversalScheduled();
 
-        // Use non binder client to get non-recycled ClientTransaction.
-        mLifecycleManager.scheduleTransactionItems(mNonBinderClient,
+        mLifecycleManager.scheduleTransactionItems(
+                mClient,
                 true /* shouldDispatchImmediately */,
                 mTransactionItem, mLifecycleItem);
 
@@ -187,7 +181,7 @@
         doReturn(true).when(mWms.mWindowPlacerLocked).isLayoutDeferred();
 
         // Queue transactions during layout deferred.
-        mLifecycleManager.scheduleTransactionItem(mNonBinderClient, mLifecycleItem);
+        mLifecycleManager.scheduleTransactionItem(mClient, mLifecycleItem);
 
         verify(mLifecycleManager, never()).scheduleTransaction(any());
 
@@ -203,4 +197,42 @@
 
         verify(mLifecycleManager).scheduleTransaction(any());
     }
+
+    @EnableFlags(Flags.FLAG_CLEANUP_DISPATCH_PENDING_TRANSACTIONS_REMOTE_EXCEPTION)
+    @Test
+    public void testOnRemoteException_returnTrueOnSuccess() throws RemoteException {
+        final boolean res = mLifecycleManager.scheduleTransactionItemNow(mClient, mTransactionItem);
+
+        assertTrue(res);
+    }
+
+    @EnableFlags(Flags.FLAG_CLEANUP_DISPATCH_PENDING_TRANSACTIONS_REMOTE_EXCEPTION)
+    @Test
+    public void testOnRemoteException_returnFalseOnFailure() throws RemoteException {
+        final DeadObjectException e = new DeadObjectException();
+        doThrow(e).when(mClient).scheduleTransaction(any());
+
+        // No exception when flag enabled.
+        final boolean res = mLifecycleManager.scheduleTransactionItemNow(mClient, mTransactionItem);
+
+        assertFalse(res);
+    }
+
+    @EnableFlags(Flags.FLAG_CLEANUP_DISPATCH_PENDING_TRANSACTIONS_REMOTE_EXCEPTION)
+    @Test
+    public void testOnRemoteException_returnTrueForQueueing() throws RemoteException {
+        spyOn(mWms.mWindowPlacerLocked);
+        doReturn(true).when(mWms.mWindowPlacerLocked).isLayoutDeferred();
+        final DeadObjectException e = new DeadObjectException();
+        doThrow(e).when(mClient).scheduleTransaction(any());
+
+        final boolean res = mLifecycleManager.scheduleTransactionItem(mClient, mTransactionItem);
+
+        assertTrue(res);
+
+        doReturn(false).when(mWms.mWindowPlacerLocked).isLayoutDeferred();
+        mLifecycleManager.onLayoutContinued();
+
+        verify(mLifecycleManager).scheduleTransaction(any());
+    }
 }
diff --git a/services/tests/wmtests/src/com/android/server/wm/DesktopModeLaunchParamsModifierTests.java b/services/tests/wmtests/src/com/android/server/wm/DesktopModeLaunchParamsModifierTests.java
index d305c2f..3a06fff 100644
--- a/services/tests/wmtests/src/com/android/server/wm/DesktopModeLaunchParamsModifierTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/DesktopModeLaunchParamsModifierTests.java
@@ -49,6 +49,8 @@
 import static org.junit.Assert.assertEquals;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
 
 import android.app.ActivityOptions;
 import android.compat.testing.PlatformCompatChangeRule;
@@ -98,7 +100,8 @@
         mResult = new LaunchParamsController.LaunchParams();
         mResult.reset();
 
-        mTarget = new DesktopModeLaunchParamsModifier(mContext);
+        mTarget = spy(new DesktopModeLaunchParamsModifier(mContext));
+        doReturn(true).when(mTarget).isEnteringDesktopMode(any(), any(), any());
     }
 
     @Test
@@ -137,6 +140,81 @@
     }
 
     @Test
+    @EnableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE,
+            Flags.FLAG_DISABLE_DESKTOP_LAUNCH_PARAMS_OUTSIDE_DESKTOP_BUG_FIX})
+    public void testReturnsSkipIfIsEnteringDesktopModeFalse() {
+        setupDesktopModeLaunchParamsModifier();
+        when(mTarget.isEnteringDesktopMode(any(), any(), any())).thenReturn(false);
+
+        final Task task = new TaskBuilder(mSupervisor).build();
+
+        assertEquals(RESULT_SKIP, new CalculateRequestBuilder().setTask(task).calculate());
+    }
+
+    @Test
+    @EnableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE,
+            Flags.FLAG_DISABLE_DESKTOP_LAUNCH_PARAMS_OUTSIDE_DESKTOP_BUG_FIX})
+    public void testReturnsContinueIfVisibleFreeformTaskExists() {
+        setupDesktopModeLaunchParamsModifier();
+        when(mTarget.isEnteringDesktopMode(any(), any(), any())).thenCallRealMethod();
+
+        final DisplayContent dc = spy(createNewDisplay());
+        final Task existingFreeformTask = new TaskBuilder(mSupervisor).setCreateActivity(true)
+                .setWindowingMode(WINDOWING_MODE_FREEFORM).build();
+        doReturn(existingFreeformTask.getRootActivity()).when(dc)
+                .getTopMostVisibleFreeformActivity();
+        final Task launchingTask = new TaskBuilder(mSupervisor).build();
+        launchingTask.onDisplayChanged(dc);
+
+        assertEquals(RESULT_CONTINUE,
+                new CalculateRequestBuilder().setTask(launchingTask).calculate());
+    }
+
+    @Test
+    @EnableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE,
+            Flags.FLAG_DISABLE_DESKTOP_LAUNCH_PARAMS_OUTSIDE_DESKTOP_BUG_FIX})
+    public void testReturnsContinueIfTaskInFreeform() {
+        setupDesktopModeLaunchParamsModifier();
+        when(mTarget.isEnteringDesktopMode(any(), any(), any())).thenCallRealMethod();
+
+        final Task task = new TaskBuilder(mSupervisor).setWindowingMode(WINDOWING_MODE_FREEFORM)
+                .build();
+
+        assertEquals(RESULT_CONTINUE,
+                new CalculateRequestBuilder().setTask(task).calculate());
+    }
+
+    @Test
+    @EnableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE,
+            Flags.FLAG_DISABLE_DESKTOP_LAUNCH_PARAMS_OUTSIDE_DESKTOP_BUG_FIX})
+    public void testReturnsContinueIfFreeformRequestViaActivityOptions() {
+        setupDesktopModeLaunchParamsModifier();
+        when(mTarget.isEnteringDesktopMode(any(), any(), any())).thenCallRealMethod();
+
+        final Task task = new TaskBuilder(mSupervisor).build();
+        final ActivityOptions options = ActivityOptions.makeBasic();
+        options.setLaunchWindowingMode(WINDOWING_MODE_FREEFORM);
+
+        assertEquals(RESULT_CONTINUE,
+                new CalculateRequestBuilder().setTask(task).setOptions(options).calculate());
+    }
+
+    @Test
+    @EnableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE,
+            Flags.FLAG_DISABLE_DESKTOP_LAUNCH_PARAMS_OUTSIDE_DESKTOP_BUG_FIX})
+    public void testReturnsContinueIfFreeformRequestViaPreviousModifier() {
+        setupDesktopModeLaunchParamsModifier();
+        when(mTarget.isEnteringDesktopMode(any(), any(), any())).thenCallRealMethod();
+
+        final Task task = new TaskBuilder(mSupervisor).build();
+        final ActivityOptions options = ActivityOptions.makeBasic();
+        options.setLaunchWindowingMode(WINDOWING_MODE_FREEFORM);
+
+        assertEquals(RESULT_CONTINUE,
+                new CalculateRequestBuilder().setTask(task).setOptions(options).calculate());
+    }
+
+    @Test
     @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE)
     public void testReturnsSkipIfNotBoundsPhase() {
         setupDesktopModeLaunchParamsModifier();
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 a99bc49..61ed0b5 100644
--- a/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java
@@ -63,6 +63,9 @@
 import static android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR;
 import static android.view.WindowManager.LayoutParams.TYPE_VOICE_INTERACTION;
 import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER;
+import static android.view.WindowManager.TRANSIT_FLAG_AOD_APPEARING;
+import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY;
+import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_APPEARING;
 import static android.window.DisplayAreaOrganizer.FEATURE_WINDOWED_MAGNIFICATION;
 
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.any;
@@ -80,9 +83,11 @@
 import static com.android.server.wm.WindowContainer.AnimationFlags.PARENTS;
 import static com.android.server.wm.WindowContainer.POSITION_TOP;
 import static com.android.server.wm.WindowManagerService.UPDATE_FOCUS_NORMAL;
+import static com.android.server.wm.TransitionSubject.assertThat;
 import static com.android.window.flags.Flags.FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING;
 import static com.android.window.flags.Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE;
 import static com.android.server.display.feature.flags.Flags.FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT;
+import static com.android.window.flags.Flags.FLAG_ENABLE_PERSISTING_DENSITY_SCALE_FOR_CONNECTED_DISPLAYS;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -146,6 +151,7 @@
 import com.android.server.LocalServices;
 import com.android.server.policy.WindowManagerPolicy;
 import com.android.server.wm.utils.WmDisplayCutout;
+import com.android.window.flags.Flags;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -1414,7 +1420,7 @@
         final DisplayContent dc = createNewDisplay();
         final WindowState win = newWindowBuilder("win", TYPE_BASE_APPLICATION).setDisplay(
                 dc).build();
-        win.getAttrs().flags |= FLAG_LAYOUT_IN_SCREEN | FLAG_LAYOUT_INSET_DECOR;
+        win.mAttrs.flags |= FLAG_LAYOUT_IN_SCREEN | FLAG_LAYOUT_INSET_DECOR;
         win.setSystemGestureExclusion(Collections.singletonList(new Rect(10, 20, 30, 40)));
 
         performLayout(dc);
@@ -1447,11 +1453,11 @@
         final DisplayContent dc = createNewDisplay();
         final WindowState win = newWindowBuilder("win", TYPE_BASE_APPLICATION).setDisplay(
                 dc).build();
-        win.getAttrs().flags |= FLAG_LAYOUT_IN_SCREEN | FLAG_LAYOUT_INSET_DECOR;
+        win.mAttrs.flags |= FLAG_LAYOUT_IN_SCREEN | FLAG_LAYOUT_INSET_DECOR;
         win.setSystemGestureExclusion(Collections.singletonList(new Rect(10, 20, 30, 40)));
 
         final WindowState win2 = newWindowBuilder("win2", TYPE_APPLICATION).setDisplay(dc).build();
-        win2.getAttrs().flags |= FLAG_LAYOUT_IN_SCREEN | FLAG_LAYOUT_INSET_DECOR;
+        win2.mAttrs.flags |= FLAG_LAYOUT_IN_SCREEN | FLAG_LAYOUT_INSET_DECOR;
         win2.setSystemGestureExclusion(Collections.singletonList(new Rect(20, 30, 40, 50)));
 
         performLayout(dc);
@@ -1476,14 +1482,14 @@
         final DisplayContent dc = createNewDisplay();
         final WindowState win = newWindowBuilder("base", TYPE_BASE_APPLICATION).setDisplay(
                 dc).build();
-        win.getAttrs().flags |= FLAG_LAYOUT_IN_SCREEN | FLAG_LAYOUT_INSET_DECOR;
+        win.mAttrs.flags |= FLAG_LAYOUT_IN_SCREEN | FLAG_LAYOUT_INSET_DECOR;
         win.setSystemGestureExclusion(Collections.singletonList(new Rect(0, 0, 1000, 1000)));
 
         final WindowState win2 = newWindowBuilder("modal", TYPE_APPLICATION).setDisplay(dc).build();
-        win2.getAttrs().flags |= FLAG_LAYOUT_IN_SCREEN | FLAG_LAYOUT_INSET_DECOR;
-        win2.getAttrs().privateFlags |= PRIVATE_FLAG_NO_MOVE_ANIMATION;
-        win2.getAttrs().width = 10;
-        win2.getAttrs().height = 10;
+        win2.mAttrs.flags |= FLAG_LAYOUT_IN_SCREEN | FLAG_LAYOUT_INSET_DECOR;
+        win2.mAttrs.privateFlags |= PRIVATE_FLAG_NO_MOVE_ANIMATION;
+        win2.mAttrs.width = 10;
+        win2.mAttrs.height = 10;
         win2.setSystemGestureExclusion(Collections.emptyList());
 
         performLayout(dc);
@@ -1502,10 +1508,10 @@
         final DisplayContent dc = createNewDisplay();
         final WindowState win = newWindowBuilder("win", TYPE_BASE_APPLICATION).setDisplay(
                 dc).build();
-        win.getAttrs().flags |= FLAG_LAYOUT_IN_SCREEN | FLAG_LAYOUT_INSET_DECOR;
-        win.getAttrs().layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
-        win.getAttrs().privateFlags |= PRIVATE_FLAG_NO_MOVE_ANIMATION;
-        win.getAttrs().insetsFlags.behavior = BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE;
+        win.mAttrs.flags |= FLAG_LAYOUT_IN_SCREEN | FLAG_LAYOUT_INSET_DECOR;
+        win.mAttrs.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
+        win.mAttrs.privateFlags |= PRIVATE_FLAG_NO_MOVE_ANIMATION;
+        win.mAttrs.insetsFlags.behavior = BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE;
         win.setRequestedVisibleTypes(0, navigationBars() | statusBars());
         win.mActivityRecord.mTargetSdk = P;
 
@@ -1527,9 +1533,9 @@
         final DisplayContent dc = createNewDisplay();
         final WindowState win = newWindowBuilder("win", TYPE_BASE_APPLICATION).setDisplay(
                 dc).build();
-        win.getAttrs().flags |= FLAG_LAYOUT_IN_SCREEN | FLAG_LAYOUT_INSET_DECOR;
-        win.getAttrs().layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
-        win.getAttrs().privateFlags |= PRIVATE_FLAG_UNRESTRICTED_GESTURE_EXCLUSION;
+        win.mAttrs.flags |= FLAG_LAYOUT_IN_SCREEN | FLAG_LAYOUT_INSET_DECOR;
+        win.mAttrs.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
+        win.mAttrs.privateFlags |= PRIVATE_FLAG_UNRESTRICTED_GESTURE_EXCLUSION;
         win.setSystemGestureExclusion(Collections.singletonList(dc.getBounds()));
 
         performLayout(dc);
@@ -2619,6 +2625,7 @@
         final KeyguardController keyguard = mAtm.mKeyguardController;
         final ActivityRecord activity = new ActivityBuilder(mAtm).setCreateTask(true).build();
         final int displayId = mDisplayContent.getDisplayId();
+        final TestTransitionPlayer transitions = registerTestTransitionPlayer();
 
         final BooleanSupplier keyguardShowing = () -> keyguard.isKeyguardShowing(displayId);
         final BooleanSupplier keyguardGoingAway = () -> keyguard.isKeyguardGoingAway(displayId);
@@ -2628,21 +2635,40 @@
         keyguard.setKeyguardShown(displayId, true /* keyguard */, true /* aod */);
         assertFalse(keyguardGoingAway.getAsBoolean());
         assertFalse(appVisible.getAsBoolean());
+        transitions.flush();
 
         // Start unlocking from AOD.
         keyguard.keyguardGoingAway(displayId, 0x0 /* flags */);
         assertTrue(keyguardGoingAway.getAsBoolean());
         assertTrue(appVisible.getAsBoolean());
 
+        if (Flags.ensureKeyguardDoesTransitionStarting()) {
+            assertThat(transitions.mLastTransit).isNull();
+        } else {
+            assertThat(transitions.mLastTransit).flags()
+                    .containsExactly(TRANSIT_FLAG_KEYGUARD_GOING_AWAY);
+        }
+        transitions.flush();
+
         // Clear AOD. This does *not* clear the going-away status.
         keyguard.setKeyguardShown(displayId, true /* keyguard */, false /* aod */);
         assertTrue(keyguardGoingAway.getAsBoolean());
         assertTrue(appVisible.getAsBoolean());
 
+        if (Flags.aodTransition()) {
+            assertThat(transitions.mLastTransit).flags()
+                    .containsExactly(TRANSIT_FLAG_AOD_APPEARING);
+        } else {
+            assertThat(transitions.mLastTransit).isNull();
+        }
+        transitions.flush();
+
         // Finish unlock
         keyguard.setKeyguardShown(displayId, false /* keyguard */, false /* aod */);
         assertFalse(keyguardGoingAway.getAsBoolean());
         assertTrue(appVisible.getAsBoolean());
+
+        assertThat(transitions.mLastTransit).isNull();
     }
 
     @Test
@@ -2652,6 +2678,7 @@
         final KeyguardController keyguard = mAtm.mKeyguardController;
         final ActivityRecord activity = new ActivityBuilder(mAtm).setCreateTask(true).build();
         final int displayId = mDisplayContent.getDisplayId();
+        final TestTransitionPlayer transitions = registerTestTransitionPlayer();
 
         final BooleanSupplier keyguardShowing = () -> keyguard.isKeyguardShowing(displayId);
         final BooleanSupplier keyguardGoingAway = () -> keyguard.isKeyguardGoingAway(displayId);
@@ -2661,22 +2688,44 @@
         keyguard.setKeyguardShown(displayId, true /* keyguard */, true /* aod */);
         assertFalse(keyguardGoingAway.getAsBoolean());
         assertFalse(appVisible.getAsBoolean());
+        transitions.flush();
 
         // Start unlocking from AOD.
         keyguard.keyguardGoingAway(displayId, 0x0 /* flags */);
         assertTrue(keyguardGoingAway.getAsBoolean());
         assertTrue(appVisible.getAsBoolean());
 
+        if (!Flags.ensureKeyguardDoesTransitionStarting()) {
+            assertThat(transitions.mLastTransit).flags()
+                    .containsExactly(TRANSIT_FLAG_KEYGUARD_GOING_AWAY);
+        }
+        transitions.flush();
+
         // Clear AOD. This does *not* clear the going-away status.
         keyguard.setKeyguardShown(displayId, true /* keyguard */, false /* aod */);
         assertTrue(keyguardGoingAway.getAsBoolean());
         assertTrue(appVisible.getAsBoolean());
 
+        if (Flags.aodTransition()) {
+            assertThat(transitions.mLastTransit).flags()
+                    .containsExactly(TRANSIT_FLAG_AOD_APPEARING);
+        } else {
+            assertThat(transitions.mLastTransit).isNull();
+        }
+        transitions.flush();
+
         // Same API call a second time cancels the unlock, because AOD isn't changing.
         keyguard.setKeyguardShown(displayId, true /* keyguard */, false /* aod */);
         assertTrue(keyguardShowing.getAsBoolean());
         assertFalse(keyguardGoingAway.getAsBoolean());
         assertFalse(appVisible.getAsBoolean());
+
+        if (Flags.ensureKeyguardDoesTransitionStarting()) {
+            assertThat(transitions.mLastTransit).isNull();
+        } else {
+            assertThat(transitions.mLastTransit).flags()
+                    .containsExactly(TRANSIT_FLAG_KEYGUARD_APPEARING);
+        }
     }
 
     @Test
@@ -2872,6 +2921,74 @@
         assertFalse(dc.mWmService.mDisplayWindowSettings.shouldShowSystemDecorsLocked(dc));
     }
 
+    @EnableFlags(FLAG_ENABLE_PERSISTING_DENSITY_SCALE_FOR_CONNECTED_DISPLAYS)
+    @Test
+    public void testForcedDensityRatioSetForExternalDisplays_persistDensityScaleFlagEnabled() {
+        final DisplayInfo displayInfo = new DisplayInfo(mDisplayInfo);
+        displayInfo.displayId = DEFAULT_DISPLAY + 1;
+        displayInfo.type = Display.TYPE_EXTERNAL;
+        final DisplayContent displayContent = createNewDisplay(displayInfo);
+        final int baseWidth = 1280;
+        final int baseHeight = 720;
+        final int baseDensity = 320;
+        final float baseXDpi = 60;
+        final float baseYDpi = 60;
+
+        displayContent.mInitialDisplayWidth = baseWidth;
+        displayContent.mInitialDisplayHeight = baseHeight;
+        displayContent.mInitialDisplayDensity = baseDensity;
+        displayContent.updateBaseDisplayMetrics(baseWidth, baseHeight, baseDensity, baseXDpi,
+                baseYDpi);
+
+        final int forcedDensity = 640;
+
+        // Verify that forcing the density is honored and the size doesn't change.
+        displayContent.setForcedDensity(forcedDensity, 0 /* userId */);
+        verifySizes(displayContent, baseWidth, baseHeight, forcedDensity);
+
+        // Verify that density ratio is set correctly.
+        assertEquals((float) forcedDensity / baseDensity,
+                displayContent.mExternalDisplayForcedDensityRatio, 0.01);
+    }
+
+    @EnableFlags(FLAG_ENABLE_PERSISTING_DENSITY_SCALE_FOR_CONNECTED_DISPLAYS)
+    @Test
+    public void testForcedDensityUpdateForExternalDisplays_persistDensityScaleFlagEnabled() {
+        final DisplayInfo displayInfo = new DisplayInfo(mDisplayInfo);
+        displayInfo.displayId = DEFAULT_DISPLAY + 1;
+        displayInfo.type = Display.TYPE_EXTERNAL;
+        final DisplayContent displayContent = createNewDisplay(displayInfo);
+        final int baseWidth = 1280;
+        final int baseHeight = 720;
+        final int baseDensity = 320;
+        final float baseXDpi = 60;
+        final float baseYDpi = 60;
+
+        displayContent.mInitialDisplayWidth = baseWidth;
+        displayContent.mInitialDisplayHeight = baseHeight;
+        displayContent.mInitialDisplayDensity = baseDensity;
+        displayContent.updateBaseDisplayMetrics(baseWidth, baseHeight, baseDensity, baseXDpi,
+                baseYDpi);
+
+        final int forcedDensity = 640;
+
+        // Verify that forcing the density is honored and the size doesn't change.
+        displayContent.setForcedDensity(forcedDensity, 0 /* userId */);
+        verifySizes(displayContent, baseWidth, baseHeight, forcedDensity);
+
+        // Verify that density ratio is set correctly.
+        assertEquals((float) 2.0f,
+                displayContent.mExternalDisplayForcedDensityRatio, 0.001);
+
+
+        displayContent.mInitialDisplayDensity = 160;
+        displayContent.updateBaseDisplayMetrics(baseWidth, baseHeight, baseDensity, baseXDpi,
+                baseYDpi);
+
+        // Verify that forced density is updated based on the ratio.
+        assertEquals(320, displayContent.mBaseDisplayDensity);
+    }
+
     @EnableFlags(FLAG_ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT)
     @Test
     public void testSetShouldShowSystemDecorations_nonDefaultNonPrivateDisplay() {
diff --git a/services/tests/wmtests/src/com/android/server/wm/DisplayRotationTests.java b/services/tests/wmtests/src/com/android/server/wm/DisplayRotationTests.java
index 09fe75d..19cdb13 100644
--- a/services/tests/wmtests/src/com/android/server/wm/DisplayRotationTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/DisplayRotationTests.java
@@ -1084,7 +1084,7 @@
         final WindowManager.LayoutParams attrs = new WindowManager.LayoutParams();
         attrs.rotationAnimation = WindowManager.LayoutParams.ROTATION_ANIMATION_SEAMLESS;
 
-        doReturn(attrs).when(win).getAttrs();
+        WindowTestsBase.setFieldValue(win, "mAttrs", attrs);
         doReturn(true).when(mMockDisplayPolicy).navigationBarCanMove();
         doReturn(win).when(mMockDisplayPolicy).getTopFullscreenOpaqueWindow();
         mMockDisplayContent.mCurrentFocus = win;
diff --git a/services/tests/wmtests/src/com/android/server/wm/DisplayWindowSettingsTests.java b/services/tests/wmtests/src/com/android/server/wm/DisplayWindowSettingsTests.java
index b1cad51..a57577a96 100644
--- a/services/tests/wmtests/src/com/android/server/wm/DisplayWindowSettingsTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/DisplayWindowSettingsTests.java
@@ -42,6 +42,7 @@
 import android.annotation.NonNull;
 import android.app.WindowConfiguration;
 import android.content.ContentResolver;
+import android.platform.test.annotations.EnableFlags;
 import android.platform.test.annotations.Presubmit;
 import android.provider.Settings;
 import android.view.Display;
@@ -53,6 +54,7 @@
 import com.android.server.LocalServices;
 import com.android.server.policy.WindowManagerPolicy;
 import com.android.server.wm.DisplayWindowSettings.SettingsProvider.SettingsEntry;
+import com.android.window.flags.Flags;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -272,6 +274,23 @@
                 mSecondaryDisplay.mBaseDisplayDensity);
     }
 
+    @EnableFlags(Flags.FLAG_ENABLE_PERSISTING_DENSITY_SCALE_FOR_CONNECTED_DISPLAYS)
+    @Test
+    public void testSetForcedDensityRatio() {
+        mDisplayWindowSettings.setForcedDensity(mSecondaryDisplay.getDisplayInfo(),
+                300 /* density */, 0 /* userId */);
+        mDisplayWindowSettings.setForcedDensityRatio(mSecondaryDisplay.getDisplayInfo(),
+                2.0f /* ratio */);
+        mDisplayWindowSettings.applySettingsToDisplayLocked(mSecondaryDisplay);
+
+        assertEquals(mSecondaryDisplay.mInitialDisplayDensity * 2.0f,
+                mSecondaryDisplay.mBaseDisplayDensity, 0.01);
+
+        mWm.clearForcedDisplayDensityForUser(mSecondaryDisplay.getDisplayId(), 0 /* userId */);
+        assertEquals(mSecondaryDisplay.mInitialDisplayDensity,
+                mSecondaryDisplay.mBaseDisplayDensity);
+    }
+
     @Test
     public void testSetForcedScalingMode() {
         mDisplayWindowSettings.setForcedScalingMode(mSecondaryDisplay,
diff --git a/services/tests/wmtests/src/com/android/server/wm/PresentationControllerTests.java b/services/tests/wmtests/src/com/android/server/wm/PresentationControllerTests.java
index 2d4101e..6e0f7fb 100644
--- a/services/tests/wmtests/src/com/android/server/wm/PresentationControllerTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/PresentationControllerTests.java
@@ -16,9 +16,12 @@
 
 package com.android.server.wm;
 
+import static android.view.Display.DEFAULT_DISPLAY;
 import static android.view.Display.FLAG_PRESENTATION;
+import static android.view.Display.FLAG_TRUSTED;
 import static android.view.WindowManager.TRANSIT_CLOSE;
 import static android.view.WindowManager.TRANSIT_OPEN;
+import static android.view.WindowManager.TRANSIT_WAKE;
 
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
 import static com.android.window.flags.Flags.FLAG_ENABLE_PRESENTATION_FOR_CONNECTED_DISPLAYS;
@@ -30,6 +33,7 @@
 
 import android.annotation.NonNull;
 import android.graphics.Rect;
+import android.os.Binder;
 import android.os.UserHandle;
 import android.platform.test.annotations.DisableFlags;
 import android.platform.test.annotations.EnableFlags;
@@ -118,6 +122,112 @@
         assertFalse(window.isAttached());
     }
 
+    @EnableFlags(FLAG_ENABLE_PRESENTATION_FOR_CONNECTED_DISPLAYS)
+    @Test
+    public void testPresentationCannotCoverHostTask() {
+        int uid = Binder.getCallingUid();
+        final DisplayContent presentationDisplay = createPresentationDisplay();
+        final Task task = createTask(presentationDisplay);
+        task.effectiveUid = uid;
+        final ActivityRecord activity = createActivityRecord(task);
+        assertTrue(activity.isVisible());
+
+        // Adding a presentation window over its host task must fail.
+        assertAddPresentationWindowFails(uid, presentationDisplay.mDisplayId);
+
+        // Adding a presentation window on the other display must succeed.
+        final WindowState window = addPresentationWindow(uid, DEFAULT_DISPLAY);
+        final Transition addTransition = window.mTransitionController.getCollectingTransition();
+        completeTransition(addTransition, /*abortSync=*/ true);
+        assertTrue(window.isVisible());
+
+        // Moving the host task to the presenting display will remove the presentation.
+        task.reparent(mDefaultDisplay.getDefaultTaskDisplayArea(), true);
+        waitHandlerIdle(window.mWmService.mAtmService.mH);
+        final Transition removeTransition = window.mTransitionController.getCollectingTransition();
+        assertEquals(TRANSIT_CLOSE, removeTransition.mType);
+        completeTransition(removeTransition, /*abortSync=*/ false);
+        assertFalse(window.isVisible());
+    }
+
+    @EnableFlags(FLAG_ENABLE_PRESENTATION_FOR_CONNECTED_DISPLAYS)
+    @Test
+    public void testPresentationCannotLaunchOnAllDisplays() {
+        final int uid = Binder.getCallingUid();
+        final DisplayContent presentationDisplay = createPresentationDisplay();
+        final Task task = createTask(presentationDisplay);
+        task.effectiveUid = uid;
+        final ActivityRecord activity = createActivityRecord(task);
+        assertTrue(activity.isVisible());
+
+        // Add a presentation window on the default display.
+        final WindowState window = addPresentationWindow(uid, DEFAULT_DISPLAY);
+        final Transition addTransition = window.mTransitionController.getCollectingTransition();
+        completeTransition(addTransition, /*abortSync=*/ true);
+        assertTrue(window.isVisible());
+
+        // Adding another presentation window over the task even if it's a different UID because
+        // it would end up showing presentations on all displays.
+        assertAddPresentationWindowFails(uid + 1, presentationDisplay.mDisplayId);
+    }
+
+    @EnableFlags(FLAG_ENABLE_PRESENTATION_FOR_CONNECTED_DISPLAYS)
+    @Test
+    public void testPresentationCannotLaunchOnNonPresentationDisplayWithoutHostHavingGlobalFocus() {
+        final int uid = Binder.getCallingUid();
+        // Adding a presentation window on an internal display requires a host task
+        // with global focus on another display.
+        assertAddPresentationWindowFails(uid, DEFAULT_DISPLAY);
+
+        final DisplayContent presentationDisplay = createPresentationDisplay();
+        final Task taskWiSameUid = createTask(presentationDisplay);
+        taskWiSameUid.effectiveUid = uid;
+        final ActivityRecord activity = createActivityRecord(taskWiSameUid);
+        assertTrue(activity.isVisible());
+        final Task taskWithDifferentUid = createTask(presentationDisplay);
+        taskWithDifferentUid.effectiveUid = uid + 1;
+        createActivityRecord(taskWithDifferentUid);
+        assertEquals(taskWithDifferentUid, presentationDisplay.getFocusedRootTask());
+
+        // The task with the same UID is covered by another task with a different UID, so this must
+        // also fail.
+        assertAddPresentationWindowFails(uid, DEFAULT_DISPLAY);
+
+        // Moving the task with the same UID to front and giving it global focus allows a
+        // presentation to show on the default display.
+        taskWiSameUid.moveToFront("test");
+        final WindowState window = addPresentationWindow(uid, DEFAULT_DISPLAY);
+        final Transition addTransition = window.mTransitionController.getCollectingTransition();
+        completeTransition(addTransition, /*abortSync=*/ true);
+        assertTrue(window.isVisible());
+    }
+
+    @EnableFlags(FLAG_ENABLE_PRESENTATION_FOR_CONNECTED_DISPLAYS)
+    @Test
+    public void testReparentingActivityToSameDisplayClosesPresentation() {
+        final int uid = Binder.getCallingUid();
+        final Task task = createTask(mDefaultDisplay);
+        task.effectiveUid = uid;
+        final ActivityRecord activity = createActivityRecord(task);
+        assertTrue(activity.isVisible());
+
+        // Add a presentation window on a presentation display.
+        final DisplayContent presentationDisplay = createPresentationDisplay();
+        final WindowState window = addPresentationWindow(uid, presentationDisplay.getDisplayId());
+        final Transition addTransition = window.mTransitionController.getCollectingTransition();
+        completeTransition(addTransition, /*abortSync=*/ true);
+        assertTrue(window.isVisible());
+
+        // Reparenting the host task below the presentation must close the presentation.
+        task.reparent(presentationDisplay.getDefaultTaskDisplayArea(), true);
+        waitHandlerIdle(window.mWmService.mAtmService.mH);
+        final Transition removeTransition = window.mTransitionController.getCollectingTransition();
+        // It's a WAKE transition instead of CLOSE because
+        assertEquals(TRANSIT_WAKE, removeTransition.mType);
+        completeTransition(removeTransition, /*abortSync=*/ false);
+        assertFalse(window.isVisible());
+    }
+
     private WindowState addPresentationWindow(int uid, int displayId) {
         final Session session = createTestSession(mAtm, 1234 /* pid */, uid);
         final int userId = UserHandle.getUserId(uid);
@@ -134,10 +244,29 @@
         return window;
     }
 
+    private void assertAddPresentationWindowFails(int uid, int displayId) {
+        final Session session = createTestSession(mAtm, 1234 /* pid */, uid);
+        final IWindow clientWindow = new TestIWindow();
+        final int res = addPresentationWindowInner(uid, displayId, session, clientWindow);
+        assertEquals(WindowManagerGlobal.ADD_INVALID_DISPLAY, res);
+    }
+
+    private int addPresentationWindowInner(int uid, int displayId, Session session,
+            IWindow clientWindow) {
+        final int userId = UserHandle.getUserId(uid);
+        doReturn(true).when(mWm.mUmInternal).isUserVisible(eq(userId), eq(displayId));
+        final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
+                WindowManager.LayoutParams.TYPE_PRESENTATION);
+        return mWm.addWindow(session, clientWindow, params, View.VISIBLE, displayId, userId,
+                WindowInsets.Type.defaultVisible(), null, new InsetsState(),
+                new InsetsSourceControl.Array(), new Rect(), new float[1]);
+    }
+
     private DisplayContent createPresentationDisplay() {
         final DisplayInfo displayInfo = new DisplayInfo();
         displayInfo.copyFrom(mDisplayInfo);
-        displayInfo.flags = FLAG_PRESENTATION;
+        displayInfo.flags = FLAG_PRESENTATION | FLAG_TRUSTED;
+        displayInfo.displayId = DEFAULT_DISPLAY + 1;
         final DisplayContent dc = createNewDisplay(displayInfo);
         final int displayId = dc.getDisplayId();
         doReturn(dc).when(mWm.mRoot).getDisplayContentOrCreate(displayId);
diff --git a/services/tests/wmtests/src/com/android/server/wm/RefreshRatePolicyTest.java b/services/tests/wmtests/src/com/android/server/wm/RefreshRatePolicyTest.java
index 45436e4..d3f3269 100644
--- a/services/tests/wmtests/src/com/android/server/wm/RefreshRatePolicyTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/RefreshRatePolicyTest.java
@@ -33,6 +33,7 @@
 import android.platform.test.annotations.Presubmit;
 import android.view.Display.Mode;
 import android.view.Surface;
+import android.view.WindowInsets;
 import android.view.WindowManager.LayoutParams;
 
 import androidx.test.filters.SmallTest;
@@ -283,7 +284,7 @@
         assertEquals(0, mPolicy.getPreferredMinRefreshRate(overrideWindow), FLOAT_TOLERANCE);
         assertEquals(0, mPolicy.getPreferredMaxRefreshRate(overrideWindow), FLOAT_TOLERANCE);
 
-        overrideWindow.notifyInsetsAnimationRunningStateChanged(true);
+        overrideWindow.setAnimatingTypes(WindowInsets.Type.statusBars());
         assertEquals(LOW_MODE_ID, mPolicy.getPreferredModeId(overrideWindow));
         assertTrue(mPolicy.updateFrameRateVote(overrideWindow));
         assertEquals(FRAME_RATE_VOTE_NONE, overrideWindow.mFrameRateVote);
@@ -303,7 +304,7 @@
         assertEquals(0, mPolicy.getPreferredMinRefreshRate(overrideWindow), FLOAT_TOLERANCE);
         assertEquals(0, mPolicy.getPreferredMaxRefreshRate(overrideWindow), FLOAT_TOLERANCE);
 
-        overrideWindow.notifyInsetsAnimationRunningStateChanged(true);
+        overrideWindow.setAnimatingTypes(WindowInsets.Type.statusBars());
         assertEquals(0, mPolicy.getPreferredModeId(overrideWindow));
         assertTrue(mPolicy.updateFrameRateVote(overrideWindow));
         assertEquals(FRAME_RATE_VOTE_NONE, overrideWindow.mFrameRateVote);
diff --git a/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java b/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java
index 1dc32b0..4e09d6a 100644
--- a/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java
@@ -5128,9 +5128,9 @@
 
         // Application level.
         try {
-            doReturn(property).when(pm).getProperty(
+            doReturn(property).when(pm).getPropertyAsUser(
                     WindowManager.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY,
-                    name.getPackageName());
+                    name.getPackageName(), null /* className */, 0 /* userId */);
         } catch (PackageManager.NameNotFoundException e) {
             throw new RuntimeException(e);
         }
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 c0cb09f..5699c29 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java
@@ -2088,14 +2088,16 @@
 
     @Test
     public void testOverrideAnimationOptionsToInfoIfNecessary_customAnimOptions() {
-        ActivityRecord r = initializeOverrideAnimationOptionsTest();
-        TransitionInfo.AnimationOptions options = TransitionInfo.AnimationOptions
+        final ActivityRecord r = initializeOverrideAnimationOptionsTest();
+        final TransitionInfo.AnimationOptions options = TransitionInfo.AnimationOptions
                 .makeCustomAnimOptions("testPackage", Resources.ID_NULL,
                         TransitionInfo.AnimationOptions.DEFAULT_ANIMATION_RESOURCES_ID,
                         TransitionInfo.AnimationOptions.DEFAULT_ANIMATION_RESOURCES_ID,
-                        Color.GREEN, false /* overrideTaskTransition */);
+                        false /* overrideTaskTransition */);
         mTransition.setOverrideAnimation(options, r, null /* startCallback */,
                 null /* finishCallback */);
+        final int expectedBackgroundColor = Color.GREEN;
+        mTransition.setOverrideBackgroundColor(expectedBackgroundColor);
 
         mTransition.overrideAnimationOptionsToInfoIfNecessary(mInfo);
 
@@ -2115,12 +2117,13 @@
         assertEquals("Activity change's AnimationOptions must be overridden.",
                 options, activityChange.getAnimationOptions());
         assertEquals("Activity change's background color must be overridden.",
-                options.getBackgroundColor(), activityChange.getBackgroundColor());
+                expectedBackgroundColor, activityChange.getBackgroundColor());
+
     }
 
     @Test
     public void testOverrideAnimationOptionsToInfoIfNecessary_haveTaskFragmentAnimParams() {
-        ActivityRecord r = initializeOverrideAnimationOptionsTest();
+        final ActivityRecord r = initializeOverrideAnimationOptionsTest();
 
         final TaskFragment embeddedTf = mTransition.mTargets.get(2).mContainer.asTaskFragment();
         embeddedTf.setAnimationParams(new TaskFragmentAnimationParams.Builder()
@@ -2128,13 +2131,15 @@
                 .setOpenAnimationResId(0x12345678)
                 .build());
 
-        TransitionInfo.AnimationOptions options = TransitionInfo.AnimationOptions
+        final TransitionInfo.AnimationOptions options = TransitionInfo.AnimationOptions
                 .makeCustomAnimOptions("testPackage", Resources.ID_NULL,
                         TransitionInfo.AnimationOptions.DEFAULT_ANIMATION_RESOURCES_ID,
                         TransitionInfo.AnimationOptions.DEFAULT_ANIMATION_RESOURCES_ID,
-                        Color.GREEN, false /* overrideTaskTransition */);
+                        false /* overrideTaskTransition */);
         mTransition.setOverrideAnimation(options, r, null /* startCallback */,
                 null /* finishCallback */);
+        final int expectedBackgroundColor = Color.GREEN;
+        mTransition.setOverrideBackgroundColor(expectedBackgroundColor);
 
         final TransitionInfo.Change displayChange = mInfo.getChanges().get(0);
         final TransitionInfo.Change taskChange = mInfo.getChanges().get(1);
@@ -2147,7 +2152,7 @@
                 .makeCustomAnimOptions("testPackage", 0x12345678,
                         TransitionInfo.AnimationOptions.DEFAULT_ANIMATION_RESOURCES_ID,
                         TransitionInfo.AnimationOptions.DEFAULT_ANIMATION_RESOURCES_ID,
-                        0, false /* overrideTaskTransition */);
+                        false /* overrideTaskTransition */);
         embeddedTfChange.setAnimationOptions(expectedOptions);
 
         mTransition.overrideAnimationOptionsToInfoIfNecessary(mInfo);
@@ -2163,19 +2168,21 @@
         assertEquals("Activity change's AnimationOptions must be overridden.",
                 options, activityChange.getAnimationOptions());
         assertEquals("Activity change's background color must be overridden.",
-                options.getBackgroundColor(), activityChange.getBackgroundColor());
+                expectedBackgroundColor, activityChange.getBackgroundColor());
     }
 
     @Test
     public void testOverrideAnimationOptionsToInfoIfNecessary_customAnimOptionsWithTaskOverride() {
-        ActivityRecord r = initializeOverrideAnimationOptionsTest();
-        TransitionInfo.AnimationOptions options = TransitionInfo.AnimationOptions
+        final ActivityRecord r = initializeOverrideAnimationOptionsTest();
+        final TransitionInfo.AnimationOptions options = TransitionInfo.AnimationOptions
                 .makeCustomAnimOptions("testPackage", Resources.ID_NULL,
                         TransitionInfo.AnimationOptions.DEFAULT_ANIMATION_RESOURCES_ID,
                         TransitionInfo.AnimationOptions.DEFAULT_ANIMATION_RESOURCES_ID,
-                        Color.GREEN, true /* overrideTaskTransition */);
+                        true /* overrideTaskTransition */);
         mTransition.setOverrideAnimation(options, r, null /* startCallback */,
                 null /* finishCallback */);
+        final int expectedBackgroundColor = Color.GREEN;
+        mTransition.setOverrideBackgroundColor(expectedBackgroundColor);
 
         mTransition.overrideAnimationOptionsToInfoIfNecessary(mInfo);
 
@@ -2189,7 +2196,7 @@
         assertEquals("Task change's AnimationOptions must be overridden.",
                 options, taskChange.getAnimationOptions());
         assertEquals("Task change's background color must be overridden.",
-                options.getBackgroundColor(), taskChange.getBackgroundColor());
+                expectedBackgroundColor, taskChange.getBackgroundColor());
         assertEquals("Embedded TF change's AnimationOptions must be overridden.",
                 options, embeddedTfChange.getAnimationOptions());
         assertEquals("Embedded TF change's background color must be overridden.",
@@ -2197,7 +2204,7 @@
         assertEquals("Activity change's AnimationOptions must be overridden.",
                 options, activityChange.getAnimationOptions());
         assertEquals("Activity change's background color must be overridden.",
-                options.getBackgroundColor(), activityChange.getBackgroundColor());
+                expectedBackgroundColor, activityChange.getBackgroundColor());
     }
 
     private ActivityRecord initializeOverrideAnimationOptionsTest() {
diff --git a/services/tests/wmtests/src/com/android/server/wm/WallpaperControllerTests.java b/services/tests/wmtests/src/com/android/server/wm/WallpaperControllerTests.java
index 358448e..adeeb98 100644
--- a/services/tests/wmtests/src/com/android/server/wm/WallpaperControllerTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WallpaperControllerTests.java
@@ -120,7 +120,7 @@
         // No wallpaper WSA Surface
         final WindowState wallpaperWindow = createWallpaperWindow(dc);
 
-        WindowManager.LayoutParams attrs = wallpaperWindow.getAttrs();
+        WindowManager.LayoutParams attrs = wallpaperWindow.mAttrs;
         Rect bounds = dc.getBounds();
         int displayWidth = dc.getBounds().width();
         int displayHeight = dc.getBounds().height();
@@ -170,7 +170,7 @@
     public void testWallpaperZoom() throws RemoteException {
         final DisplayContent dc = mWm.mRoot.getDefaultDisplay();
         final WindowState wallpaperWindow = createWallpaperWindow(dc);
-        wallpaperWindow.getAttrs().privateFlags |=
+        wallpaperWindow.mAttrs.privateFlags |=
                 WindowManager.LayoutParams.PRIVATE_FLAG_WANTS_OFFSET_NOTIFICATIONS;
 
         final WindowState homeWindow = createWallpaperTargetWindow(dc);
@@ -201,7 +201,7 @@
     public void testWallpaperZoom_shouldNotScaleWallpaper() throws RemoteException {
         final DisplayContent dc = mWm.mRoot.getDefaultDisplay();
         final WindowState wallpaperWindow = createWallpaperWindow(dc);
-        wallpaperWindow.getAttrs().privateFlags |=
+        wallpaperWindow.mAttrs.privateFlags |=
                 WindowManager.LayoutParams.PRIVATE_FLAG_WANTS_OFFSET_NOTIFICATIONS;
 
         final WindowState homeWindow = createWallpaperTargetWindow(dc);
@@ -234,7 +234,7 @@
     public void testWallpaperZoom_multipleCallers() {
         final DisplayContent dc = mWm.mRoot.getDefaultDisplay();
         final WindowState wallpaperWindow = createWallpaperWindow(dc);
-        wallpaperWindow.getAttrs().privateFlags |=
+        wallpaperWindow.mAttrs.privateFlags |=
                 WindowManager.LayoutParams.PRIVATE_FLAG_WANTS_OFFSET_NOTIFICATIONS;
 
 
@@ -580,7 +580,7 @@
 
         WindowState appWindow = newWindowBuilder("wallpaperTargetWindow",
                 TYPE_BASE_APPLICATION).setWindowToken(homeActivity).build();
-        appWindow.getAttrs().flags |= FLAG_SHOW_WALLPAPER;
+        appWindow.mAttrs.flags |= FLAG_SHOW_WALLPAPER;
         appWindow.mHasSurface = true;
         spyOn(appWindow);
         doReturn(true).when(appWindow).isDrawFinishedLw();
diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowProcessControllerTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowProcessControllerTests.java
index d228970..9dc7026 100644
--- a/services/tests/wmtests/src/com/android/server/wm/WindowProcessControllerTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WindowProcessControllerTests.java
@@ -24,7 +24,6 @@
 import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
 import static android.content.res.Configuration.ORIENTATION_PORTRAIT;
 
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.doNothing;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.never;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
@@ -295,7 +294,7 @@
 
     @Test
     public void testCachedStateConfigurationChange() throws RemoteException {
-        doNothing().when(mClientLifecycleManager).scheduleTransactionItemNow(any(), any());
+        doReturn(true).when(mClientLifecycleManager).scheduleTransactionItemNow(any(), any());
         final IApplicationThread thread = mWpc.getThread();
         final Configuration newConfig = new Configuration(mWpc.getConfiguration());
         newConfig.densityDpi += 100;
diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java b/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java
index c641685..57ab13f 100644
--- a/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java
@@ -136,6 +136,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
+import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -1024,6 +1025,16 @@
         displayContent.performDisplayOverrideConfigUpdate(c);
     }
 
+    static void setFieldValue(Object o, String fieldName, Object value) {
+        try {
+            final Field field = o.getClass().getDeclaredField(fieldName);
+            field.setAccessible(true);
+            field.set(o, value);
+        } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
     static void makeDisplayLargeScreen(DisplayContent displayContent) {
         final int swDp = displayContent.getConfiguration().smallestScreenWidthDp;
         if (swDp < WindowManager.LARGE_SCREEN_SMALLEST_SCREEN_WIDTH_DP) {
@@ -2140,6 +2151,14 @@
             mLastRequest = null;
         }
 
+        void flush() {
+            if (mLastTransit != null) {
+                start();
+                finish();
+                clear();
+            }
+        }
+
         @Override
         public void onTransitionReady(IBinder transitToken, TransitionInfo transitionInfo,
                 SurfaceControl.Transaction transaction, SurfaceControl.Transaction finishT)
diff --git a/services/tests/wmtests/src/com/android/server/wm/utils/OptPropFactoryTest.java b/services/tests/wmtests/src/com/android/server/wm/utils/OptPropFactoryTest.java
index 004de1f..3769d98 100644
--- a/services/tests/wmtests/src/com/android/server/wm/utils/OptPropFactoryTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/utils/OptPropFactoryTest.java
@@ -20,7 +20,10 @@
 import static junit.framework.Assert.assertFalse;
 import static junit.framework.Assert.assertTrue;
 
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isNull;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
@@ -47,27 +50,30 @@
 @Presubmit
 public class OptPropFactoryTest {
 
+    private static final String PACKAGE_NAME = "";
+    private static final int USER_ID = 10;
     private PackageManager mPackageManager;
     private OptPropFactory mOptPropFactory;
 
     @Before
     public void setUp() {
         mPackageManager = mock(PackageManager.class);
-        mOptPropFactory = new OptPropFactory(mPackageManager, "");
+        mOptPropFactory = new OptPropFactory(mPackageManager, PACKAGE_NAME, USER_ID);
     }
 
     @Test
     public void optProp_laziness() throws PackageManager.NameNotFoundException {
         initPropAs(/* propertyValue */ true);
         // When OptPropBuilder is created the PackageManager is not used
-        verify(mPackageManager, never()).getProperty(anyString(), anyString());
+        verify(mPackageManager, never()).getPropertyAsUser(anyString(), anyString(), isNull(),
+                anyInt());
 
         // Accessing the value multiple times only uses PackageManager once
         final OptProp optProp = createOptProp();
         optProp.isTrue();
         optProp.isFalse();
 
-        verify(mPackageManager).getProperty(anyString(), anyString());
+        verify(mPackageManager).getPropertyAsUser(anyString(), anyString(), isNull(), eq(USER_ID));
     }
 
     @Test
@@ -241,13 +247,15 @@
     private void initPropAs(boolean propertyValue) throws PackageManager.NameNotFoundException {
         Mockito.clearInvocations(mPackageManager);
         final PackageManager.Property prop = new PackageManager.Property(
-                "", /* value */ propertyValue, "", "");
-        when(mPackageManager.getProperty(anyString(), anyString())).thenReturn(prop);
+                "", /* value */ propertyValue, PACKAGE_NAME, "");
+        when(mPackageManager.getPropertyAsUser(anyString(), anyString(), isNull(), anyInt()))
+                .thenReturn(prop);
     }
 
     private void initPropAsWithException() throws PackageManager.NameNotFoundException {
         Mockito.clearInvocations(mPackageManager);
-        when(mPackageManager.getProperty("", "")).thenThrow(
+        when(mPackageManager.getPropertyAsUser("", PACKAGE_NAME,
+                null /* className */, USER_ID)).thenThrow(
                 new PackageManager.NameNotFoundException());
     }
 
diff --git a/telecomm/java/android/telecom/OWNERS b/telecomm/java/android/telecom/OWNERS
index 6656a01..0854c5d 100644
--- a/telecomm/java/android/telecom/OWNERS
+++ b/telecomm/java/android/telecom/OWNERS
@@ -3,4 +3,3 @@
 rgreenwalt@google.com
 tgunn@google.com
 breadley@google.com
-hallliu@google.com
diff --git a/telephony/java/android/telephony/DisconnectCause.java b/telephony/java/android/telephony/DisconnectCause.java
index a8c077d..9c102a5 100644
--- a/telephony/java/android/telephony/DisconnectCause.java
+++ b/telephony/java/android/telephony/DisconnectCause.java
@@ -366,7 +366,6 @@
     /**
      * Indicates that the call was unable to be made because the satellite modem is enabled.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_ENABLED = 82;
 
     //*********************************************************************************************
diff --git a/telephony/java/android/telephony/SubscriptionInfo.java b/telephony/java/android/telephony/SubscriptionInfo.java
index 4b175c1..57167c9 100644
--- a/telephony/java/android/telephony/SubscriptionInfo.java
+++ b/telephony/java/android/telephony/SubscriptionInfo.java
@@ -900,7 +900,6 @@
      * @return {@code true} if it is a non-terrestrial network subscription, {@code false}
      * otherwise.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public boolean isOnlyNonTerrestrialNetwork() {
         return mIsOnlyNonTerrestrialNetwork;
     }
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index 41569de..fbba999 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -1241,7 +1241,6 @@
      * {@link #EXTRA_EMERGENCY_CALL_TO_SATELLITE_LAUNCH_INTENT} will not be included in the event
      * {@link #EVENT_DISPLAY_EMERGENCY_MESSAGE}.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final String EVENT_DISPLAY_EMERGENCY_MESSAGE =
             "android.telephony.event.DISPLAY_EMERGENCY_MESSAGE";
 
@@ -1256,7 +1255,6 @@
      * <p>
      * Set in the extras for the {@link #EVENT_DISPLAY_EMERGENCY_MESSAGE} connection event.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final String EXTRA_EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE =
             "android.telephony.extra.EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE";
 
@@ -1264,7 +1262,6 @@
      * Extra key used with the {@link #EVENT_DISPLAY_EMERGENCY_MESSAGE} for a {@link PendingIntent}
      * which will be launched by the Dialer app.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final String EXTRA_EMERGENCY_CALL_TO_SATELLITE_LAUNCH_INTENT =
             "android.telephony.extra.EMERGENCY_CALL_TO_SATELLITE_LAUNCH_INTENT";
 
@@ -10582,9 +10579,19 @@
     public boolean hasCarrierPrivileges(int subId) {
         try {
             ITelephony telephony = getITelephony();
-            if (telephony != null) {
-                return telephony.getCarrierPrivilegeStatus(subId)
-                        == CARRIER_PRIVILEGE_STATUS_HAS_ACCESS;
+            if (telephony == null) {
+                Rlog.e(TAG, "hasCarrierPrivileges: no Telephony service");
+                return false;
+            }
+            int status = telephony.getCarrierPrivilegeStatus(subId);
+            switch (status) {
+                case CARRIER_PRIVILEGE_STATUS_HAS_ACCESS:
+                    return true;
+                case CARRIER_PRIVILEGE_STATUS_NO_ACCESS:
+                    return false;
+                default:
+                    Rlog.e(TAG, "hasCarrierPrivileges: " + status);
+                    return false;
             }
         } catch (RemoteException ex) {
             Rlog.e(TAG, "hasCarrierPrivileges RemoteException", ex);
diff --git a/telephony/java/android/telephony/euicc/EuiccManager.java b/telephony/java/android/telephony/euicc/EuiccManager.java
index ca4a643..ae7346e 100644
--- a/telephony/java/android/telephony/euicc/EuiccManager.java
+++ b/telephony/java/android/telephony/euicc/EuiccManager.java
@@ -1737,13 +1737,8 @@
     private int getCardIdForDefaultEuicc() {
         int cardId = TelephonyManager.UNINITIALIZED_CARD_ID;
 
-        if (Flags.enforceTelephonyFeatureMappingForPublicApis()) {
-            PackageManager pm = mContext.getPackageManager();
-            if (pm != null && pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_EUICC)) {
-                TelephonyManager tm = mContext.getSystemService(TelephonyManager.class);
-                cardId = tm.getCardIdForDefaultEuicc();
-            }
-        } else {
+        PackageManager pm = mContext.getPackageManager();
+        if (pm != null && pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_EUICC)) {
             TelephonyManager tm = mContext.getSystemService(TelephonyManager.class);
             cardId = tm.getCardIdForDefaultEuicc();
         }
diff --git a/telephony/java/android/telephony/satellite/AntennaDirection.java b/telephony/java/android/telephony/satellite/AntennaDirection.java
index c690f98..22412e6 100644
--- a/telephony/java/android/telephony/satellite/AntennaDirection.java
+++ b/telephony/java/android/telephony/satellite/AntennaDirection.java
@@ -16,14 +16,11 @@
 
 package android.telephony.satellite;
 
-import android.annotation.FlaggedApi;
 import android.annotation.NonNull;
 import android.annotation.SystemApi;
 import android.os.Parcel;
 import android.os.Parcelable;
 
-import com.android.internal.telephony.flags.Flags;
-
 import java.util.Objects;
 
 /**
@@ -41,7 +38,6 @@
  * @hide
  */
 @SystemApi
-@FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
 public final class AntennaDirection implements Parcelable {
     /** Antenna x axis direction. */
     private float mX;
@@ -66,13 +62,11 @@
     }
 
     @Override
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public int describeContents() {
         return 0;
     }
 
     @Override
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void writeToParcel(@NonNull Parcel out, int flags) {
         out.writeFloat(mX);
         out.writeFloat(mY);
@@ -80,7 +74,6 @@
     }
 
     @NonNull
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final Creator<AntennaDirection> CREATOR =
             new Creator<>() {
                 @Override
@@ -125,17 +118,14 @@
         return Objects.hash(mX, mY, mZ);
     }
 
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public float getX() {
         return mX;
     }
 
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public float getY() {
         return mY;
     }
 
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public float getZ() {
         return mZ;
     }
diff --git a/telephony/java/android/telephony/satellite/AntennaPosition.java b/telephony/java/android/telephony/satellite/AntennaPosition.java
index d6440fc..a730e3f 100644
--- a/telephony/java/android/telephony/satellite/AntennaPosition.java
+++ b/telephony/java/android/telephony/satellite/AntennaPosition.java
@@ -16,14 +16,11 @@
 
 package android.telephony.satellite;
 
-import android.annotation.FlaggedApi;
 import android.annotation.NonNull;
 import android.annotation.SystemApi;
 import android.os.Parcel;
 import android.os.Parcelable;
 
-import com.android.internal.telephony.flags.Flags;
-
 import java.util.Objects;
 
 /**
@@ -32,7 +29,6 @@
  * @hide
  */
 @SystemApi
-@FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
 public final class AntennaPosition implements Parcelable {
     /** Antenna direction used for satellite communication. */
     @NonNull private AntennaDirection mAntennaDirection;
@@ -53,20 +49,17 @@
     }
 
     @Override
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public int describeContents() {
         return 0;
     }
 
     @Override
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void writeToParcel(@NonNull Parcel out, int flags) {
         out.writeParcelable(mAntennaDirection, flags);
         out.writeInt(mSuggestedHoldPosition);
     }
 
     @NonNull
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final Creator<AntennaPosition> CREATOR =
             new Creator<>() {
                 @Override
@@ -107,13 +100,11 @@
     }
 
     @NonNull
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public AntennaDirection getAntennaDirection() {
         return mAntennaDirection;
     }
 
     @SatelliteManager.DeviceHoldPosition
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public int getSuggestedHoldPosition() {
         return mSuggestedHoldPosition;
     }
diff --git a/telephony/java/android/telephony/satellite/EnableRequestAttributes.java b/telephony/java/android/telephony/satellite/EnableRequestAttributes.java
index bc9d230..6f9b4a7 100644
--- a/telephony/java/android/telephony/satellite/EnableRequestAttributes.java
+++ b/telephony/java/android/telephony/satellite/EnableRequestAttributes.java
@@ -16,12 +16,9 @@
 
 package android.telephony.satellite;
 
-import android.annotation.FlaggedApi;
 import android.annotation.NonNull;
 import android.annotation.SystemApi;
 
-import com.android.internal.telephony.flags.Flags;
-
 import java.util.concurrent.Executor;
 import java.util.function.Consumer;
 
@@ -31,7 +28,6 @@
  * @hide
  */
 @SystemApi
-@FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
 public class EnableRequestAttributes {
     /** {@code true} to enable satellite and {@code false} to disable satellite */
     private boolean mIsEnabled;
@@ -61,7 +57,6 @@
     /**
      * @return Whether satellite is to be enabled
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public boolean isEnabled() {
         return mIsEnabled;
     }
@@ -69,7 +64,6 @@
     /**
      * @return Whether demo mode is to be enabled
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public boolean isDemoMode() {
         return mIsDemoMode;
     }
@@ -77,7 +71,6 @@
     /**
      * @return Whether satellite is to be enabled for emergency mode
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public boolean isEmergencyMode() {
         return mIsEmergencyMode;
     }
@@ -85,13 +78,11 @@
     /**
      * The builder class of {@link EnableRequestAttributes}
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final class Builder {
         private boolean mIsEnabled;
         private boolean mIsDemoMode = false;
         private boolean mIsEmergencyMode = false;
 
-        @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
         public Builder(boolean isEnabled) {
             mIsEnabled = isEnabled;
         }
@@ -104,7 +95,6 @@
          *                   {@code false} by Telephony.
          * @return The builder object
          */
-        @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
         @NonNull
         public Builder setDemoMode(boolean isDemoMode) {
             if (mIsEnabled) {
@@ -122,7 +112,6 @@
          *                        Telephony.
          * @return The builder object
          */
-        @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
         @NonNull
         public Builder setEmergencyMode(boolean isEmergencyMode) {
             if (mIsEnabled) {
@@ -136,7 +125,6 @@
          *
          * @return The {@link EnableRequestAttributes} instance.
          */
-        @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
         @NonNull
         public EnableRequestAttributes build() {
             return new EnableRequestAttributes(this);
diff --git a/telephony/java/android/telephony/satellite/NtnSignalStrength.java b/telephony/java/android/telephony/satellite/NtnSignalStrength.java
index 2fec423..bb53d8e 100644
--- a/telephony/java/android/telephony/satellite/NtnSignalStrength.java
+++ b/telephony/java/android/telephony/satellite/NtnSignalStrength.java
@@ -16,7 +16,6 @@
 
 package android.telephony.satellite;
 
-import android.annotation.FlaggedApi;
 import android.annotation.IntDef;
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
@@ -25,8 +24,6 @@
 
 import androidx.annotation.NonNull;
 
-import com.android.internal.telephony.flags.Flags;
-
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
@@ -35,22 +32,16 @@
  * @hide
  */
 @SystemApi
-@FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
 public final class NtnSignalStrength implements Parcelable {
     /** Non-terrestrial network signal strength is not available. */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int NTN_SIGNAL_STRENGTH_NONE = 0;
     /** Non-terrestrial network signal strength is poor. */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int NTN_SIGNAL_STRENGTH_POOR = 1;
     /** Non-terrestrial network signal strength is moderate. */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int NTN_SIGNAL_STRENGTH_MODERATE = 2;
     /** Non-terrestrial network signal strength is good. */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int NTN_SIGNAL_STRENGTH_GOOD = 3;
     /** Non-terrestrial network signal strength is great. */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int NTN_SIGNAL_STRENGTH_GREAT = 4;
     @NtnSignalStrengthLevel private int mLevel;
 
@@ -69,7 +60,6 @@
      * Create a parcelable object to inform the current non-terrestrial signal strength
      * @hide
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public NtnSignalStrength(@NtnSignalStrengthLevel int level) {
         this.mLevel = level;
     }
@@ -77,7 +67,6 @@
     /**
      * This constructor is used to create a copy of an existing NtnSignalStrength object.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public NtnSignalStrength(@Nullable NtnSignalStrength source) {
         this.mLevel = (source == null) ? NTN_SIGNAL_STRENGTH_NONE : source.getLevel();
     }
@@ -89,7 +78,6 @@
     /**
      * Returns notified non-terrestrial network signal strength level.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     @NtnSignalStrengthLevel public int getLevel() {
         return mLevel;
     }
@@ -98,7 +86,6 @@
      * @return 0
      */
     @Override
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public int describeContents() {
         return 0;
     }
@@ -109,7 +96,6 @@
      *              May be 0 or {@link #PARCELABLE_WRITE_RETURN_VALUE}.
      */
     @Override
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void writeToParcel(@NonNull Parcel out, int flags) {
         out.writeInt(mLevel);
     }
@@ -118,7 +104,6 @@
         mLevel = in.readInt();
     }
 
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     @NonNull public static final Creator<NtnSignalStrength> CREATOR =
             new Creator<NtnSignalStrength>() {
                 @Override public NtnSignalStrength createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/satellite/NtnSignalStrengthCallback.java b/telephony/java/android/telephony/satellite/NtnSignalStrengthCallback.java
index 4b79590..b277b0e 100644
--- a/telephony/java/android/telephony/satellite/NtnSignalStrengthCallback.java
+++ b/telephony/java/android/telephony/satellite/NtnSignalStrengthCallback.java
@@ -16,24 +16,19 @@
 
 package android.telephony.satellite;
 
-import android.annotation.FlaggedApi;
 import android.annotation.NonNull;
 import android.annotation.SystemApi;
 
-import com.android.internal.telephony.flags.Flags;
-
 /**
  * A callback class for notifying satellite signal strength change.
  *
  * @hide
  */
 @SystemApi
-@FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
 public interface NtnSignalStrengthCallback {
     /**
      * Called when non-terrestrial network signal strength changes.
      * @param ntnSignalStrength The new non-terrestrial network signal strength.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     void onNtnSignalStrengthChanged(@NonNull NtnSignalStrength ntnSignalStrength);
 }
diff --git a/telephony/java/android/telephony/satellite/PointingInfo.java b/telephony/java/android/telephony/satellite/PointingInfo.java
index 9440b65..d0c51bc4 100644
--- a/telephony/java/android/telephony/satellite/PointingInfo.java
+++ b/telephony/java/android/telephony/satellite/PointingInfo.java
@@ -16,15 +16,12 @@
 
 package android.telephony.satellite;
 
-import android.annotation.FlaggedApi;
 import android.annotation.FloatRange;
 import android.annotation.NonNull;
 import android.annotation.SystemApi;
 import android.os.Parcel;
 import android.os.Parcelable;
 
-import com.android.internal.telephony.flags.Flags;
-
 import java.util.Objects;
 
 /**
@@ -34,7 +31,6 @@
  * @hide
  */
 @SystemApi
-@FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
 public final class PointingInfo implements Parcelable {
     /** Satellite azimuth in degrees */
     private float mSatelliteAzimuthDegrees;
@@ -55,19 +51,16 @@
     }
 
     @Override
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public int describeContents() {
         return 0;
     }
 
     @Override
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void writeToParcel(@NonNull Parcel out, int flags) {
         out.writeFloat(mSatelliteAzimuthDegrees);
         out.writeFloat(mSatelliteElevationDegrees);
     }
 
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final @android.annotation.NonNull Creator<PointingInfo> CREATOR =
             new Creator<PointingInfo>() {
                 @Override
@@ -113,7 +106,6 @@
      * Returns the azimuth of the satellite, in degrees.
      */
     @FloatRange(from = -180, to = 180)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public float getSatelliteAzimuthDegrees() {
         return mSatelliteAzimuthDegrees;
     }
@@ -122,7 +114,6 @@
      * Returns the elevation of the satellite, in degrees.
      */
     @FloatRange(from = -90, to = 90)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public float getSatelliteElevationDegrees() {
         return mSatelliteElevationDegrees;
     }
diff --git a/telephony/java/android/telephony/satellite/SatelliteCapabilities.java b/telephony/java/android/telephony/satellite/SatelliteCapabilities.java
index f34522a..a5b9deb 100644
--- a/telephony/java/android/telephony/satellite/SatelliteCapabilities.java
+++ b/telephony/java/android/telephony/satellite/SatelliteCapabilities.java
@@ -16,15 +16,12 @@
 
 package android.telephony.satellite;
 
-import android.annotation.FlaggedApi;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.os.Parcel;
 import android.os.Parcelable;
 
-import com.android.internal.telephony.flags.Flags;
-
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
@@ -37,7 +34,6 @@
  * @hide
  */
 @SystemApi
-@FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
 public final class SatelliteCapabilities implements Parcelable {
     /**
      * List of technologies supported by the satellite modem.
@@ -80,13 +76,11 @@
     }
 
     @Override
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public int describeContents() {
         return 0;
     }
 
     @Override
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void writeToParcel(@NonNull Parcel out, int flags) {
         if (mSupportedRadioTechnologies != null && !mSupportedRadioTechnologies.isEmpty()) {
             out.writeInt(mSupportedRadioTechnologies.size());
@@ -112,7 +106,6 @@
         }
     }
 
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     @NonNull public static final Creator<SatelliteCapabilities> CREATOR = new Creator<>() {
         @Override
         public SatelliteCapabilities createFromParcel(Parcel in) {
@@ -172,7 +165,6 @@
     /**
      * @return The list of technologies supported by the satellite modem.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     @NonNull @SatelliteManager.NTRadioTechnology public Set<Integer>
             getSupportedRadioTechnologies() {
         return mSupportedRadioTechnologies;
@@ -184,7 +176,6 @@
      * @return {@code true} if UE needs to point to a satellite to send and receive data and
      *         {@code false} otherwise.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public boolean isPointingRequired() {
         return mIsPointingRequired;
     }
@@ -194,7 +185,6 @@
      *
      * @return The maximum number of bytes per datagram that can be sent over satellite.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public int getMaxBytesPerOutgoingDatagram() {
         return mMaxBytesPerOutgoingDatagram;
     }
@@ -214,7 +204,6 @@
      * @return Map key: {@link SatelliteManager.DeviceHoldPosition} value: AntennaPosition
      */
     @NonNull
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public Map<Integer, AntennaPosition> getAntennaPositionMap() {
         return mAntennaPositionMap;
     }
diff --git a/telephony/java/android/telephony/satellite/SatelliteCapabilitiesCallback.java b/telephony/java/android/telephony/satellite/SatelliteCapabilitiesCallback.java
index b68dd5a..b236cf6 100644
--- a/telephony/java/android/telephony/satellite/SatelliteCapabilitiesCallback.java
+++ b/telephony/java/android/telephony/satellite/SatelliteCapabilitiesCallback.java
@@ -16,24 +16,19 @@
 
 package android.telephony.satellite;
 
-import android.annotation.FlaggedApi;
 import android.annotation.NonNull;
 import android.annotation.SystemApi;
 
-import com.android.internal.telephony.flags.Flags;
-
 /**
  * A callback class for satellite capabilities change events.
  *
  * @hide
  */
 @SystemApi
-@FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
 public interface SatelliteCapabilitiesCallback {
     /**
      * Called when satellite capability has changed.
      * @param capabilities The new satellite capabilities.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     void onSatelliteCapabilitiesChanged(@NonNull SatelliteCapabilities capabilities);
 }
diff --git a/telephony/java/android/telephony/satellite/SatelliteDatagram.java b/telephony/java/android/telephony/satellite/SatelliteDatagram.java
index 4d67f80..9037f0c 100644
--- a/telephony/java/android/telephony/satellite/SatelliteDatagram.java
+++ b/telephony/java/android/telephony/satellite/SatelliteDatagram.java
@@ -16,21 +16,17 @@
 
 package android.telephony.satellite;
 
-import android.annotation.FlaggedApi;
 import android.annotation.NonNull;
 import android.annotation.SystemApi;
 import android.os.Parcel;
 import android.os.Parcelable;
 
-import com.android.internal.telephony.flags.Flags;
-
 /**
  * SatelliteDatagram is used to store data that is to be sent or received over satellite.
  * Data is stored in byte array format.
  * @hide
  */
 @SystemApi
-@FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
 public final class SatelliteDatagram implements Parcelable {
     /**
      * Datagram to be sent or received over satellite.
@@ -49,18 +45,15 @@
     }
 
     @Override
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public int describeContents() {
         return 0;
     }
 
     @Override
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void writeToParcel(@NonNull Parcel out, int flags) {
         out.writeByteArray(mData);
     }
 
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     @NonNull public static final Creator<SatelliteDatagram> CREATOR =
             new Creator<>() {
                 @Override
@@ -80,7 +73,6 @@
      * satellite provider. Client application should be aware of how to encode the datagram based
      * upon the satellite provider.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     @NonNull public byte[] getSatelliteDatagram() {
         return mData;
     }
diff --git a/telephony/java/android/telephony/satellite/SatelliteDatagramCallback.java b/telephony/java/android/telephony/satellite/SatelliteDatagramCallback.java
index 9aaa986..8b6e3ca 100644
--- a/telephony/java/android/telephony/satellite/SatelliteDatagramCallback.java
+++ b/telephony/java/android/telephony/satellite/SatelliteDatagramCallback.java
@@ -16,12 +16,9 @@
 
 package android.telephony.satellite;
 
-import android.annotation.FlaggedApi;
 import android.annotation.NonNull;
 import android.annotation.SystemApi;
 
-import com.android.internal.telephony.flags.Flags;
-
 import java.util.concurrent.Executor;
 import java.util.function.Consumer;
 
@@ -35,7 +32,6 @@
  * @hide
  */
 @SystemApi
-@FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
 public interface SatelliteDatagramCallback {
     /**
      * Called when there is an incoming datagram to be received.
@@ -47,7 +43,6 @@
      *                 that they received the datagram. If the callback is not received within
      *                 five minutes, Telephony will resend the datagram.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     void onSatelliteDatagramReceived(long datagramId, @NonNull SatelliteDatagram datagram,
             int pendingCount, @NonNull Consumer<Void> callback);
 }
diff --git a/telephony/java/android/telephony/satellite/SatelliteManager.java b/telephony/java/android/telephony/satellite/SatelliteManager.java
index 1309654..270d599 100644
--- a/telephony/java/android/telephony/satellite/SatelliteManager.java
+++ b/telephony/java/android/telephony/satellite/SatelliteManager.java
@@ -148,7 +148,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static class SatelliteException extends Exception {
         @SatelliteResult private final int mErrorCode;
 
@@ -157,7 +156,6 @@
          *
          * @param errorCode The {@link SatelliteResult}.
          */
-        @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
         public SatelliteException(@SatelliteResult int errorCode) {
             mErrorCode = errorCode;
         }
@@ -167,7 +165,6 @@
          *
          * @return The {@link SatelliteResult}.
          */
-        @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
         @SatelliteResult public int getErrorCode() {
             return mErrorCode;
         }
@@ -311,7 +308,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_SUCCESS = 0;
 
     /**
@@ -319,7 +315,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_ERROR = 1;
 
     /**
@@ -327,7 +322,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_SERVER_ERROR = 2;
 
     /**
@@ -336,7 +330,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_SERVICE_ERROR = 3;
 
     /**
@@ -345,7 +338,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_MODEM_ERROR = 4;
 
     /**
@@ -354,7 +346,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_NETWORK_ERROR = 5;
 
     /**
@@ -362,7 +353,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_INVALID_TELEPHONY_STATE = 6;
 
     /**
@@ -370,7 +360,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_INVALID_MODEM_STATE = 7;
 
     /**
@@ -379,7 +368,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_INVALID_ARGUMENTS = 8;
 
     /**
@@ -388,7 +376,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_REQUEST_FAILED = 9;
 
     /**
@@ -396,7 +383,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_RADIO_NOT_AVAILABLE = 10;
 
     /**
@@ -404,7 +390,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_REQUEST_NOT_SUPPORTED = 11;
 
     /**
@@ -412,7 +397,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_NO_RESOURCES = 12;
 
     /**
@@ -420,7 +404,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_SERVICE_NOT_PROVISIONED = 13;
 
     /**
@@ -428,7 +411,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_SERVICE_PROVISION_IN_PROGRESS = 14;
 
     /**
@@ -438,7 +420,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_REQUEST_ABORTED = 15;
 
     /**
@@ -446,7 +427,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_ACCESS_BARRED = 16;
 
     /**
@@ -455,7 +435,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_NETWORK_TIMEOUT = 17;
 
     /**
@@ -463,7 +442,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_NOT_REACHABLE = 18;
 
     /**
@@ -471,7 +449,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_NOT_AUTHORIZED = 19;
 
     /**
@@ -479,7 +456,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_NOT_SUPPORTED = 20;
 
     /**
@@ -487,7 +463,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_REQUEST_IN_PROGRESS = 21;
 
     /**
@@ -495,7 +470,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_MODEM_BUSY = 22;
 
     /**
@@ -503,7 +477,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_ILLEGAL_STATE = 23;
 
     /**
@@ -512,7 +485,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_RESULT_MODEM_TIMEOUT = 24;
 
     /**
@@ -608,7 +580,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int NT_RADIO_TECHNOLOGY_UNKNOWN = 0;
 
     /**
@@ -616,7 +587,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int NT_RADIO_TECHNOLOGY_NB_IOT_NTN = 1;
 
     /**
@@ -624,7 +594,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int NT_RADIO_TECHNOLOGY_NR_NTN = 2;
 
     /**
@@ -632,7 +601,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int NT_RADIO_TECHNOLOGY_EMTC_NTN = 3;
 
     /**
@@ -640,7 +608,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int NT_RADIO_TECHNOLOGY_PROPRIETARY = 4;
 
     /** @hide */
@@ -659,7 +626,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int DEVICE_HOLD_POSITION_UNKNOWN = 0;
 
     /**
@@ -667,7 +633,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int DEVICE_HOLD_POSITION_PORTRAIT = 1;
 
     /**
@@ -675,7 +640,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int DEVICE_HOLD_POSITION_LANDSCAPE_LEFT = 2;
 
     /**
@@ -683,7 +647,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int DEVICE_HOLD_POSITION_LANDSCAPE_RIGHT = 3;
 
     /** @hide */
@@ -701,7 +664,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int DISPLAY_MODE_UNKNOWN = 0;
 
     /**
@@ -709,7 +671,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int DISPLAY_MODE_FIXED = 1;
 
     /**
@@ -718,7 +679,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int DISPLAY_MODE_OPENED = 2;
 
     /**
@@ -727,7 +687,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int DISPLAY_MODE_CLOSED = 3;
 
     /** @hide */
@@ -746,7 +705,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE_SOS = 1;
 
     /**
@@ -919,7 +877,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void requestEnabled(@NonNull EnableRequestAttributes attributes,
             @NonNull @CallbackExecutor Executor executor,
             @SatelliteResult @NonNull Consumer<Integer> resultListener) {
@@ -968,7 +925,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void requestIsEnabled(@NonNull @CallbackExecutor Executor executor,
             @NonNull OutcomeReceiver<Boolean, SatelliteException> callback) {
         Objects.requireNonNull(executor);
@@ -1028,7 +984,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void requestIsDemoModeEnabled(@NonNull @CallbackExecutor Executor executor,
             @NonNull OutcomeReceiver<Boolean, SatelliteException> callback) {
         Objects.requireNonNull(executor);
@@ -1088,7 +1043,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void requestIsEmergencyModeEnabled(@NonNull @CallbackExecutor Executor executor,
             @NonNull OutcomeReceiver<Boolean, SatelliteException> callback) {
         Objects.requireNonNull(executor);
@@ -1148,7 +1102,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void requestIsSupported(@NonNull @CallbackExecutor Executor executor,
             @NonNull OutcomeReceiver<Boolean, SatelliteException> callback) {
         Objects.requireNonNull(executor);
@@ -1207,7 +1160,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void requestCapabilities(@NonNull @CallbackExecutor Executor executor,
             @NonNull OutcomeReceiver<SatelliteCapabilities, SatelliteException> callback) {
         Objects.requireNonNull(executor);
@@ -1257,7 +1209,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE = 0;
 
     /**
@@ -1265,7 +1216,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SENDING = 1;
 
     /**
@@ -1275,7 +1225,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_SUCCESS = 2;
 
     /**
@@ -1286,7 +1235,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_FAILED = 3;
 
     /**
@@ -1294,7 +1242,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVING = 4;
 
     /**
@@ -1304,7 +1251,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_SUCCESS = 5;
 
     /**
@@ -1315,7 +1261,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_NONE = 6;
 
     /**
@@ -1325,7 +1270,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_FAILED = 7;
 
     /**
@@ -1339,7 +1283,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_WAITING_TO_CONNECT = 8;
 
     /**
@@ -1349,7 +1292,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_UNKNOWN = -1;
 
     /** @hide */
@@ -1374,7 +1316,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_MODEM_STATE_IDLE = 0;
 
     /**
@@ -1382,7 +1323,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_MODEM_STATE_LISTENING = 1;
 
     /**
@@ -1390,7 +1330,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_MODEM_STATE_DATAGRAM_TRANSFERRING = 2;
 
     /**
@@ -1398,7 +1337,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_MODEM_STATE_DATAGRAM_RETRYING = 3;
 
     /**
@@ -1406,7 +1344,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_MODEM_STATE_OFF = 4;
 
     /**
@@ -1414,7 +1351,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_MODEM_STATE_UNAVAILABLE = 5;
 
     /**
@@ -1422,7 +1358,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_MODEM_STATE_NOT_CONNECTED = 6;
 
     /**
@@ -1430,7 +1365,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_MODEM_STATE_CONNECTED = 7;
 
     /**
@@ -1455,7 +1389,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int SATELLITE_MODEM_STATE_UNKNOWN = -1;
 
     /** @hide */
@@ -1481,7 +1414,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int DATAGRAM_TYPE_UNKNOWN = 0;
 
     /**
@@ -1489,7 +1421,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int DATAGRAM_TYPE_SOS_MESSAGE = 1;
 
     /**
@@ -1498,7 +1429,6 @@
      * @hide
      */
     @SystemApi
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public static final int DATAGRAM_TYPE_LOCATION_SHARING = 2;
 
     /**
@@ -1653,7 +1583,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     @SuppressWarnings("SamShouldBeLast")
     public void startTransmissionUpdates(@NonNull @CallbackExecutor Executor executor,
             @SatelliteResult @NonNull Consumer<Integer> resultListener,
@@ -1739,7 +1668,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void stopTransmissionUpdates(@NonNull SatelliteTransmissionUpdateCallback callback,
             @SuppressWarnings("ListenerLast") @NonNull @CallbackExecutor Executor executor,
             @SuppressWarnings("ListenerLast") @SatelliteResult @NonNull
@@ -1800,7 +1728,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void provisionService(@NonNull String token, @NonNull byte[] provisionData,
             @Nullable CancellationSignal cancellationSignal,
             @NonNull @CallbackExecutor Executor executor,
@@ -1858,7 +1785,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void deprovisionService(@NonNull String token,
             @NonNull @CallbackExecutor Executor executor,
             @SatelliteResult @NonNull Consumer<Integer> resultListener) {
@@ -1904,7 +1830,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     @SatelliteResult public int registerForProvisionStateChanged(
             @NonNull @CallbackExecutor Executor executor,
             @NonNull SatelliteProvisionStateCallback callback) {
@@ -1959,7 +1884,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void unregisterForProvisionStateChanged(
             @NonNull SatelliteProvisionStateCallback callback) {
         Objects.requireNonNull(callback);
@@ -2000,7 +1924,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void requestIsProvisioned(@NonNull @CallbackExecutor Executor executor,
             @NonNull OutcomeReceiver<Boolean, SatelliteException> callback) {
         Objects.requireNonNull(executor);
@@ -2058,7 +1981,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     @SatelliteResult public int registerForModemStateChanged(
             @NonNull @CallbackExecutor Executor executor,
             @NonNull SatelliteModemStateCallback callback) {
@@ -2121,7 +2043,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void unregisterForModemStateChanged(
             @NonNull SatelliteModemStateCallback callback) {
         Objects.requireNonNull(callback);
@@ -2164,7 +2085,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     @SatelliteResult public int registerForIncomingDatagram(
             @NonNull @CallbackExecutor Executor executor,
             @NonNull SatelliteDatagramCallback callback) {
@@ -2223,7 +2143,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void unregisterForIncomingDatagram(@NonNull SatelliteDatagramCallback callback) {
         Objects.requireNonNull(callback);
         ISatelliteDatagramCallback internalCallback =
@@ -2264,7 +2183,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void pollPendingDatagrams(@NonNull @CallbackExecutor Executor executor,
             @SatelliteResult @NonNull Consumer<Integer> resultListener) {
         Objects.requireNonNull(executor);
@@ -2322,7 +2240,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void sendDatagram(@DatagramType int datagramType,
             @NonNull SatelliteDatagram datagram, boolean needFullScreenPointingUI,
             @NonNull @CallbackExecutor Executor executor,
@@ -2373,7 +2290,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void requestIsCommunicationAllowedForCurrentLocation(
             @NonNull @CallbackExecutor Executor executor,
             @NonNull OutcomeReceiver<Boolean, SatelliteException> callback) {
@@ -2497,7 +2413,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void requestTimeForNextSatelliteVisibility(@NonNull @CallbackExecutor Executor executor,
             @NonNull OutcomeReceiver<Duration, SatelliteException> callback) {
         Objects.requireNonNull(executor);
@@ -2711,7 +2626,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void setDeviceAlignedWithSatellite(boolean isAligned) {
         try {
             ITelephony telephony = getITelephony();
@@ -3072,7 +2986,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void requestNtnSignalStrength(@NonNull @CallbackExecutor Executor executor,
             @NonNull OutcomeReceiver<NtnSignalStrength, SatelliteException> callback) {
         Objects.requireNonNull(executor);
@@ -3138,7 +3051,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void registerForNtnSignalStrengthChanged(@NonNull @CallbackExecutor Executor executor,
             @NonNull NtnSignalStrengthCallback callback) {
         Objects.requireNonNull(executor);
@@ -3190,7 +3102,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void unregisterForNtnSignalStrengthChanged(@NonNull NtnSignalStrengthCallback callback) {
         Objects.requireNonNull(callback);
         INtnSignalStrengthCallback internalCallback =
@@ -3227,7 +3138,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     @SatelliteResult public int registerForCapabilitiesChanged(
             @NonNull @CallbackExecutor Executor executor,
             @NonNull SatelliteCapabilitiesCallback callback) {
@@ -3273,7 +3183,6 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION)
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     public void unregisterForCapabilitiesChanged(
             @NonNull SatelliteCapabilitiesCallback callback) {
         Objects.requireNonNull(callback);
diff --git a/telephony/java/android/telephony/satellite/SatelliteModemStateCallback.java b/telephony/java/android/telephony/satellite/SatelliteModemStateCallback.java
index 040fbbb..ef26b17 100644
--- a/telephony/java/android/telephony/satellite/SatelliteModemStateCallback.java
+++ b/telephony/java/android/telephony/satellite/SatelliteModemStateCallback.java
@@ -27,13 +27,11 @@
  * @hide
  */
 @SystemApi
-@FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
 public interface SatelliteModemStateCallback {
     /**
      * Called when satellite modem state changes.
      * @param state The new satellite modem state.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     void onSatelliteModemStateChanged(@SatelliteManager.SatelliteModemState int state);
 
     /**
diff --git a/telephony/java/android/telephony/satellite/SatelliteProvisionStateCallback.java b/telephony/java/android/telephony/satellite/SatelliteProvisionStateCallback.java
index 6b95eb3..fe5d2a1 100644
--- a/telephony/java/android/telephony/satellite/SatelliteProvisionStateCallback.java
+++ b/telephony/java/android/telephony/satellite/SatelliteProvisionStateCallback.java
@@ -30,7 +30,6 @@
  * @hide
  */
 @SystemApi
-@FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
 public interface SatelliteProvisionStateCallback {
     /**
      * Called when satellite provision state changes.
@@ -40,7 +39,6 @@
      *                    It is generally expected that the provisioning app retries if
      *                    provisioning fails.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     void onSatelliteProvisionStateChanged(boolean provisioned);
 
     /**
diff --git a/telephony/java/android/telephony/satellite/SatelliteTransmissionUpdateCallback.java b/telephony/java/android/telephony/satellite/SatelliteTransmissionUpdateCallback.java
index e18fad3..9c6eb8f 100644
--- a/telephony/java/android/telephony/satellite/SatelliteTransmissionUpdateCallback.java
+++ b/telephony/java/android/telephony/satellite/SatelliteTransmissionUpdateCallback.java
@@ -29,14 +29,12 @@
  * @hide
  */
 @SystemApi
-@FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
 public interface SatelliteTransmissionUpdateCallback {
     /**
      * Called when the satellite position changed.
      *
      * @param pointingInfo The pointing info containing the satellite location.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     void onSatellitePositionChanged(@NonNull PointingInfo pointingInfo);
 
     /**
@@ -46,7 +44,6 @@
      * @param sendPendingCount The number of datagrams that are currently being sent.
      * @param errorCode If datagram transfer failed, the reason for failure.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     void onSendDatagramStateChanged(
             @SatelliteManager.SatelliteDatagramTransferState int state, int sendPendingCount,
             @SatelliteManager.SatelliteResult int errorCode);
@@ -70,7 +67,6 @@
      * @param receivePendingCount The number of datagrams that are currently pending to be received.
      * @param errorCode If datagram transfer failed, the reason for failure.
      */
-    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
     void onReceiveDatagramStateChanged(
             @SatelliteManager.SatelliteDatagramTransferState int state, int receivePendingCount,
             @SatelliteManager.SatelliteResult int errorCode);
diff --git a/tests/AppJankTest/src/android/app/jank/tests/JankTrackerTest.java b/tests/AppJankTest/src/android/app/jank/tests/JankTrackerTest.java
index 1bdf019..9d87fbd 100644
--- a/tests/AppJankTest/src/android/app/jank/tests/JankTrackerTest.java
+++ b/tests/AppJankTest/src/android/app/jank/tests/JankTrackerTest.java
@@ -18,10 +18,12 @@
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 
 import android.app.jank.Flags;
 import android.app.jank.JankTracker;
 import android.app.jank.StateTracker;
+import android.content.Context;
 import android.platform.test.annotations.RequiresFlagsEnabled;
 import android.platform.test.flag.junit.CheckFlagsRule;
 import android.platform.test.flag.junit.DeviceFlagsValueProvider;
@@ -55,10 +57,9 @@
      * Start an empty activity so decore view is not null when creating the JankTracker instance.
      */
     private static ActivityScenario<EmptyActivity> sEmptyActivityRule;
-
     private static String sActivityName;
-
     private static View sActivityDecorView;
+    private static Context sContext;
 
     @BeforeClass
     public static void classSetup() {
@@ -66,6 +67,7 @@
         sEmptyActivityRule.onActivity(activity -> {
             sActivityDecorView = activity.getWindow().getDecorView();
             sActivityName = activity.toString();
+            sContext = activity.getApplicationContext();
         });
     }
 
@@ -168,4 +170,14 @@
 
         assertNotNull(jankTracker);
     }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_DETAILED_APP_JANK_METRICS_API)
+    public void jankTracker_IsNull_WhenViewNotInHierarchy() {
+        TestWidget testWidget = new TestWidget(sContext);
+        JankTracker jankTracker = testWidget.getJankTracker();
+
+        assertNull(jankTracker);
+    }
+
 }
diff --git a/tests/Codegen/OWNERS b/tests/Codegen/OWNERS
index da723b3..e69de29 100644
--- a/tests/Codegen/OWNERS
+++ b/tests/Codegen/OWNERS
@@ -1 +0,0 @@
-eugenesusla@google.com
\ No newline at end of file
diff --git a/tests/EnforcePermission/OWNERS b/tests/EnforcePermission/OWNERS
index 39550a3..160849e 100644
--- a/tests/EnforcePermission/OWNERS
+++ b/tests/EnforcePermission/OWNERS
@@ -1,3 +1,2 @@
 # Bug component: 315013
 tweek@google.com
-brufino@google.com
diff --git a/tests/Input/Android.bp b/tests/Input/Android.bp
index 168141b..1f0bd61 100644
--- a/tests/Input/Android.bp
+++ b/tests/Input/Android.bp
@@ -19,9 +19,6 @@
         "src/**/*.kt",
     ],
     asset_dirs: ["assets"],
-    kotlincflags: [
-        "-Werror",
-    ],
     platform_apis: true,
     certificate: "platform",
     static_libs: [
diff --git a/tests/Input/src/com/android/test/input/AnrTest.kt b/tests/Input/src/com/android/test/input/AnrTest.kt
index cd6ab30..73192ea 100644
--- a/tests/Input/src/com/android/test/input/AnrTest.kt
+++ b/tests/Input/src/com/android/test/input/AnrTest.kt
@@ -27,8 +27,6 @@
 import android.os.Build
 import android.os.IInputConstants.UNMULTIPLIED_DEFAULT_DISPATCHING_TIMEOUT_MILLIS
 import android.os.SystemClock
-import android.provider.Settings
-import android.provider.Settings.Global.HIDE_ERROR_DIALOGS
 import android.server.wm.CtsWindowInfoUtils.waitForStableWindowGeometry
 import android.testing.PollingCheck
 
@@ -38,6 +36,7 @@
 import androidx.test.uiautomator.Until
 
 import com.android.cts.input.DebugInputRule
+import com.android.cts.input.ShowErrorDialogsRule
 import com.android.cts.input.UinputTouchScreen
 
 import java.time.Duration
@@ -79,18 +78,16 @@
     @get:Rule
     val debugInputRule = DebugInputRule()
 
+    @get:Rule
+    val showErrorDialogs = ShowErrorDialogsRule()
+
     @Before
     fun setUp() {
-        val contentResolver = instrumentation.targetContext.contentResolver
-        hideErrorDialogs = Settings.Global.getInt(contentResolver, HIDE_ERROR_DIALOGS, 0)
-        Settings.Global.putInt(contentResolver, HIDE_ERROR_DIALOGS, 0)
         PACKAGE_NAME = UnresponsiveGestureMonitorActivity::class.java.getPackage()!!.getName()
     }
 
     @After
     fun tearDown() {
-        val contentResolver = instrumentation.targetContext.contentResolver
-        Settings.Global.putInt(contentResolver, HIDE_ERROR_DIALOGS, hideErrorDialogs)
     }
 
     @Test
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/Android.bp b/tools/aapt2/Android.bp
index f43cf52..43d5b71 100644
--- a/tools/aapt2/Android.bp
+++ b/tools/aapt2/Android.bp
@@ -113,6 +113,7 @@
         "io/ZipArchive.cpp",
         "link/AutoVersioner.cpp",
         "link/FeatureFlagsFilter.cpp",
+        "link/FlaggedXmlVersioner.cpp",
         "link/FlagDisabledResourceRemover.cpp",
         "link/ManifestFixer.cpp",
         "link/NoDefaultResourceRemover.cpp",
diff --git a/tools/aapt2/ResourceParser.cpp b/tools/aapt2/ResourceParser.cpp
index fb576df..9e2a4c1 100644
--- a/tools/aapt2/ResourceParser.cpp
+++ b/tools/aapt2/ResourceParser.cpp
@@ -547,7 +547,8 @@
   });
 
   std::string_view resource_type = parser->element_name();
-  if (auto flag = ParseFlag(xml::FindAttribute(parser, xml::kSchemaAndroid, "featureFlag"))) {
+  if (auto flag =
+          ParseFlag(xml::FindAttribute(parser, xml::kSchemaAndroid, xml::kAttrFeatureFlag))) {
     if (options_.flag) {
       diag_->Error(android::DiagMessage(source_.WithLine(parser->line_number()))
                    << "Resource flag are not allowed both in the path and in the file");
@@ -1529,7 +1530,7 @@
   ResolvePackage(parser, &maybe_key.value());
   maybe_key.value().SetSource(source);
 
-  auto flag = ParseFlag(xml::FindAttribute(parser, xml::kSchemaAndroid, "featureFlag"));
+  auto flag = ParseFlag(xml::FindAttribute(parser, xml::kSchemaAndroid, xml::kAttrFeatureFlag));
 
   std::unique_ptr<Item> value = ParseXml(parser, 0, kAllowRawString);
   if (!value) {
@@ -1674,7 +1675,7 @@
     const std::string& element_namespace = parser->element_namespace();
     const std::string& element_name = parser->element_name();
     if (element_namespace.empty() && element_name == "item") {
-      auto flag = ParseFlag(xml::FindAttribute(parser, xml::kSchemaAndroid, "featureFlag"));
+      auto flag = ParseFlag(xml::FindAttribute(parser, xml::kSchemaAndroid, xml::kAttrFeatureFlag));
       std::unique_ptr<Item> item = ParseXml(parser, typeMask, kNoRawString);
       if (!item) {
         diag_->Error(android::DiagMessage(item_source) << "could not parse array item");
diff --git a/tools/aapt2/cmd/Link.cpp b/tools/aapt2/cmd/Link.cpp
index 0a5cb1f..2a79216 100644
--- a/tools/aapt2/cmd/Link.cpp
+++ b/tools/aapt2/cmd/Link.cpp
@@ -58,6 +58,7 @@
 #include "java/ProguardRules.h"
 #include "link/FeatureFlagsFilter.h"
 #include "link/FlagDisabledResourceRemover.h"
+#include "link/FlaggedXmlVersioner.h"
 #include "link/Linkers.h"
 #include "link/ManifestFixer.h"
 #include "link/NoDefaultResourceRemover.h"
@@ -503,10 +504,19 @@
   const ConfigDescription& config = file_op->config;
   ResourceEntry* entry = file_op->entry;
 
+  FlaggedXmlVersioner flagged_xml_versioner;
+  auto flag_split_resources = flagged_xml_versioner.Process(context_, doc);
+
+  std::vector<std::unique_ptr<xml::XmlResource>> final_resources;
   XmlCompatVersioner xml_compat_versioner(&rules_);
   const util::Range<ApiVersion> api_range{config.sdkVersion,
                                           FindNextApiVersionForConfig(entry, config)};
-  return xml_compat_versioner.Process(context_, doc, api_range);
+  for (auto& split_res : flag_split_resources) {
+    auto inner_resources = xml_compat_versioner.Process(context_, split_res.get(), api_range);
+    final_resources.insert(final_resources.end(), std::make_move_iterator(inner_resources.begin()),
+                           std::make_move_iterator(inner_resources.end()));
+  }
+  return final_resources;
 }
 
 ResourceFile::Type XmlFileTypeForOutputFormat(OutputFormat format) {
diff --git a/tools/aapt2/link/FeatureFlagsFilter.cpp b/tools/aapt2/link/FeatureFlagsFilter.cpp
index 23f7838..74066a3 100644
--- a/tools/aapt2/link/FeatureFlagsFilter.cpp
+++ b/tools/aapt2/link/FeatureFlagsFilter.cpp
@@ -51,7 +51,7 @@
  private:
   bool ShouldRemove(std::unique_ptr<xml::Node>& node) {
     if (auto* el = NodeCast<Element>(node.get())) {
-      auto* attr = el->FindAttribute(xml::kSchemaAndroid, "featureFlag");
+      auto* attr = el->FindAttribute(xml::kSchemaAndroid, xml::kAttrFeatureFlag);
       if (attr == nullptr) {
         return false;
       }
@@ -76,7 +76,7 @@
             // Remove if flag==true && attr=="!flag" (negated) OR flag==false && attr=="flag"
             bool remove = *it->second.enabled == negated;
             if (!remove) {
-              el->RemoveAttribute(xml::kSchemaAndroid, "featureFlag");
+              el->RemoveAttribute(xml::kSchemaAndroid, xml::kAttrFeatureFlag);
             }
             return remove;
           }
diff --git a/tools/aapt2/link/FlaggedResources_test.cpp b/tools/aapt2/link/FlaggedResources_test.cpp
index 7bea96c..dbef776 100644
--- a/tools/aapt2/link/FlaggedResources_test.cpp
+++ b/tools/aapt2/link/FlaggedResources_test.cpp
@@ -163,7 +163,7 @@
   auto loaded_apk = LoadedApk::LoadApkFromPath(apk_path, &noop_diag);
 
   std::string output;
-  DumpXmlTreeToString(loaded_apk.get(), "res/layout-v22/layout1.xml", &output);
+  DumpXmlTreeToString(loaded_apk.get(), "res/layout-v36/layout1.xml", &output);
   ASSERT_FALSE(output.contains("test.package.trueFlag"));
   ASSERT_TRUE(output.contains("FIND_ME"));
   ASSERT_TRUE(output.contains("test.package.readWriteFlag"));
diff --git a/tools/aapt2/link/FlaggedXmlVersioner.cpp b/tools/aapt2/link/FlaggedXmlVersioner.cpp
new file mode 100644
index 0000000..75c6f17
--- /dev/null
+++ b/tools/aapt2/link/FlaggedXmlVersioner.cpp
@@ -0,0 +1,92 @@
+/*
+ * 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.
+ */
+
+#include "link/FlaggedXmlVersioner.h"
+
+#include "SdkConstants.h"
+#include "androidfw/Util.h"
+
+using ::aapt::xml::Element;
+using ::aapt::xml::NodeCast;
+
+namespace aapt {
+
+// An xml visitor that goes through the a doc and removes any elements that are behind non-negated
+// flags. It also removes the featureFlag attribute from elements behind negated flags.
+class AllDisabledFlagsVisitor : public xml::Visitor {
+ public:
+  void Visit(xml::Element* node) override {
+    std::erase_if(node->children, [this](const std::unique_ptr<xml::Node>& node) {
+      return FixupOrShouldRemove(node);
+    });
+    VisitChildren(node);
+  }
+
+  bool HadFlags() const {
+    return had_flags_;
+  }
+
+ private:
+  bool FixupOrShouldRemove(const std::unique_ptr<xml::Node>& node) {
+    if (auto* el = NodeCast<Element>(node.get())) {
+      auto* attr = el->FindAttribute(xml::kSchemaAndroid, xml::kAttrFeatureFlag);
+      if (attr == nullptr) {
+        return false;
+      }
+
+      had_flags_ = true;
+      // This class assumes all flags are disabled so we want to remove any elements behind flags
+      // unless the flag specification is negated. In the negated case we remove the featureFlag
+      // attribute because we have already determined whether we are keeping the element or not.
+      std::string_view flag_name = util::TrimWhitespace(attr->value);
+      if (flag_name.starts_with('!')) {
+        el->RemoveAttribute(xml::kSchemaAndroid, xml::kAttrFeatureFlag);
+        return false;
+      } else {
+        return true;
+      }
+    }
+
+    return false;
+  }
+
+  bool had_flags_ = false;
+};
+
+std::vector<std::unique_ptr<xml::XmlResource>> FlaggedXmlVersioner::Process(IAaptContext* context,
+                                                                            xml::XmlResource* doc) {
+  std::vector<std::unique_ptr<xml::XmlResource>> docs;
+  if ((static_cast<ApiVersion>(doc->file.config.sdkVersion) >= SDK_BAKLAVA) ||
+      (static_cast<ApiVersion>(context->GetMinSdkVersion()) >= SDK_BAKLAVA)) {
+    // Support for read/write flags was added in baklava so if the doc will only get used on
+    // baklava or later we can just return the original doc.
+    docs.push_back(doc->Clone());
+  } else {
+    auto preBaklavaVersion = doc->Clone();
+    AllDisabledFlagsVisitor visitor;
+    preBaklavaVersion->root->Accept(&visitor);
+    docs.push_back(std::move(preBaklavaVersion));
+
+    if (visitor.HadFlags()) {
+      auto baklavaVersion = doc->Clone();
+      baklavaVersion->file.config.sdkVersion = SDK_BAKLAVA;
+      docs.push_back(std::move(baklavaVersion));
+    }
+  }
+  return docs;
+}
+
+}  // namespace aapt
\ No newline at end of file
diff --git a/tools/aapt2/link/FlaggedXmlVersioner.h b/tools/aapt2/link/FlaggedXmlVersioner.h
new file mode 100644
index 0000000..44ed266
--- /dev/null
+++ b/tools/aapt2/link/FlaggedXmlVersioner.h
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+
+#pragma once
+
+#include <memory>
+#include <vector>
+
+#include "process/IResourceTableConsumer.h"
+#include "xml/XmlDom.h"
+
+namespace aapt {
+
+// FlaggedXmlVersioner takes an XmlResource and checks if any elements have read write android
+// flags on them. If the doc doesn't refer to any such flags the returned vector only contains
+// the original doc.
+//
+// Read/write flags within xml resources files is only supported in android baklava and later. If
+// the config resource specifies a version that is baklava or later it returns a vector containing
+// the original XmlResource. Otherwise FlaggedXmlVersioner creates a version of the doc where all
+// flags are assumed disabled and the config version is the same as the original doc, if specified.
+// It also creates an XmlResource where the contents are the same as the original doc and the config
+// version is baklava. The returned vector is composed of these two new docs.
+class FlaggedXmlVersioner {
+ public:
+  std::vector<std::unique_ptr<xml::XmlResource>> Process(IAaptContext* context,
+                                                         xml::XmlResource* doc);
+};
+}  // namespace aapt
\ No newline at end of file
diff --git a/tools/aapt2/link/FlaggedXmlVersioner_test.cpp b/tools/aapt2/link/FlaggedXmlVersioner_test.cpp
new file mode 100644
index 0000000..0c1314f
--- /dev/null
+++ b/tools/aapt2/link/FlaggedXmlVersioner_test.cpp
@@ -0,0 +1,220 @@
+/*
+ * 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.
+ */
+
+#include "link/FlaggedXmlVersioner.h"
+
+#include "Debug.h"
+#include "SdkConstants.h"
+#include "io/StringStream.h"
+#include "test/Test.h"
+
+using ::aapt::test::ValueEq;
+using ::testing::Eq;
+using ::testing::IsNull;
+using ::testing::NotNull;
+using ::testing::Pointee;
+using ::testing::SizeIs;
+
+namespace aapt {
+
+class FlaggedXmlVersionerTest : public ::testing::Test {
+ public:
+  void SetUp() override {
+    context_ = test::ContextBuilder()
+                   .SetCompilationPackage("com.app")
+                   .SetPackageId(0x7f)
+                   .SetPackageType(PackageType::kApp)
+                   .Build();
+  }
+
+ protected:
+  std::unique_ptr<IAaptContext> context_;
+};
+
+static void PrintDocToString(xml::XmlResource* doc, std::string* out) {
+  io::StringOutputStream stream(out, 1024u);
+  text::Printer printer(&stream);
+  Debug::DumpXml(*doc, &printer);
+  stream.Flush();
+}
+
+TEST_F(FlaggedXmlVersionerTest, NoFlagReturnsOriginal) {
+  auto doc = test::BuildXmlDomForPackageName(context_.get(), R"(
+      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">
+        <TextView />
+        <TextView />
+        <TextView />
+      </LinearLayout>)");
+  doc->file.config.sdkVersion = SDK_GINGERBREAD;
+
+  FlaggedXmlVersioner versioner;
+  auto results = versioner.Process(context_.get(), doc.get());
+  EXPECT_THAT(results.size(), Eq(1));
+  EXPECT_THAT(results[0]->file.config.sdkVersion, Eq(SDK_GINGERBREAD));
+
+  std::string expected;
+  PrintDocToString(doc.get(), &expected);
+  std::string actual;
+  PrintDocToString(results[0].get(), &actual);
+
+  EXPECT_THAT(actual, Eq(expected));
+}
+
+TEST_F(FlaggedXmlVersionerTest, AlreadyBaklavaReturnsOriginal) {
+  auto doc = test::BuildXmlDomForPackageName(context_.get(), R"(
+      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">
+        <TextView android:featureFlag="package.flag" />
+        <TextView />
+        <TextView />
+      </LinearLayout>)");
+  doc->file.config.sdkVersion = SDK_BAKLAVA;
+
+  FlaggedXmlVersioner versioner;
+  auto results = versioner.Process(context_.get(), doc.get());
+  EXPECT_THAT(results.size(), Eq(1));
+  EXPECT_THAT(results[0]->file.config.sdkVersion, Eq(SDK_BAKLAVA));
+
+  std::string expected;
+  PrintDocToString(doc.get(), &expected);
+  std::string actual;
+  PrintDocToString(results[0].get(), &actual);
+
+  EXPECT_THAT(actual, Eq(expected));
+}
+
+TEST_F(FlaggedXmlVersionerTest, PreBaklavaGetsSplit) {
+  auto doc = test::BuildXmlDomForPackageName(context_.get(), R"(
+      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">
+        <TextView android:featureFlag="package.flag" /><TextView /><TextView />
+      </LinearLayout>)");
+  doc->file.config.sdkVersion = SDK_GINGERBREAD;
+
+  FlaggedXmlVersioner versioner;
+  auto results = versioner.Process(context_.get(), doc.get());
+  EXPECT_THAT(results.size(), Eq(2));
+  EXPECT_THAT(results[0]->file.config.sdkVersion, Eq(SDK_GINGERBREAD));
+  EXPECT_THAT(results[1]->file.config.sdkVersion, Eq(SDK_BAKLAVA));
+
+  auto gingerbread_doc = test::BuildXmlDomForPackageName(context_.get(), R"(
+      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">
+        <TextView /><TextView />
+      </LinearLayout>)");
+
+  std::string expected0;
+  PrintDocToString(gingerbread_doc.get(), &expected0);
+  std::string actual0;
+  PrintDocToString(results[0].get(), &actual0);
+  EXPECT_THAT(actual0, Eq(expected0));
+
+  std::string expected1;
+  PrintDocToString(doc.get(), &expected1);
+  std::string actual1;
+  PrintDocToString(results[1].get(), &actual1);
+  EXPECT_THAT(actual1, Eq(expected1));
+}
+
+TEST_F(FlaggedXmlVersionerTest, NoVersionGetsSplit) {
+  auto doc = test::BuildXmlDomForPackageName(context_.get(), R"(
+      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">
+        <TextView android:featureFlag="package.flag" /><TextView /><TextView />
+      </LinearLayout>)");
+
+  FlaggedXmlVersioner versioner;
+  auto results = versioner.Process(context_.get(), doc.get());
+  EXPECT_THAT(results.size(), Eq(2));
+  EXPECT_THAT(results[0]->file.config.sdkVersion, Eq(0));
+  EXPECT_THAT(results[1]->file.config.sdkVersion, Eq(SDK_BAKLAVA));
+
+  auto gingerbread_doc = test::BuildXmlDomForPackageName(context_.get(), R"(
+      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">
+        <TextView /><TextView />
+      </LinearLayout>)");
+
+  std::string expected0;
+  PrintDocToString(gingerbread_doc.get(), &expected0);
+  std::string actual0;
+  PrintDocToString(results[0].get(), &actual0);
+  EXPECT_THAT(actual0, Eq(expected0));
+
+  std::string expected1;
+  PrintDocToString(doc.get(), &expected1);
+  std::string actual1;
+  PrintDocToString(results[1].get(), &actual1);
+  EXPECT_THAT(actual1, Eq(expected1));
+}
+
+TEST_F(FlaggedXmlVersionerTest, NegatedFlagAttributeRemoved) {
+  auto doc = test::BuildXmlDomForPackageName(context_.get(), R"(
+      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">
+        <TextView android:featureFlag="!package.flag" /><TextView /><TextView />
+      </LinearLayout>)");
+  doc->file.config.sdkVersion = SDK_GINGERBREAD;
+
+  FlaggedXmlVersioner versioner;
+  auto results = versioner.Process(context_.get(), doc.get());
+  EXPECT_THAT(results.size(), Eq(2));
+  EXPECT_THAT(results[0]->file.config.sdkVersion, Eq(SDK_GINGERBREAD));
+  EXPECT_THAT(results[1]->file.config.sdkVersion, Eq(SDK_BAKLAVA));
+
+  auto gingerbread_doc = test::BuildXmlDomForPackageName(context_.get(), R"(
+      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">
+        <TextView /><TextView /><TextView />
+      </LinearLayout>)");
+
+  std::string expected0;
+  PrintDocToString(gingerbread_doc.get(), &expected0);
+  std::string actual0;
+  PrintDocToString(results[0].get(), &actual0);
+  EXPECT_THAT(actual0, Eq(expected0));
+
+  std::string expected1;
+  PrintDocToString(doc.get(), &expected1);
+  std::string actual1;
+  PrintDocToString(results[1].get(), &actual1);
+  EXPECT_THAT(actual1, Eq(expected1));
+}
+
+TEST_F(FlaggedXmlVersionerTest, NegatedFlagAttributeRemovedNoSpecifiedVersion) {
+  auto doc = test::BuildXmlDomForPackageName(context_.get(), R"(
+      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">
+        <TextView android:featureFlag="!package.flag" /><TextView /><TextView />
+      </LinearLayout>)");
+
+  FlaggedXmlVersioner versioner;
+  auto results = versioner.Process(context_.get(), doc.get());
+  EXPECT_THAT(results.size(), Eq(2));
+  EXPECT_THAT(results[0]->file.config.sdkVersion, Eq(0));
+  EXPECT_THAT(results[1]->file.config.sdkVersion, Eq(SDK_BAKLAVA));
+
+  auto gingerbread_doc = test::BuildXmlDomForPackageName(context_.get(), R"(
+      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">
+        <TextView /><TextView /><TextView />
+      </LinearLayout>)");
+
+  std::string expected0;
+  PrintDocToString(gingerbread_doc.get(), &expected0);
+  std::string actual0;
+  PrintDocToString(results[0].get(), &actual0);
+  EXPECT_THAT(actual0, Eq(expected0));
+
+  std::string expected1;
+  PrintDocToString(doc.get(), &expected1);
+  std::string actual1;
+  PrintDocToString(results[1].get(), &actual1);
+  EXPECT_THAT(actual1, Eq(expected1));
+}
+
+}  // namespace aapt
\ No newline at end of file
diff --git a/tools/aapt2/xml/XmlUtil.h b/tools/aapt2/xml/XmlUtil.h
index ad676ca..789f6a0 100644
--- a/tools/aapt2/xml/XmlUtil.h
+++ b/tools/aapt2/xml/XmlUtil.h
@@ -30,6 +30,7 @@
 constexpr const char* kSchemaAndroid = "http://schemas.android.com/apk/res/android";
 constexpr const char* kSchemaTools = "http://schemas.android.com/tools";
 constexpr const char* kSchemaAapt = "http://schemas.android.com/aapt";
+constexpr const char* kAttrFeatureFlag = "featureFlag";
 
 // Result of extracting a package name from a namespace URI declaration.
 struct ExtractedPackage {
diff --git a/tools/hiddenapi/OWNERS b/tools/hiddenapi/OWNERS
index dc82aac..d1e36b9 100644
--- a/tools/hiddenapi/OWNERS
+++ b/tools/hiddenapi/OWNERS
@@ -1,6 +1,5 @@
 # compat-team@ for changes to hiddenapi files
 mathewi@google.com
-satayev@google.com
 
 # soong-team@ as the files these tools protect are tightly coupled with Soong
 file:platform/build/soong:/OWNERS
diff --git a/tools/lint/OWNERS b/tools/lint/OWNERS
index 8e4569e..4035e19 100644
--- a/tools/lint/OWNERS
+++ b/tools/lint/OWNERS
@@ -1,6 +1,5 @@
 mattgilbride@google.com
 azharaa@google.com
-jsharkey@google.com
 
 per-file *CallingSettingsNonUserGetterMethods* = file:/packages/SettingsProvider/OWNERS
 per-file *RegisterReceiverFlagDetector* = jacobhobbie@google.com
diff --git a/tools/processors/view_inspector/OWNERS b/tools/processors/view_inspector/OWNERS
index 0473f54..38d21e1 100644
--- a/tools/processors/view_inspector/OWNERS
+++ b/tools/processors/view_inspector/OWNERS
@@ -1,3 +1,2 @@
 alanv@google.com
-ashleyrose@google.com
-aurimas@google.com
\ No newline at end of file
+aurimas@google.com
diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/OWNERS b/wifi/java/src/android/net/wifi/sharedconnectivity/OWNERS
index 2a4acc1..abb9aa4 100644
--- a/wifi/java/src/android/net/wifi/sharedconnectivity/OWNERS
+++ b/wifi/java/src/android/net/wifi/sharedconnectivity/OWNERS
@@ -1,4 +1,3 @@
 # Bug component: 1216021
 
 asapperstein@google.com
-etancohen@google.com
